Professional Documents
Culture Documents
Chapter - 04
Software Testing Strategies and Methods
The process of executing the programs with the intention to
find out the errors is software testing.
A software engineer must develop or design software which
should be flexible to test.
01. Objectives of software testing
1.Find out the errors and fix them.
2.Good test is able to find out undiscovered errors.
3.To fulfill customers requirement regarding software
product.
4.To enforce standards while developing software product.
5.To support software quality assurance.
6.Check operability, flexibility, reliability of software product.
03. Operability
Ability of getting operated easily
The more is operability, more efficiently s/w can be tested.
It make sure that-
The system will have less number of bugs.
Bugs wont block the execution of test.
04. observability
It is nothing but what you can see is what you can test.
Points observed are:-
Different o/p is generated for each an every I/p.
Check system states and variables and their values.
Each an every factor that affects the o/p is clearly visible.
Wrong o/p and internal errors can be easily find out.
Download From- www.ravibaba18.blogspot.com
2
Unit Testing
Integration Testing
Top-Down Approach
Bottom-up Approach
Regression Testing Smoke Testing
A series of tests is designed to expose errors that will keep the build from performing its
function.
The build is integrated with other build and the entire product is smoke tested daily.
It does not have to be exhaustive, but it should be capable of exposing major problems.
If the build passes ,you can assume that it is stable enough to be tested more completely.
White Box Testing helps to remove the logical errors, logical path related errors.
The types of White Box Testing are:
– Statement testing,
– Condition coverage
– Decision coverage.
In above fig process begins with the execution of a test cases and results are assessed.
It is found that in many cases it is difficult to match the symptom and its causes to fix errors.
The process of debugging can find out the symptom as well as its cause and results into error
correction.
If the cause does not found, may suspect a reason, then try to validate it by designing test cases
thus this work will keep on going in iterative manner.
35. Characteristics of Bugs:
1.Symptom may appear in one part of a program, while the cause may actually be located at a
site that is far away.
2.The symptom may disappear temporarily when another error is corrected.
3.The symptom may actually be caused by nonerrors.
4.The symptom may caused by human errors that is not easily traced.
5.The symptom may be a result of timing problem rather than processing problem.
Reproducing accuracy in input conditions.
Symptom are irregular, situation is common in embedded system that combines s/w and h/w.
The cause of symptom could be number of tasks running on different processors at the same
time.
36. Debugging strategies:
Debugging is straightforward application to find and correct the cause of s/w error by locating
the problem source.
There are 3 debugging strategies:-
Brute force
Backtracking
Cause elimination.
Download From- www.ravibaba18.blogspot.com
18
1. Brute Force:
This category is the most common and least efficient method for isolating the cause of a
software error.
Brute force methods are applied when all else fails.
Using a "let the computer find the error“ philosophy, memory dumps are taken, run-time traces
are invoked, and the program is loaded with WRITE statements.
The information that is produced gives a clue that can lead us to the cause of an error.
Although the mass of information produced may ultimately lead to success, it more frequently
leads to wasted effort and time.
2. Backtracking:
Backtracking:
It is a fairly common debugging strategy that can be used successfully in small programs.
Beginning at the site where a symptom has been uncovered, the source code is traced backward
(manually) until the site of the cause is found.
Unfortunately, as the number of source lines increases, the number of potential backward paths
may become unmanageably large.
3. Cause Elimination:
It is manifested by induction or deduction and introduces the concept of binary partitioning.
Data related to the error occurrence are organized to isolate potential causes.
A "cause hypothesis" is devised and the aforementioned data are used to prove or disprove the
hypothesis.
Alternatively, a list of all possible causes is developed and tests are conducted to eliminate each.
If initial tests indicate that a particular cause hypothesis shows promise, data are refined in an
attempt to isolate the bug.