By Vu Van Nguyen
In the 1970s and 1980s, Waterfal model and regious planning and specification were dominant, and the Waterfall model was a standard process model for every software projects. It was seemingly unthinkable for software projects to develop and test without detailed plans and specifications, much less with many lean practices in Agile methods that we are now applying daily.
As a tester, you may have done testing without detailed and comprehensive test specifications. Are there any recognizable methodologies for such a way of testing?
This post provides a summary of the method that has been enthusiatiscally avocated and trained by James Bach since the 90s. In fact, he was one of the first and the most well-known experts to advance the method in practice.
The incremental and rapid application development methodologies have influenced other later approaches including rapid software testing and Agile methods. But the rapid testing ideas have become a community vision which was made possible by James Bach and his colleagues.
In traditional software testing, under traditional development methodologies, the testing team is required to do heavy planning and specification upfront. Testers have to design test cases in advance and execute them on the working software. The problem is that projects often do not have enough resources, time, and even understanding of the software to do complete testing.
Another problem, according to James Bach, is that the traditional testing approaches ignore the thinking of testers while performing testing and overemphasize the paperwork.
Unlike the traditional testing approaches, rapid testing emphasizes the iterative approach and the use of heuristics to constantly re-optimize testing to fit the needs of projects and clients. It focuses on eliminating waste and the best use of limited resources and time available to the project.
Exploratory testing is an important tool to implement rapid testing effectively. Instead of performing test design and test execution activities separately like in the traditional approaches, exploratory testing integrates these activities into an integral process which is taken at the same time or alternatively. Testers prepare test cases and execute them, and then prepare other test cases to execute to best reflect what information they have. This process is repeated and adjusted to best optimize the effectiveness of testing.
Benefits of rapid testing
Through rapid testing, testers build the skill to integrate the process of thinking and exploring while performing testers instead of following certain predefined procedures. Testers are the one who makes decisions and judgments on when, what, how, and how much to test given limited resources, information and time. This is the skill important to the success of testing and testing career.
Rapid testing is an excellent tool to promote your testing career. It is commonplace that testers have not received much respect of team members that they should deserve. One of the ways to gain respect for testers is to bring their value to project which much comes from how they think and articulate their ideas about how to test.
James Bach’ Course on Rapid Testing
James Bach and colleagues have run a three-day course teaching testers knowledge and skills to perform rapid software testing. The course materials include the course introduction – a main source of reference for this note, training presentation charts and a supporting appendices on rapid software testing.
James Bach’ talk on Rapid Testing in Ho Chi Minh city in July
James will be attending and giving talks at the software testing conference “The Secret Life of Testers” organized by the HCMC Software Testing Club and the HCMC Computer Association. Rapid testing along with exploratory testing is one of the main themes of his talks. Much on rapid testing and its ideas will be explained directly by James during the conference.