In past blogs, we have explored how Automated Software Testing improves software quality while conserving resources. Some of you are already convinced of its effectiveness and are ready to dig deeper into the specifics regarding some of the abilities and savings resulting from Automated Software Testing. If that describes you, please keep reading. This is the first in a series of four blogs on this topic.
In addition to increasing the depth and breadth of testing, we have found at least sixteen additional benefits of implementing Automated Software Testing; four of these will be addressed here in this week’s blog.
Improved Build Verification Testing:
Have you ever spent hours testing a release and finding all sorts of defects, only to hear from a developer that he forgot to check in a major portion of the code? Well, a build verification test would identify this type of issue very quickly. Also known as smoke testing, build verification testing focuses on verifying that previously working high-level system components are still functioning as they did before the new software build was received. It provides immediate feedback on the state of the new release. If the test verifies that the major functionality of the system is intact, it eliminates the need for the unnecessary testing. Automating smoke testing has proven very valuable to many of our customers. It enables them to find out whether a system is ready to be tested in depth, which helps with cost-containment.
Improved Regression Testing:
As experienced software engineers and testers know, modifying an existing program can be more error-prone than writing a new program. Regression tests are executed on a baselined system or product when a part of the total system product environment has been modified. The objective is to verify that, following a modification, the functions or products are working as specified and that operational functions have not changed. Automation simplifies regression testing and can verify that no new bugs were introduced into a new build. Manual regression testing can be lengthy, tedious and prone to error, making it a strong candidate for automation. It expands on the smoke test and involves testing all existing functionality that has already been verified.
Automated testing allows for the reuse of tests to support testing from one platform to another. For example, when a system is switched to a new operating system, the same test that worked on Linux will work on Windows; or, when using multiplatform-compatible tools, there will be support between a desktop and an iPad.
Overcoming Test Fatigue:
The initial tests on a new software system can be engaging. Teams are eager to find and report bugs. The excitement might last until the second or third build. But by the fourth or fifth round of releases, running repetitive tests loses its luster, and testers are just hoping that the developers didn’t introduce new bugs. Does this sound familiar? Repetitive testing tasks can lead to boredom and to what is sometimes called test fatigue. Additionally, the mundane, repetitive test tasks associated with the traditional testing of software can be the source of many errors. The use of automated test tools eliminates the monotony of manual testing and offers testers the opportunity to automatically validate results.
Each of these four areas highlights a specific benefit of implementing Automated Software Testing into your testing program. At IDT, testing and verifying software is our business, and we are eager to share from our experience. This is the first in a series of four blogs on this topic. Part two will be published on October 7.
Some information taken from: Dustin, Elfriede, Thom Garrett, and Bernie Gauf. Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality. Upper Saddle River, NJ: Addison-Wesley, 2009. This book was authored by three current IDT employees and is a comprehensive resource on AST. Blog content may also reflect interviews with the authors.