Testing Unit 4
Testing Unit 4
Testing Unit 4
Debugging
Testing techniques
Exploratory Testing
We develop software in parts / units and every unit is expected to have a defined
functionality.
We may call it a component, module, procedure, function, etc., which will have a purpose
The additional source code to handle the activities of a calling unit is called ‘driver’ and the
additional source code to handle the activities of a called units is called ‘stub’.
The complete additional source code which is written for the design of stub and driver is
called scaffolding.
Integration Testing
We combine two or more units because they share some relationship.
This relationship is represented by an interface and is known as coupling. The coupling is the measure
Two units with low coupling are weakly connected and thus have low dependency on each other.
System Testing
We test complete software along with its expected environment.
This is the only phase of testing which tests both functional and non-functional
leader.
We also review all associated documents and manuals of the software.
Acceptance Testing
The testing done for the purpose of accepting a product is known as acceptance
testing.
This may be carried out by the customer(s) or persons authorized by the
customer(s).
The venue may be the developer’s site or the customer’s site depending on
mutual agreement.
Acceptance testing is carried out only when the software is developed for a
It starts after receiving a failure report and completes after ensuring that all corrections
have been rightly placed and the software does not fail with the same set of input(s).
Symptom may appear in one part of program, while the cause may actually be located in
other part.
Symptom may also disappear temporarily when another error is corrected.
There may be many reasons which may make the debugging process difficult and time
consuming.
However, psychological reasons are more prevalent over technical reasons.
Debugging Process
Backtracking
Brute Force
Cause Elimination
Debugging Tools
We may need a tool that may execute every statement of a program at a time and defined
We may apply a wide variety of tools like run time debugger, automatic debugger,
thorough understanding.
Software Test Plan
The test plan document may force us to maintain a certain level of standards.
The most popular document is the IEEE standard for Software Test Documentation (Std
829 – 1998).
This document addresses the scope, schedule, milestones and purpose of various testing
activities.
It also specifies the items and features to be tested and features which are not to be
tested.
Pass/fail criteria, roles and responsibilities of persons involved, associated risks and
e) Code inspectors
Exploratory Testing
It is a type of testing in which the tester is free to select any possible methodology to test the software.
It checks the functionality and operations of the software as well as identify the functional and
Advantages
Early detection of critical bug.
Needs less preparation.
We can also find those bugs which may have been missed in the test cases.
Test the new features, whereas, for the existing functionality, we will use the regression
testing if we have less time to test the application.
Disadvantages
For the test engineer, this testing requires a lot of concentration to explore the
application.
Time taking process because we don't know the requirements.
The test engineer will misunderstand the feature as a bug.
Bugs can be misunderstood as a feature.
Automated Test Data Generation
Automated test data generation is an activity that generates test data automatically for the
The simplest way is to generate test data randomly, meaning, without considering any
(a) If the crossover operator is selected the following steps are followed:
(i) Parents are selected from the initial population on the basis of their fitness value.
(ii) Crossover is performed to generate offsprings with probably better genes / fitness
value.
(b) Otherwise
Each offspring is mutated by occasional random alteration of a bit value with changes
in some features with unpredictable consequences.
5. Data is prepared for the next generation. If after nth generation, the criteria are satisfied then
testing will be stopped at this point.
Thank You!