Systematic testing

In order to test the functionality of a program fully we need to take a systematic approach. We need to consider

When you use a product you will be using it for a purpose. Normally for most software will be related to a business function. As such software is designed with these functions in mind. For example if a business had to print off a report then this would be a single business function. Inside this report may be a number of features of the software such as collecting the data, translating it into a more accessible view and then printing it.

In order to test the business uses we develop a test script for each business use. These uses should have been already defined in analysis. Use case diagrams in UML tend to be used to show these. The interested reader may wish to look up what use cases are. The test script will then run through a number of tests, in the correct sequence, to produce the correct end result.

The test script will be laid out in a table. Below is a example –

Test

number

Test

Description

Test

Data

Expected outcome

Actual outcome

1

Enter into the date field

10/12/06

Date correctly formatted (as in test data)

Date formatted correctly

2

Enter into the date field

Hello

Error message appears

Application crashed with an exception code.

3

Enter into the date field

Nothing

Message appears to prompt entry

Message box seen

This test script shows simple two tests. Each part of the system should be tested more than once. This is because there is more than one value which needs to be tested. The focus for testing is

Most bugs are caused because people do not check error conditions correctly. As such it is important to build tests into the system in order to help prevent these problems. The script must test these three elements for every feature of the business case. Also every business case must be tested.

That is a lot of testing but not as much as the next section will show.