Software Testing�a Innovative Perception
Dr.Somnath Thigale
Head & Associate Professor - CSE Dept.
Innovation Ambassador
Chapter No. 4
Test Management
Test Plan:
Steps for preparing a test plan
TEST PLAN TYPES
TEST PLAN GUIDELINES
TEST PLAN TEMPLATE
Provide an overview of the test plan.
Specify the goals/objectives.
Specify any constraints.
List the related documents, with links to them if available, including the following:
List the test items (software/products) and their versions.
List test deliverables, and links to them if available, including the following:
Provide a summary of test estimates (cost or effort) and/or provide a link to the detailed estimation.
Provide a summary of the schedule, specifying key test milestones, and/or provide a link to the detailed schedule.
List the responsibilities of each team/role/individual.
Risk Management During Test Planning
The risk management process occurs twice, during:
As it is said, the first step to solving a problem is identifying it. This stage involves making a list of everything that might potentially come up and disrupt the normal flow of events.
High – medium – low, values are assigned to both the probability and impact of each risk. The risks with “high” probability and “High” impact are taken care of first and then the order follows.
The final step in this Risk Based Testing (RBT) process is to find solutions to plan how to handle each one of these situations. These plans can differ from company to company, project to project and even person to person.
Deciding test approach
1. Scope Management: Deciding what features to be tested and not to be tested.
2. Deciding Test approach /strategy: Which type of testing shall be done like configuration, integration, localization etc.
3. Setting up criteria for testing: There must be clear entry and exit criteria for different phases of testing. The test strategies for the various features and combinations determined how these features and combinations would be tested.
4. Identifying responsibilities, staffing and training needs
5. Identifying resource requirements
6. Identifying test deliverables
7. Testing tasks: size and effort estimation
Setting up criteria for testing
Identifying Responsibilities
Various hardware and software required / recommended by project manager
1. At the most basic level, project management products will help your organization to manage projects from start to finish, and allow employees at different levels to have an input into the process.
2. Project management software has been around for a number of years now and as a result, it does far more than just manage the projects themselves.
3. Project applications can also carry out scheduling, cost control and budget management, resource allocation, collaboration, communication, quality management and documentation or administration.
4. The aim with these is to handle all aspects and complexities of larger projects and help keep costs down.
Test Deliverables and Milestones
Test Management
Test Infrastructure
The top, or project level, test plan, the process of creating it is more important than the resulting document. The next three levels, the test design specification, the test case specification, and the test procedure specification are described in detail in the following sections.
As you can see in Figure, moving further away from the top-level test plan puts less emphasis on the process of creation and more on the resulting written document. The reason is that these plans become useful on a daily, sometimes hourly, basis by the testers performing the testing. At the lowest level they become step-by-step instructions for executing a test, making it key that they‘re clear, concise, and organized how they got that way isn‘t nearly as important.
This standard is what many testing teams have adopted as their test planning documentation intentional or not—because it represents a logical and common-sense method for test planning.
The important thing to realize about this standard is that unless tester is bound to follow it to the letter because of the type of software he is testing or by your corporate or industry policy, tester should use it as a guideline and not a standard.
Test Design
The overall project test plan is written at a very high level. It breaks out the software into specific features and testable items and assigns them to individual testers, but it doesn‘t specify exactly how those features will be tested. There may be a general mention of using automation or black- box or white-box testing, but the test plan doesn‘t get into the details of exactly where and how they will be used. This next level of detail that defines the testing approach for individual software features is the test design specification.
Test Cases
Dissecting a specification, code, and software to derive the minimal amount of test cases that would effectively test the software. The test case specification ―documents the actual values used for input along with the anticipated outputs. A test case also identifies any constraints on the test
procedure resulting from use of that specific test case.‖ Essentially, the details of a test case should explain exactly what values or conditions will be sent to the software and what result is expected.
It can be referenced by one or more test design specs and may reference more than one test procedure. The ANSI/IEEE 829 standard also lists some other important information that should be included:
• Identifiers.
• Test item.
• Input specification.
• Output specification.
• Environmental needs.
• Special procedural requirements.
• Intercase dependencies.
Test Procedures
After tester documents the test designs and test cases, what remains are the procedures that need to be followed to execute the test cases. The test procedure specification ―identifies all the steps required to operate the system and exercise the specified test cases in order to implement the associated test design. The test procedure or test script spec defines the step-by-step details of exactly how to perform the test cases. Here‘s the information that needs to be defined:
• Identifier. A unique identifier that ties the test procedure to the associated test cases and test design.
• Purpose. The purpose of the procedure and reference to the test cases that it will exe-cute.
• Special requirements. Other procedures, special testing skills, or special equipment needed to run the procedure.
• Procedure steps. Detailed description of how the tests are to be run:
• Log. Tells how and by what method the results and observations will be recorded.
• Setup. Explains how to prepare for the test.
• Start. Explains the steps used to start the test.
• Procedure. Describes the steps used to run the tests.
• Measure. Describes how the results are to be determined for example, with a stopwatch or visual determination.
• Shut down. Explains the steps for suspending the test for unexpected reasons.
• Restart. Tells the tester how to pick up the test at a certain point if there‘s a failure or after shutting down.
• Stop. Describes the steps for an orderly halt to the test.
• Wrap up. Explains how to restore the environment to its pre-test condition.
• Contingencies. Explains what to do if things don‘t go as planned.
Test Process in Software Testing�
1) Planning and Control
Test Planning : Test planning involves producing a document that describes an overall approach and test objectives. It involves reviewing the test basis, identifying the test conditions based on analysis of test items, writing test cases and Designing the test environment. Completion or exit criteria must be specified so that we know when testing (at any stage) is complete.
Purpose
To determine the scope and risks and identify the objectives of testing.
To determine the required test resources like people, test environments etc.
To schedule test analysis and design tasks, test implementation, execution and evaluation.
Control�This is the activity of comparing actual progress against the plan, and reporting the status, including deviations from the plan. It involves taking actions necessary to meet the mission and objectives of the project.
2) Analysis and Design
Test analysis and Test Design has the following major tasks:
3) Implementation and Execution
Test execution involves actually running the specified test on a computer system either manually or by using an automated test tool. It is a Fundamental Test Process in which actual work is done.
Test implementation has the following major task:
4) Evaluating Exit criteria and Reporting
Evaluating exit criteria is a process defining when to stop testing. It depends on coverage of code, functionality or risk. Basically it also depends on business risk, cost and time and vary from project to project. Exit criteria come into picture, when:
Evaluating exit criteria has the following major tasks:
5) Test Closure activities:
Test closure activities are done when software is ready to be delivered. The testing can be closed for the other reasons also like:
Test closure activities have the following major tasks:
Test Case Specification
The test case specifications should be developed from the test plan and are the second phase of the test development life cycle. The test specification should explain "how" to implement the test cases described in the test plan. Test case specifications are useful as it
enlists the specification details of the items.
Test Specification Items are must for each test specification should contain the following items:
1. Case No.: The test case number should be a three digit identifier of the following form:c.s.t, where: c- is the chapter number, s- is the section number, and t- is the test case number.
2. Title: is the title of the test.
3. Programme: is the program name containing the test.
4. Author: is the person who wrote the test specification.
5. Date: is the date of the last revision to the test case.
6. Background: (Objectives, Assumptions, References, Success Criteria): Describes in
words how to conduct the test.
7. Expected Error(s): Describes any errors expected
8. Reference(s): Lists reference documentation used to design the specification.
9. Data: (Tx Data, Predicted Rx Data): Describes the data flows between the Implementation
under Test (IUT) and the test engine.
10. Script: (Pseudo Code for Coding Tests): Pseudo code (or real code) used to conduct the
test.
Test Summary Report
Test reporting is a means of achieving communication through the testing cycle. There are 3 types of test reporting.
1. Test incident report:
A test incident report is communication that happens through the testing cycle as and when defects are encountered .A test incident report is an entry made in the defect repository each defect has a unique id to identify incident .The high impact test incident are highlighted in the test summary report.
2. Test cycle report:
A test cycle entails planning and running certain test in cycle, each cycle using a different build of the product .As the product progresses through the various cycles it is expected to stabilize.
Test cycle report gives
3. Test summary report:
The final step in a test cycle is to recommend the suitability of a product for release. A report that summarizes the result of a test cycle is the test summary report.
There are two types of test summary report:
Phase wise test summary, which is produced at the end of every phase Final test summary report. A Summary report should present Test Summary report Identifier Description
Identify the test items being reported in this report with test id
1). Variances: Mention any deviation from test plans, test procedures, if any.
2). Summary of results: All the results are mentioned here with the resolved incidents and their solutions.
3). Comprehensive assessment and recommendation for release should include Fit for release assessment and recommendation of release
Test Reporting
Test reporting is a means of achieving communication through the testing cycle. There are 3 types of test reporting.
1. Test incident report:
A test incident report is communication that happens through the testing cycle as and when defects are encountered .A test incident report is an entry made in the defect repository each defect has a unique id to identify incident .The high impact test incident are highlighted in the test summary report.
2. Test cycle report:
A test cycle entails planning and running certain test in cycle , each cycle using a different build of the product .As the product progresses through the various cycles it is expected to stabilize.
Test cycle report gives
1. A summary of the activities carried out during that cycle.
2. Defects that are uncovered during that cycle based on severity and impact
3. Progress from the previous cycle to the current cycle in terms of defect fixed
4. Outstanding defects that not yet to be fixed in cycle
5. Any variation observed in effort or schedule
3 Test summary report:
The final step in a test cycle is to recommend the suitability of a product for release. A report that summarizes the result of a test cycle is the test summary report.
There are two types of test summary report:
1.Phase wise test summary ,which is produced at the end of every phase
2. Final test summary report .
A Summary report should present
1. Test Summary report Identifier
2 Description:- Identify the test items being reported in this report with test id
3 Variances:- Mention any deviation from test plans, test procedures, if any.
4 Summary of results:- All the results are mentioned here with the resolved incidents and their solutions.
5 Comprehensive assessment and recommendation for release should include
Fit for release assessment and recommendation of release