How can you reduce risk when implementing agile development in your SDLC?
Most supermarkets these days have two options for checking out: modern self-checkout registers and traditional cashier registers. Self-checkout is now a way for stores to move customers through the checkout process more quickly, and it also requires fewer employees on the part of businesses. Self-checkout can be a major time-saver for the customer, especially if you only have a few items, and a money-saver for the business. But, there are some drawbacks to self-checkout, particularly for the customer: computers can’t check your ID or process paper coupons; they can be glitchy and stall based on what they deem operator error; they also require a store employee to monitor them and step in when the aforementioned issues arise.
As businesses are implementing self-checkout registers more and more these days, consumers might wonder if they will eventually replace traditional cashier registers altogether, just like software QA teams might also wonder if automated testing will ever completely replace manual testing. In both cases, we’re exploring the idea of technology replacing human workers. While nobody can be certain about the future of manual testers--or cashiers for that matter--it still makes a lot of sense in these situations to maintain traditional methods alongside more modern methods.
Let’s take a closer look at an automated approach to testing. Just as there are advantages to having and using a self-checkout register, there are also advantages to test automation. In their article, “Benefits of Test Automation for Agile Testing,” the authors present not just the benefits of test automation but also some of its limitations. Some of the benefits of test automation include:
However, there are also drawbacks to test automation, as noted by the authors. Because there are so many choices for test automation software, it can initially be difficult to decide which one will best suit your needs. Automated testing platforms can also be expensive, so if your initial choice doesn’t work out, it can result in a significant loss. If you choose the free route, such as Selenium, then you should know these alternatives require significant time on the part of developers to integrate into your testing framework. You might save money on the test software, but then you could essentially lose money because your productivity might decrease as you implement and execute tests throughout your product’s life cycle.
In her article, "Test Automation Can’t Replace Manual Testing," Lisa Rachel elaborates on another issue with test automation: “...newly introduced functionalities to an application could interact with existing functionalities in unforeseen ways. Test automation is not advanced enough to capture all these unforeseen conditions.” Not only can functionality issues go undiscovered as you release updates, if you rely solely on test automation, you will also be without critical feedback on usability. Testing software cannot tell you if your product is usable, if the menu locations make sense, or if it is visually pleasing. Only humans can truly provide that type of input. And while you can wait until your software is in the hands of actual users to get that feedback, there is then the possibility of impatient users abandoning your software because of those undetected issues, giving you negative ratings, and potential the sharing of bad experiences. In other words, it can be risky to launch a product without having actual people perform usability and exploratory testing on it first.
Today, there exist manual testing services, such as test IO, that have risen to the challenge of providing fast and meaningful test results from real people. With an on-demand testing platform at your fingertips, professional testers can test your software for not just usability, they can also perform exploratory, regression, and functional testing. Expert testers can look at parts or all of your software and provide detailed feedback within 24-48 hours, making this option nearly as agile as an automated testing solution. Professional crowdtesting services can provide you with the many perks of test automation while lightening your mental workload because they don’t require more programming on your part.
Manual testing and automated testing both have their benefits--and perhaps also a few drawbacks--but when you have these two options at your fingertips, it makes sense to utilize them both in ways that meet your specific testing needs and help you produce a quality product quickly and efficiently (just as it’s beneficial for stores to have both traditional checkout lines and self-checkout lines to increase their efficiency and meet their customers’ needs). It doesn’t have to be an “either/or” choice, and it shouldn’t.
So, will automated testing ever replace manual testing? It doesn’t seem likely because of the current limitations of automated tests, namely that they are missing the kind of feedback that only an actual person can provide.