– by Dr. Bill Shaffer
Kent Beck Started the Agile Testing Methodology 30 Years Before it Caught On in Insurance
In 1989, Kent Beck, the originator of extreme programming, wrote a paper titled “Simple Smalltalk Testing: with Patterns.” It was the start of the agile testing methodology. In the paper, Kent Beck said: “I don’t like user interface-based tests,” referring to automated tests that simulate a user keying data into screens. Instead, Beck proposed a framework where tests are generated and checked with code.
Agile Testing is the “New” Testing Approach for Insurance Software Projects
This framework has evolved into the JUnit framework for Java and related frameworks in other computer languages. This agile testing framework is widely used today and, 30 years later, is the “new” testing approach on insurance software projects.
Agile Testing and Automation are Key with Today’s Software Development Cycles
Agile testing grew out of the Agile Movement as it gained popularity after 2001, and is software testing consistent with agile principles. Although it is more than just automated testing, automation is a critical part of it. A major feature is its support of frequent iterations.
The Waterfall Methodology is Ineffective with Quick Release Cycles
Under the older waterfall methodology, a development cycle of several months would be followed by a testing cycle of several months using manual methods. The software would (hopefully) undergo thorough regression testing of most of its features. With agile projects, lengthy manual regression testing is no longer feasible. Many companies are releasing new versions into production monthly. Some companies are even releasing new versions daily. Hence, frequent iterations drive the importance of automated testing.
Follow These Agile Testing Practices for a More Productive and Efficient Process
If you want to have an agile project, you should be doing these agile testing practices:
- Your testing starts in the first development iteration and is part of each subsequent iteration.
- A substantial part of your regression tests are automated, particularly for interfaces, financial calculations, and test data generation.
- Although you may be employing automated user interface tests with tools like Selenium or UFT, a substantial portion of your automated tests follow Kent Beck’s guidance to use tests through the code.
- You rarely write traditional step-by-step test cases. These create a pile of work products that get out-of-date and are rarely used. If most of your tests are automated, the steps are in the code, if anyone is interested.
- Your manual testing is focused on exploratory testing, that is, try to break the system by performing unusual steps.
- Your development team is practicing test-driven development, thereby minimizing the defects passed on to the testers, and generating automated regression tests.
- You are prioritizing the fixing of defects over new development, so you minimize the technical debt.
If you are running or participating in an agile project and not using agile testing, consider employing these “new” 30-year old approaches.
Dr. Bill Shaffer has been a CastleBay consultant for over 12 years. He specializes in automated testing of Guidewire systems. He is certified in Guidewire Insurance Suite.