Software testing is both costly and labor-intensive. It can account for up to 50% of the overall software development budget, with this percentage climbing even higher for safety-critical systems. One key objective of software testing is to maximize automation, which significantly lowers costs, reduces human errors, and simplifies regression testing.
Software engineers often categorize tasks into two types: revenue tasks and excise tasks. Revenue tasks directly contribute to solving a problem, while excise tasks do not. For instance, compiling a Java class or deploying a software package, are considered an excise tasks — they are necessary for execution, but does not add to the functionality of the system. On the other hand, designing appropriate methods to define a data abstraction as a Java class is a revenue task. Automation efforts typically focus on excise tasks, as they offer little value beyond being necessary steps in the process. Among all areas of software development, testing likely has the highest concentration of excise tasks.
Activities such as maintaining test scripts, re-running tests, and comparing expected outcomes to actual results are common excise tasks that consume significant portions of a test engineer’s time. Automating these tasks benefits test engineers in several ways. Firstly, it removes tedious work, making the job more enjoyable. Secondly, it allows engineers to focus on the more engaging and intellectually rewarding aspects of their role — namely, revenue tasks. Thirdly, automation reduces errors of omission, such as neglecting to update files with the latest expected results. Lastly, it ensures greater consistency in test quality, reducing variability caused by differences in individual skill levels.
Technological advancements have made it possible to automate many testing activities that were previously deemed too complex. For example, generating test cases that meet specific requirements was traditionally a challenging task requiring significant input from test engineers. Today, however, both research and commercial tools can automate this process to varying extents.
If you feel you have excise tasks that could be automated, but you don’t know where to start or don’t have the needed skills nor resources, reach out, and let’s figure out an automation plan together and ensure your on the correct path to success 🚀
We have used the Introduction to Software Testing book 📕 from Cambridge University Press as source for this article. Kudos to the authors: Paul Ammann & Jeff Offutt ♥️
No responses yet