Testing Strategies Presented by:- Satish S. Bhutawale (09) Joyson G. Fernandes (13) Guided by:- Prof. Praveen Gupta
Concept:- A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process. This includes the testing objective, methods of testing new functions, total time and resources required for the project, and the testing environment.
A test Strategy defines the Project’s testing objectives and the means to achieve them. The test strategy therefore determines testing effort and cost. The goal is to choose a test approach that optimizes the relation between cost of testing and cost of defects.
Approaches:- Preventive vs. Reactive Approach:- Preventive Approach:-
are those in which testers are involved from the beginning.
The use of V-model with emphasis on design reviews, will contribute a lot to prevent defects.
Early test specification and preparation, as well as application of reviews and static analysis, contribute to early defects finding, and thus reduce defect density during test execution.
Are those in which testers are involved too late.
One very successful strategy in such a situation is called as “exploratory testing”.
This is a heuristic approach in which the tester “explores” the test object and the test design, with execution and evaluation occurring simultaneously.
Preventive approach should be chosen whenever possible. The analysis of cost clearly shows that:-
The testing process should start as early as possible in the project. Testing should continuously accompany all phases of the project.
Analytical vs. Heuristic Approach:- Analytical Approach:-
Test planning is founded on data and analysis of these data.
Amount and intensity of testing are then chosen such that individual or multiple parameters are optimized.
Test planning is founded on experience of experts and/or on rules of thumb.
Reasons might be that no data are available, mathematical modeling is too complicated, or because know-how is missing.
The approaches used in practice are often between these extremes and use both analytical and heuristic elements:-
Use abstract functional models of the software under test for test case design to find test exit criteria, and to measure test coverage.
IXIT-Implementation Extra Information.
Statistical or Stochastic testing:-
Uses statistical models about fault distribution in the test object, failure rates during use of the s/w, or statistical distribution of use cases based on these distribution data the test effort is allocated.
Uses information on project and product risks and directs testing to areas of greatest risk.
Process-or Standard Compliant Approaches:-
Use rules, recommendation, standards as a “cook book”.
Reuse existing test environments and test material.
Use failure and defects lists from earlier test cycles, lists of potential defects or risks, or prioritized quality criteria and other less formal methods.
Use the expertise and “gut feeling” of involved experts.