Saturday, June 30, 2018

Test Planning

Ideally, who prepares the Test Plan document?
Test Manager is the one who prepares the Test Plan document.

What is the process to create a Test Plan document?
Analyze the product
Design the Test Strategy
Define the Test Objectives
Define Test Criteria
Resource PlanningPlan
Test Environment
Schedule & Estimation
Determine Test Deliverables

What is the difference between a Test Plan and Test Strategy?

Test Plan
Test Strategy
A test plan for software project can be defined as a document that defines the scope, objective, approach and emphasis on a software testing effort.
Test Strategy is a set of guidelines that explains test design and determine how testing needs to be done
It is defined at project level
It is set at organization level and can be used by multiple projects
Test planning is done to determine possible issues and dependencies in order to identify the risks.
It is a long-term plan of action. You can abstract information that is not project specific and put it into test approach
Test plan narrates about the specification
Test strategy narrates about the general approaches

What is Defect rejection ratio and Defect leakage ratio?
Defect rejection ratio is the ratio of total defects rejected to the total defects raised by the testing team.
Defect Leakage ratio is the total defects raised by the customer during user acceptance and beta testing to the total defects found combined by the testing team and the customer.

What is Entry Criteria, Exit Criteria and Suspension Criteria?
Entry Criteria is a Criteria defined in the test plan for starting the testing and the criteria can include:
Test Plan should be reviewed and approved.
Test cased and Test data should be available.
Test Environment should be ready
Core functionality should be completed.

Exit Criteria is a Criteria defined for exiting the testing phase. This depends on
Ensure all the critical test cases are passed
There are no Critical and high severity defects opened
Ensure 100% functional coverage is done during testing.

Suspension Criteria : When there are too many test cases fail or when there is too many  and when there are too many defects blocking the testing could be another criteria for suspending testing.

When do you start and stop testing?
An early start to testing reduces the cost, time to rework and error free software that is delivered to the client. However in Software Development Life Cycle (SDLC) testing can be started from the requirements Gathering phase and lasts till the deployment of the software. However it also depends on the development model that is being used. For example in Water fall model formal testing is conducted in the Testing phase, but in incremental model, testing is performed at the end of every increment/iteration and at the end the whole application is tested.
Testing is done in different forms at every phase of SDLC like during Requirement gathering phase, the analysis and verifications of requirements are also considered testing. Reviewing the design in the design phase with intent to improve the design is also considered as testing. Testing performed by a developer on completion of the code is also categorized as Unit type of testing.
Unlike when to start testing it is difficult to determine when to stop testing, as testing is a never ending process and no one can say that any software is 100% tested. Following are the aspects which should be considered to stop the testing:
Testing Deadlines.
Completion of test case execution.
Completion of Functional and code coverage to a certain point.
Bug rate falls below a certain level and no high priority bugs are identified.
Management decision.

What is the purpose of having a test plan document?
It gives the overall direction for testing on what is the schedule, budget, resource planning, risks and issues, In Scope and Out of scope of requirements, test environment requirement, entry and exit criteria and much more.
How do you perform test estimation?

Mention what is the difference between Beta and Pilot testing?
Pilot testing : This is a real world testing executed by group of end users, before its full deployment in order to find defects so as to improve the quality of the application. The purpose of pilot testing is to find potential problems as early as possible before they become costly mistakes. The level of pilot testing depends on the size of the project. For larger projects, a planned pilot is necessary.

Beta Testing: This is a testing stage followed by the internal full alpha test cycle. This is the final testing phase where the companies release the software to few external user groups outside the company test teams or employees. This initial software version is known as the beta version. Most companies gather user feedback in this release.

Mention what are the risk to be avoided while testing?
Never test in the development environment
Try to have proper estimation to ensure not to miss the project deadline.
Ensure not overshoot on agreed budget.
Not to leave Critical functionality for test till the last phase of testing.
Never miss out on regular status reporting to the management.

Mention what are the counter measures that test manager should take against risks?
Avoidance: Eliminate the risk factor that is involved
Reduction: Mitigate plan to decrease the impact of risks and to take corrective measures
Sharing: Transfer the risk to another resource such as insource or insure

Accept: Accept the risk and prepare a plan budget for this risks

No comments:

Post a Comment