Test Plan: -
- Planning
- Deciding the features to be tested
- Deciding the approach
- Deciding the criteria
- Identify responsibilities, staffing and training needs
- Resource Requirements
- Test the output
- Testing task
- Activity breakdown
- Scheduling
- Management of communication
- Risk management
Planning: -
- what needs to be tested( what will be tested and what will not be tested).
- how testing is about to be done.
- resources needed for testing.
- test activity time line.
- risk faced.
Deciding the features to be tested: -
- we should decide the phases for testing.
- we can have a single test plan for all phases or separate plan for each phases.
- Master test plan: various testing include unit testing,integration testing, performance testing, acceptance testing, and so on..which can be a part of a single plan or could be for multiple plans. When there are multiple test plans, there must be a single test plan which holds all the test activities common plan.
- Scope Management: specify the scope of the project.
Deciding the features to be tested: -
- we should decide the phases for testing.
- we can have a single test plan for all phases or separate plan for each phases.
- Master test plan: various testing include unit testing,integration testing, performance testing, acceptance testing, and so on..which can be a part of a single plan or could be for multiple plans. When there are multiple test plans, there must be a single test plan which holds all the test activities common plan.
- Scope Management: specify the scope of the project.
*understand what needed for the release of the project.
*break down into features.
*prioritize the features.
*decide the features to be tested.
*prepare an estimation of the resources.
For the best testing we should know the end product qualities that would satisfy the end user. If we know the end user need we could easily do the testing process. During testing we should clearly have a complete picture of the end product, which would help us to decide the scope and priority of testing.The features of the product are identified during the testing. The testing team should get involve early in the planning cycle and understand the features.This would help the testing team should prioritize the features of testing.
Factors that help us to prioritize testing:
1. New features that are critical for the release.
2. Features whose failures are catastrophic
3. Features that are complex for testing.
4. Extension features that are prone earlier.
Deciding the approach: -
1. Decide the type of testing based on the functionality of the product.
2. Decide the scenarios for testing.
3. Decide the integration testing that would ensure the features are working together.
4. Decide the needed localization validation.
5. Decide the needed non functional tests.
This would result in identifying the right type of test for each feature or combination.
Deciding the criteria: -
1. We should have a clear exit and entry point for different phases of testing
2. The test strategies determine how the features and combinations would be tested.
3. Test should be carried out as early as possible. Reducing the last minute pressure.
4. Entry criteria specify the threshold criteria. This specify the entire testing activity to start.
5. Exit criteria specify the test cycle or a testing activity can be deemed complete.
6. Suspension criteria specify when a test cycle can be suspended from the process.
7. Resumption criteria specify when the suspended criteria can be resumed from the suspension.
Typical suspension criteria: -
* Occurrence of more defects cause frequent stoppage testing activity.
* When developers release the new version product they would advise should be used in lieu of the product under test.
* Show stoppers would prevent further progress of testing.
Identifying responsibilities, staffing, and training needs: -
1. Testing requires different roles.
2. They are test engineers, test leads and test managers.
3. There is clear role definition for the modules being tested.
4. The different roles should complement each other.
Role definitions: -
*Each person should know what he or she does in the testing.
*We should list the responsibilities, so that everyone knows how their work fit into the entire project.
*We should complement each other. So that no one overlaps.
*We should supplement each other so that no task is left unassigned.
Role definition should list the management and reporting responsibilities. It includes frequency, format, recipients of status reports and project tracking mechanism. Responding to queries should also be addressed during the planning stage.
Staffing is done aiming on estimation of effort to be involved and the availability of time before the release.
Resource Requirements: -
Project manager should provide estimate for the hardware and software required.
Factors to be considered: -
* Machine configuration needed to run the product under test.
* Overheads required by the test automation tool
* Supporting tools such as compilers, test data generators, configuration management tools and so on.
* The different configuration on of the supporting software.
* Special requirements for running machine intensive tests such as load tests and performance tests.
* Appropriate number of licences of all the software.
* Environmental requirements must be taken into account.
Under estimation of the above can lead to slowing down of the testing process which can lead to delayed release of the product.
Test the output: -
Test plan identifies the deliverable that should come as the output of the testing phase.
The deliverable:-
All reviewed and approved by the appropriate people.
*The test plan itself.
* Test case design specifications.
* Test cases including any automation that is specified the plan.
* Test logs produced by running test
* Test summary reports.
Defect repository gives the status of the defects produced during the product life cycle. Defect repository is kept up to date. This means entering new defects into the repository and are updated periodically. the status of defect are fixed after verification.
Testing task: -
* The scenarios identified till now tells what should be tested.
* The estimation is quantified in the estimation step.
Estimation: -
1. size
2. effort
3. schedule
Size estimation quantifies the actual timing needed for testing.
size of the product under test: -
Determines the amount testing that ought to be done.
When the product is larger, greater is the size of testing which ought to be done.
Measures of the size of the product:-
Lines of code
Functional Point
Number of screens,reports or transaction.
Extent of the Automation:-
The size of testing goes on increasing when there is automation.
Because we need to perform the basic test case design and then script them to the programming language of the test automation tool.
Number of platforms and inter-operability to be tested:-
A particular product must be tested for different platforms.
size estimate can be expressed as- 1. Number of test cases.
2. Number of test scenarios
3. Number of configurations which ought to be tested.
Productivity data: -
denotes the processes being carried out during testing, based on the historic data.
Reuse of test cases developed: -
when we consider the reuse of test cases developed, then the effort needed goes down.
Robustness of the process: -
1. well documented standards for the test cases developed.
2. proven process of performance.
3. Consistent way of training the staff involved.
*understand what needed for the release of the project.
*break down into features.
*prioritize the features.
*decide the features to be tested.
*prepare an estimation of the resources.
For the best testing we should know the end product qualities that would satisfy the end user. If we know the end user need we could easily do the testing process. During testing we should clearly have a complete picture of the end product, which would help us to decide the scope and priority of testing.The features of the product are identified during the testing. The testing team should get involve early in the planning cycle and understand the features.This would help the testing team should prioritize the features of testing.
Factors that help us to prioritize testing:
1. New features that are critical for the release.
2. Features whose failures are catastrophic
3. Features that are complex for testing.
4. Extension features that are prone earlier.
Deciding the approach: -
1. Decide the type of testing based on the functionality of the product.
2. Decide the scenarios for testing.
3. Decide the integration testing that would ensure the features are working together.
4. Decide the needed localization validation.
5. Decide the needed non functional tests.
This would result in identifying the right type of test for each feature or combination.
Deciding the criteria: -
1. We should have a clear exit and entry point for different phases of testing
2. The test strategies determine how the features and combinations would be tested.
3. Test should be carried out as early as possible. Reducing the last minute pressure.
4. Entry criteria specify the threshold criteria. This specify the entire testing activity to start.
5. Exit criteria specify the test cycle or a testing activity can be deemed complete.
6. Suspension criteria specify when a test cycle can be suspended from the process.
7. Resumption criteria specify when the suspended criteria can be resumed from the suspension.
Typical suspension criteria: -
* Occurrence of more defects cause frequent stoppage testing activity.
* When developers release the new version product they would advise should be used in lieu of the product under test.
* Show stoppers would prevent further progress of testing.
Identifying responsibilities, staffing, and training needs: -
1. Testing requires different roles.
2. They are test engineers, test leads and test managers.
3. There is clear role definition for the modules being tested.
4. The different roles should complement each other.
Role definitions: -
*Each person should know what he or she does in the testing.
*We should list the responsibilities, so that everyone knows how their work fit into the entire project.
*We should complement each other. So that no one overlaps.
*We should supplement each other so that no task is left unassigned.
Role definition should list the management and reporting responsibilities. It includes frequency, format, recipients of status reports and project tracking mechanism. Responding to queries should also be addressed during the planning stage.
Staffing is done aiming on estimation of effort to be involved and the availability of time before the release.
Resource Requirements: -
Project manager should provide estimate for the hardware and software required.
Factors to be considered: -
* Machine configuration needed to run the product under test.
* Overheads required by the test automation tool
* Supporting tools such as compilers, test data generators, configuration management tools and so on.
* The different configuration on of the supporting software.
* Special requirements for running machine intensive tests such as load tests and performance tests.
* Appropriate number of licences of all the software.
* Environmental requirements must be taken into account.
Under estimation of the above can lead to slowing down of the testing process which can lead to delayed release of the product.
Test the output: -
Test plan identifies the deliverable that should come as the output of the testing phase.
The deliverable:-
All reviewed and approved by the appropriate people.
*The test plan itself.
* Test case design specifications.
* Test cases including any automation that is specified the plan.
* Test logs produced by running test
* Test summary reports.
Defect repository gives the status of the defects produced during the product life cycle. Defect repository is kept up to date. This means entering new defects into the repository and are updated periodically. the status of defect are fixed after verification.
Testing task: -
* The scenarios identified till now tells what should be tested.
* The estimation is quantified in the estimation step.
Estimation: -
1. size
2. effort
3. schedule
Size estimation quantifies the actual timing needed for testing.
size of the product under test: -
Determines the amount testing that ought to be done.
When the product is larger, greater is the size of testing which ought to be done.
Measures of the size of the product:-
Lines of code
Functional Point
Number of screens,reports or transaction.
Extent of the Automation:-
The size of testing goes on increasing when there is automation.
Because we need to perform the basic test case design and then script them to the programming language of the test automation tool.
Number of platforms and inter-operability to be tested:-
A particular product must be tested for different platforms.
size estimate can be expressed as- 1. Number of test cases.
2. Number of test scenarios
3. Number of configurations which ought to be tested.
Productivity data: -
denotes the processes being carried out during testing, based on the historic data.
Reuse of test cases developed: -
when we consider the reuse of test cases developed, then the effort needed goes down.
Robustness of the process: -
1. well documented standards for the test cases developed.
2. proven process of performance.
3. Consistent way of training the staff involved.
No comments:
Post a Comment