2016/04/12

Software Test Services: Structure Based Test Design Techniques


Structure Based Test Design Technique has the synonym – White-box Technique, as we have access to the information in the form of a code about the software product structure. 

This type of testing involves the development of tests or test scenarios based on the analysis of the internal component structure or the entire system. Tester has an access to the program code, analyzes it, and determines which parts of the software (variable, condition, function and so on), are necessary to validate and cover with a set of tests or test scenarios. 

There are Methods of Test Development Based on the Structure of the Software Product:

- Statement Coverage Testing.
- Decision Coverage Testing.
- Condition Coverage Testing.

If in Black-box Method, the functionality coverage based on requirements and available documentation, in the White-box method, testers operate the notion - Code Coverage. The magnitude of this level is calculated in percentage (%), and if code coverage reaches 100%, you must perform an additional Coverage Analysis of the code and create the appropriate missing tests or scenario.

Depending on the project type, quality requirements, available time for development and staff competence, testers create tests using one or several Coverage Criteria:

- Function coverage determines whether or not each program function was executed. 
- Statement coverage determines the percentage of operators that were verified by tests and the total number of operators. Within this method, every line of code must be tested and implemented.
- Decision coverage - shows the percentage of results of  alternatives or branches that have been performed by a set of tests. Branch is a result of the decision. The decision shall be taken when analyzing such operators as: IF condition, or DO-WHILE or REPEAT-UNTIL LOOPS, CASE. 
- Condition coverage - shows the percentage of audited Boolean condition (True & False) for each individual condition due to tests. Measurement of conditions coverage is performed independently from each other.
- Path coverage – shows the percentage of paths or routes through part of the code, which was passed when you run your tests.
- Entry/exit coverage - shows the percentage that all possible challenges and refunds from the functions have been implemented or not. 

If you are looking for more interesting and useful information about software testing services, techniques and methods – click here and discover the interesting world of IT testing services.