Rapid Testing is a powerful technique that can be used to complement conventional structured testing. It is based on exploratory testing techniques and is used when there is too little time available to obtain full test coverage using conventional methodologies. Rapid Testing finds the biggest bugs in the shortest time and provides the highest value for money of any testing methodology.
In an ideal world Rapid Testing would not be necessary, but in most development projects there are a number of critical times when it is necessary to make an instantaneous assessment of the product's quality at that particular moment. Examples include:
Although most projects undergo continuous testing, this does not usually produce the information required to deal with the situations listed above. In most cases the testing is not scheduled to be complete until just prior to launch, and conventional testing techniques often cannot be applied to software that is incomplete or subject to constant change. At times like these Rapid Testing comes into its own.
Structured testing is a vital part of any development project but it cannot meet all the quality assurance objectives. Its primary objective is usually affirmative testing i.e. to verify that the software does all the things it is supposed to. However, software is now so complex that there is often a seemingly infinite number of permutations of the data variables, and variations in the time domain can add another layer of complexity.
In addition to affirmative testing it is therefore also necessary to identify undesirable behaviour, but structured testing is far less useful as a technique for doing this. The number of permutations means the time required for analysis, scripting and execution is unviable, and could only be reduced if the tester knew in advance what the faults were likely to be.
Rapid Testing is based on exploratory testing techniques, which means that the tester has a general test plan in mind but is not constrained by it. The plan can be adapted on-the-fly in response to the results obtained for previous tests. The downside is that it is not possible to guarantee total test coverage, but the benefit is that a skilled tester can quickly home in on faults that would have eluded a scripted test. We often refer to exploratory testing as 'expert testing' as it requires a high level of technical knowledge and experience to be effective.
Rapid Testing extends the exploratory concept by making judgements about what faults to report and the level of detail to record. Once a fault has been identified, the time taken to investigate and document it reduces the time available to find other faults, so the tester may fail to find the serious faults if they spend too much time reporting less important issues. We refer to this as the 'quality threshold' and it is fundamental to the effectiveness of Rapid Testing. Many testers find it an alien concept but it is a necessary one.
The tester will consult with the customer to determine the initial quality threshold, but it is often necessary to vary it during the course of testing depending on the product quality. If the overall product quality is good it may be possible to reduce the threshold and investigate the less serious faults.
Quality Criteria is another important concept we use in Rapid Testing. The checklist below is one of the tools our customers can use to direct the focus of the testing by prioritising the various quality criteria. The list caters for most web-related and standalone applications, but additional criteria may be added depending on the nature of the project.
Link integrity |
|
Disabled accessibility |
|
Default settings |
Navigation |
|
Security testing |
|
Form controls |
Functionality |
|
Performance testing |
|
JavaScript |
Consistency of design |
|
Search functions |
|
Usability |
Compatibility testing |
|
Java and ActiveX |
|
Printing |
Form data validation |
|
Multimedia content |
|
Page content |
Boundary testing |
|
Cookie testing |
|
Spelling and grammar |
Stress testing |
|
Cache testing |
|
|
More detailed articles on Rapid Testing and exploratory testing will be added to the Resources section of the site in the near future. In the meantime one of our Operations team would be pleased to discuss how these techniques can be applied to your projects so you can share the benefits enjoyed by our existing customers. They can be contacted via the form on the Contact Us page.