Presentation On TESTING
Download
TESTING Presentation Transcript:
1.INTODUCTION TO TESTING
2.INTRODUCTION
Testing is the processes of executing the program with the intent of finding faults. Who should do this testing and when should it start are very important questions that are answered in the text.
As we know that software testing is the fourth phase of Software Development Life Cycle (SDLC). About 70% of development time is spent on testing. We explore this and many other interesting concepts in this chapter.
3.TESTING PROCESS
Please note that testing starts from requirements analysis phase only and goes till the last maintenance phase.
Static Testing wherein the SRS is tested to check whether it is as per user requirements or not.
Dynamic Testing starts when the code is ready or even a unit (or module) is ready.
4.WHAT IS SOFTWARE TESTING?
The concept of software testing has evolved from simple program “check-out” to a broad set of activities that cover the entire software life-cycle.
There are five distinct levels of testing that are given below:
Debug: It is defined as the successful correction of a failure.
Demonstrate: The process of showing that major features work with typical input.
Verify: The process of finding as many faults in the application under test(AUT) as possible.
Validate: The process of finding as many faults in requirements, design and AUT.
Prevent: To avoid errors in development of requirements, design and implementation by self-checking techniques, including “test before design”.
5.SOFTWARE VERIFICATION
It is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
It is the process of evaluating, reviewing, inspecting and doing desk checks of work products such as requirement specifications, design specifications and code.
It is human testing activity as it involves looking at the documents on paper.
6.SOFTWARE VALIDATION
“It is the process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements. It involves executing the actual software. It is a computer based testing process.”
7.WHO SHOULD DO TESTING?
Testing starts right from the very beginning.
This implies that testing is everyone’s responsibility.
It is a Team Effort.
Even Developers are responsible.
They build the code but do not indicate any errors as they have written their own code.
8.WHAT SHOULD WE TEST?
Consider that there is a while loop that has three paths. If this loop is executed twice, we have (3*3) paths and so on. So, the total number of paths through such a code will be:
= 1+3+(3*3)+(3*3*3)+….= 1+?3n
This means an infinite number of test cases. Thus, testing is not 100% exhaustive.
9.SELECTION OF GOOD TEST CASES
According to Brian Marick, ”A test idea is a brief statement of something that should be tested.”
Cem Kaner said-”The best cases are the one that find bugs.”
A test case is a question that you ask of the program. The point of running the test is to gain information like whether the program will pass or fail the test.
10.WHEN TO STOP TESTING?
The pessimistic approach to stop testing is whenever some or any of the allocated resources- time, budget or test cases are exhausted.
The optimistic stopping rule is to stop testing when either reliability meets the requirement, or the benefit from continuing testing cannot justify the testing cost.
Download
TESTING Presentation Transcript:
1.INTODUCTION TO TESTING
2.INTRODUCTION
Testing is the processes of executing the program with the intent of finding faults. Who should do this testing and when should it start are very important questions that are answered in the text.
As we know that software testing is the fourth phase of Software Development Life Cycle (SDLC). About 70% of development time is spent on testing. We explore this and many other interesting concepts in this chapter.
3.TESTING PROCESS
Please note that testing starts from requirements analysis phase only and goes till the last maintenance phase.
Static Testing wherein the SRS is tested to check whether it is as per user requirements or not.
Dynamic Testing starts when the code is ready or even a unit (or module) is ready.
4.WHAT IS SOFTWARE TESTING?
The concept of software testing has evolved from simple program “check-out” to a broad set of activities that cover the entire software life-cycle.
There are five distinct levels of testing that are given below:
Debug: It is defined as the successful correction of a failure.
Demonstrate: The process of showing that major features work with typical input.
Verify: The process of finding as many faults in the application under test(AUT) as possible.
Validate: The process of finding as many faults in requirements, design and AUT.
Prevent: To avoid errors in development of requirements, design and implementation by self-checking techniques, including “test before design”.
5.SOFTWARE VERIFICATION
It is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
It is the process of evaluating, reviewing, inspecting and doing desk checks of work products such as requirement specifications, design specifications and code.
It is human testing activity as it involves looking at the documents on paper.
6.SOFTWARE VALIDATION
“It is the process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements. It involves executing the actual software. It is a computer based testing process.”
7.WHO SHOULD DO TESTING?
Testing starts right from the very beginning.
This implies that testing is everyone’s responsibility.
It is a Team Effort.
Even Developers are responsible.
They build the code but do not indicate any errors as they have written their own code.
8.WHAT SHOULD WE TEST?
Consider that there is a while loop that has three paths. If this loop is executed twice, we have (3*3) paths and so on. So, the total number of paths through such a code will be:
= 1+3+(3*3)+(3*3*3)+….= 1+?3n
This means an infinite number of test cases. Thus, testing is not 100% exhaustive.
9.SELECTION OF GOOD TEST CASES
According to Brian Marick, ”A test idea is a brief statement of something that should be tested.”
Cem Kaner said-”The best cases are the one that find bugs.”
A test case is a question that you ask of the program. The point of running the test is to gain information like whether the program will pass or fail the test.
10.WHEN TO STOP TESTING?
The pessimistic approach to stop testing is whenever some or any of the allocated resources- time, budget or test cases are exhausted.
The optimistic stopping rule is to stop testing when either reliability meets the requirement, or the benefit from continuing testing cannot justify the testing cost.