Why Software Test Automation
Software Test Automation to the Rescue. Sometimes.
Well-built software can make a very difficult series of actions quite simple. Poorly-built software can make a HUGE mess! The same is true for software test automation. Do it well and properly and the chances of success are very high. Do it poorly, select the wrong Test Engineer or just “run the tool” and the chances of success are almost zero.
The Case for Building the Business Case First
Software test automation can run the spectrum from point and click or drag an drop to scripting to embedded API calls. Each approach has benefits and costs for implementation as well as long term maintenance. Generally speaking, the easier it is to use, the sooner you’re going to see the actual benefits but you’ll also need software test automation maintenance sooner. Likewise, the harder or more challenging it is to properly implement software test automation, the longer it is going to take to see benefits but it will also last longer before needing maintenance. Quick and Dirty or Long and Valuable? The right answer depends on your goals for your software and business!
We believe that automating software testing is a great idea when the business case for doing so is compelling. We’ve also learned that a clear set of requirements (test cases are usually the best requirements for software test automation), a trained and experienced Automation Test Engineer and a framework/data-driven approach yield the best results.
There are many different approaches to software test automation. A qualified software testing company should be able to present you with a set of choices and options to fit the very broad area of automated software testing into your success criteria for your project.
Lessons Learned About Automated Performance Tests
Building automated performance tests looks very much like building automated load tests but the outputs from those tests are designed to answer very different questions.
We’ve learned to spend a little more time asking questions about the specific questions, answers and business case for automated load and performance testing so that we solve the right problem and answer the right question the first time.
Here’s why knowing the right question is important! Answering a business risk question about when a website or web application becomes unusable is much less expensive than determining all of the bottleneck places within a website or web application. Not only is the process more expensive, the fixes for performance based bottlenecks is also expensive. Finding the maximum usable load and then adjusting computing hardware to increase that load is much less expensive.
Test Automation is a Lot Like Software Development
In closing, a note about software testing automation and qa outsourcing. In general, you should expect that an automated software testing project will look, cost and behave more like a regular software project than a software QA project. That’s because software test automation is actually writing software to test software.
A software test automation project will also require maintenance after it is completed. The software under test will change and no matter how cleverly the software test automation was built, it will need to be updated when the software under test is changed. This will be an ongoing cost of quality and should be considered in the business case prior to starting this type of project. Here is more information about maintenance costs of automatic software testing.