Classic Movies and Books

Learn Software Development

All about the processes involved in software development

Search this site
Google
 

Testing details during the SDLC phases

Filed Under Requirements, Coding, Testing, Development | Posted on April 6, 2008




Details of testing requirements during broad phases of the SDLC:

REQUIREMENTS ANALYSIS

Test activities that should be performed during this stage are:

• Have a clear, concise and formal statement of the requirements; this means that the requirements statement should record the information as
1. What the program must do?
2. The input and data formats?
3. The output data formats?
4. How exceptions, errors and deviations are to be handled?
5. Hardware & Software required?

• Start developing the test set at the requirements analysis phase – data should be generated that can be used to determine whether the requirements have been met. To do this, the input domain should be partitioned into classes of values that the program will treat and for each class a representative element should be included along with the boundary values and any non extreme input values that requires special handling. The output domain should be treated in a similar fashion.

• The correctness, consistency and completeness of the requirements should also be analyzed – whether the problem is being solved, check for conflicts and inconsistencies among the requirements and consider the possibility of missing cases.

DESIGN

The design document should contain:
• Principal data structures
• Functional algos, heuristics/special techniques used for processing.
• How the program is organized?

Testing activities should consist of:
• Analysis of design to check its completeness and consistency – no steps or special cases should be overlooked. Internal interfaces, i/o handling and data structures should be checked for inconsistencies.
• Analysis of design to check whether it satisfies the requirements – both the requirements and design document contain the same form, format, units. All the functions listed in requirement document should be included in design document. Also, the design should yield the expected values.
• Generation of test data based on the design – the tests generated should cover the structure as well as the internal functions of the design. Standard extreme and special values should be recorded.
• Reexamination and refinement of the test data set generated at the requirements analysis phase.

PROGRAMMING/CONSTRUCTION

The main testing points are:
• Check the code for consistency with design – areas to check include modular structure, module interfaces, data structures, functions, algorithms and I/O handling.
• Perform the testing process in an organized and systematic manner with test runs dated, automated and saved.
• Ask some colleague for assistance – the programmer should explain the product to the party who will then question the logic and search for errors with a checklist to guide the search.
• Use available tools like various compilers and interpreters that are available on the system for the implementation language being used because they differ in their error analysis and code generation capabilities.
• Apply stress to the program – testing should exercise and stress the program structure, data structure, internal functions and the extremely visible functions or functionality.
• Test one at a time – Pieces of code, individual modules and small collections of modules should be exercised separately before they are integrated into a complete program because errors are easier to isolate when the number of potential interactions are kept small.
• Measure testing coverage/When should testing stop? – the metrics used to measure testing thoroughness include statement testing(whether each statement has been executed at least once), branch testing(whether each exit from each branch has been executed at least once) and path testing(whether all logical paths have been executed at least once).

OPERATIONS & MAINTENANCE

Testing during maintenance is termed regression testing. The test set, the test plan, and the test results for the original program should exist. Modifications must be made to accommodate the program changes, and then all the portions of the program affected by the modifications must be retested. After regression testing is completed, the program and test document should be updated to reflect changes.


Leave a Reply