Unit 2:chapter 2: Software Testing Strategies
Unit 2:chapter 2: Software Testing Strategies
Software Testing
Strategies
Syllabus
► Software Testing Strategies: Strategic Approach
to Software Testing ,Unit Testing , Integration
Testing , Validation Testing ,System Testing.
► Software Metrics : Concept and Developing
Metrics , Different Types of Metrics , Complexity
metrics.
► Defect Management : Definition of Defects ,
Defect management Process, Defect Reporting ,
Metrics Related to Defects , Using Defects for
Process Improvement
Software Testing Strategies
Software Testing
► Testing is the process of exercising a program with the
specific intent if finding errors prior to delivery to the end
user.
► Errors prior to delivery to the end user.
► Errors
► Requirements conformance
► Performance
► An indication of quality
Software Testing Strategies
► Unit Test
► Integration Test
► System Test
► Validation Test
• Unit testing is a software development process in which
the smallest testable parts of an application, called units,
are individually and independently scrutinized for proper
operation.
•Unit Tests, when integrated with build gives the quality of the build as
well.
A unit is smallest testable piece of
software :
•Can be compiled, linked, loaded
•E.g functions/procedures, classes,
interfaces
•Normally done by programmer
•Test cases written after coding
Integration testing is the process of testing the interface
between two software units or module.
All the modules/components are integrated in order to verify if the system works as
expected or not.
System Testing is done after Integration Testing. This plays an important role in
delivering a high-quality product.
In System testing, the functionalities of the system are tested from an end-to-end
perspective.
The goal of integration testing is to detect any irregularity between the units that are
integrated together.
System testing detects defects within both the integrated units and the whole system.
The result of system testing is the observed behavior of a component or a system when it
is tested.
System Testing Process:
System Testing is performed in the following steps:
•Regression Testing:
It is carried out to test the side effects of the testing
process.
•Log Defects:
Defects are fixed in this step.
•Retest:
If the test is not successful then again test is performed.
Acceptance Testing:
Evaluation: It helps in capturing the needed data. It also verifies the validity of
the captured data and calculates the metric value.
► Deliverable Baseline
► Defect Discovery
1. Find a defect
2. Report Defect
3. Acknowledge defect
► Defect Resolution
► Process Improvement
Defect Reporting
Defect life cycle
1. New
2. Open
3. Fixed
4. Retest
5. Open
6. Closed
Defect Report
► Defect report communicates the issue to the
development team.
► When a defect is first reported it need not always be
valid defect,it can be a misunderstanding of
requirement by the tester or a change request which
is not documented.
► A good defect report should :
1. Include all steps to reproduce the issue
2. Well written in detail
3. Enable the development team to take decision on
which defect and when to fix
following fields are included in the defect report
template:
1. Summary
2. Description
3. Product Name
4. Release Version
5. steps to Replicated
6. Actual Result
7. Expected Results
8. Attachment
9. Defect Severity
10. Defect priority
11. Reported By
Software Testing Metrics
Types of Defect Metrics
► Base Metrics: The base metrics constitute of the raw data gathered by the test
engineers through the testing effort
It is used to provide project status and evaluations/feedback
► Calculated Metrics : Calculated metrics convert base metric data into more useful
information.
► 1) Percentage of test executed (test coverage)
► = (no of test executed/total no of written) *100
► 2) Percentage of test not executed
► =(no of test not executed/total no of test written ) *100
► 3) Percentage of test pass
► =(No of test pass/total no of test written)*100
► 4) Percentage of test Failed
► =(no of test failed executed/ total no of test written)*100
► 5) Test blocked
► (No of test blocked/total no of test)*100
► 6)defect density(DD) : It defines the number of defect found in a module of
software
► =No of defect/size of the module (number of line of code)
► Ex:20/1000 =0.02
► 7)Defect Removal Efficiency(DRE)
► =(No of defects resolved/total no of defects found)*100
► 8)Defect leakage(DL)
► Total no of defects found by user/total no of defect found by the QA team)*100
► 9)Defect rejection Ratio(DRR)
► =no of invalid defects/no of total defects
Using Defect for Process Management
► When the testing team executes the test cases, they come across a situation
where the actual test result is different from the expected result.
► This variation is termed as Defect.
► Defect must be identified as early as possible in the life cycle of a project so
that the cost of fixing the bug reduces. Without a doubt, the best approach
to defect is to eliminate them altogether.