Testing strategies

Posted in Computing, Systems development

Part of the design process of a system is to develop a testing strategy - how the system will be tested to ensure there are as few problems and bugs as possible. There are a number of testing strategies which can be used.

Top down testing

Top down testing involves testing a 'skeleton' of the system as it is developed and using 'stubs' to simulate parts of the final system. This method can be good for finding certain errors however it requires a substantial part of the system to be built before testing can begin.

Bottom up testing

Bottom up testing involves testing each module of a system as it is written using prepared test data. The test data should include normal data - what the system is expecting, extreme data - which is used to test how system copes with large or small values and invalid data - which is used to design validation rules, the system should reject such data.

Black box testing

Black box testing involves looking at the functionality of the system rather than the code. The specification of the system is used to create test data which is used to test how the system performs the various functions and carries out the tasks it has been designed to do.

White box testing

White box testing is the opposite to black box testing, it involves looking at the structure of the code rather than its function. By looking at the program code test data is created to see how the system reacts and to make sure that all paths data may take through a system work.

Unit testing

Unit testing involves testing each individual component of a system, such as a function or subroutine

Integration testing

Integration testing involves putting together the various modules and parts of the system to make the final solution. This can result in errors and conflicts between different parts of the system which can then be fixed. This also allows for the requirements of the system to be compared against the finished solution.