Software Testing Module4
Software Testing Module4
Topics
Scope Deciding Feature to be Tested/ Not Tested
Manageme
nt, Matrix
Test Test Infrastructure Management, Test People Management, Integrating with Product
Manageme Release
nt
Test Base Lining a Test Plan, Test Case Specification, Update of Traceability;
Process
Test Preparing a Test Plan, Setting Up Criteria for Testing, Deciding Test Approach,
Planning, Identifying Responsibilities,
Test Executing Test Cases, Preparing Test Summary Report.
Reporting
TEST PLANNING
1.Preparing a Test Plan
While Preparing a Test plan, it should acts as execution, tracking and reporting of the entire testing
project and it should cover
• The Scope of Testing,
• How the testing is going to be performed,(Methodology)
• What Resources are needed for testing,(Requirement)
• The TimeLine(schedule)
• Risk factor
2.Scope Management
Scope Management pertains to specifying the scope of a project. For testing, Scope Management
entails,
1. Understanding what constitutes a release of a product;
2. Breaking down the release into features;
3. Prioritizing the features for testing;
4. Deciding which feature will be tested and which will not be;
5. Gathering details to prepare foe estimation of resources for testing.
The following factors drive the choice and prioritization of features to be tested.
• Feature that are new and critical for the release
• Feature whose failures can be catastrophic
• Feature that are expected to be complex to test
• Features which are extensions of earlier features that have been defect prone
7.Test Deliverables
The deliverables include the following,
1. The test plan
2. Test case Specification
3. Test design specification documents
4. Testing Strategy
5. Testing Scripts/ procedures
6. Test data
7. Test Incident report
8. Test Traceability matrix
9. Test results/Reports
10. Install/Configuration guides
11. Test logs produced
12. Defect Report
13. Test summary report
14. Release Report
8.Testing Tasks(Size and Effort Estimation)
Test Management
Traditional tools used for Test management are:
• Pen and Paper
• Word Processors
• Spreadsheets
Internal Standard include,
• Simplified Communication
• Promotes consistency and uniformity
• Eliminates the need to invent another solution
• Continuity
• Presents a way of preserving proven practices
• Bench marks and framework
1. Naming and storage conventions for test artifacts;
2. Document standards;
3. Test coding standards;
4. Test reporting standards
External Standard include:
• Customer standard
• National Standard
• International Standard
Some IEEE standards devoted for softwares :
By Different Organizations are:
✓ ISO - International Organization for Standardization
✓ SPICE - Software Process Improvement and Capability Determination
✓ NIST - National Institute of Standards and Technology
✓ DoD - Department of Defense
2. A defect repository:
• Captures all the relevant details of defects reported for a product
• An important vehicle of communication that influences the work flow within a software
organization.
• Provides the base data in arriving at several of the metrics, testing defect metrics, development
defect metrics as a part of defect repository.
3. Configuration management:
• Collection of software elements that comprises a major business function.
• Concerned with labeling, tracking and controlling changes in the software elements of
system.
• To identify all the interrelated components of software and to control their evolution
throughout the various life cycles.
• That can be applied to activities like software development, document control, problem
tracking, change control and maintenance.
• Also known as Software Configuration Management repository.
A defect repository captures all the relevant details of defects reported for a product. The
information that a defect repository includes is given in Table.
TCDB, defect repository and SCM repository should complement each other and work together
in an integrated fashion.
Test People Management
The success of a product depends on the effectiveness of integration of the development and
testing activities. The schedules of testing have to be linked directly to product release. The
following are some of the points to be decided for this planning-
1. Sync point between development and testing as to when different types of testing can
commence.
2. Service level agreement/management between development and testing as to how long
it would take for the testing team to complete the testing.
3. Consistent definitions of the various priorities and severities of the defects.
4. Communication mechanisms to the documentation group to ensure that the
documentation is kept in sync with the product in terms of known defects, workarounds.
Test Process:
Fundamental test process is divided into following steps:
1.Base Lining a Test Plan
A test combines all the points into a single document that acts as an anchor point for the entire
testing project.
✓ An organization normally arrives at a template that is to be used across the board. Each
testing project puts together a test plan based on the template.
✓ The test plan is reviewed by a designated set of component people in the organization.
✓ After this, the test plan is baselined into the configuration management repository.
✓ From then on, the baselined test plan becomes the basis for running the testing project.
✓ In addition, periodically, any changes needed to the test plan templates are discussed
among the different stake holders and this is kept current and applicable to the testing
teams.
Using the test plan as the basis, the testing team designs test case specification, which then becomes
the basis for preparing individual test cases. Hence, a test case specification should clearly identify,
1. The purpose of the test: This lists what features or part the test is intended for.
2. Items being tested, along with their version/release numbers as appropriate.
3. Environment that needs to be set up for running the test cases: This includes the
hardware environment setup, supporting software environment setup, setup of the product
under test.
4. Input data to be used for the test case: The choice of input data will be dependent on the
test case itself and the technique followed in the test case.
5. Steps to be followed to execute the test: If automated testing is used, then, these steps ate
translated to the scripting language of the tool.
6. The expected results that are considered to be “correct result”.
7. A step to compare the actual result produced with the expected result: This step should
do an “intelligent” comparison of the expected and actual results to highlight any
discrepancies.
8. Any relationship between this test and other test: These can be in the form of
dependencies among the tests or the possibilities of reuse across the tests.
3. Update of Traceability
Black Box Testing, a requirements traceability matrix ensures that the requirements make it
through the subsequent life cycle phases and do not get orphaned mid-course.
• The traceability matrix is a tool to validate that every requirement is tested.
The traceability matrix is created during the requirement gathering phase itself by filling up
the unique identifier for each requirement.
• This ensures that there is a two-way mapping between requirements and test cases.
The prepared test cases have to be executed at the appropriate times during a project. As the test
cases are executed during a test cycle, the defect repository is updated with,
1. Defect from the earlier test cycles that are fixed in the current build;
2. New defect that get uncovered in the current run of the tests.
3. Follow test procedure to execute test suite and test cases.
4. Confirm test, re-test, re-execute to fix.
5. Log the result of test execution, status of test pass and fail.
6. Comparison of actual results with expected results.
7. Defect occurrences and differences should be updated in report
8. Decide suspension and resumption of further test cases also update traceability metrics
During test design and execution, the traceability matrix should be kept current. As and when tests
get designed and executed successfully, the traceability matrix should be updated.
• Based on the test summary report, an organization can take a decision on whether to release the
product or not.
• Ideally, an organization would like to release a product with zero defects.
• However, market pressures may cause the product to be released with the defects provided that
the senior management is convinced that there is no major risk of customer dissatisfaction.
• Such a decision should be taken by the senior manager after consultation with customer support
team, development team, and testing team.