The following article is a guest post to Zephyr from Chelsey Lang, Clearvision. Clearvision is a partner of Zephyr that helps software teams and IT programs implement tools and processes that bring high quality software to the market.
When we think of agile testing, we often think of the motto “test early and test often.” It’s a logical approach: the earlier you test, the more time you have to find and fix bugs. It’s far easier to fix a bug before you’ve released that version of your software than it is once a bug has become a full-blown defect.
The more of these tests you are able to automate, the simpler life is for your testers - we see considerable buzz around automation in the agile/DevOps world for good reason. However, not all tests can be automated, and in fact, not all tests should be.
So how do you know when it’s time to automate?
Look out for repetition
How many repetitive tests and tasks do you carry out during your software development and release process?
When you start to look towards testing automation, it’s important not to try to automate everything at once. Creating the right automated tests will save you considerable time and effort in the long run, but they also take time to create.
Repetitive tests, like regression testing, make an ideal starting point. Tests that change very little from one iteration to the next are perfect for automation; setting up the same tests again and again is a poor use of resources, particularly when agile teams are releasing software frequently.
Taking some time to plan and create automated tests here is likely to be a very good investment.
As you go further with your automation, the following questions should prove useful in identifying which tests to automate next.
- Which tests are more prone to human error?
- Which tests involve large amounts of data? Do you deal with different data formats?
- Are there tests that can’t be done manually?
The tests these questions help you identify will all make good candidates for automation.
At this point, it’s also important to ask yourself how likely significant changes to your software’s functionality and UI are. If you’re likely to experience changes here, hold off on automating the tests that will be affected until there’s more certainty - otherwise you risk losing the time automation should save by having to frequently update your automated tests.
Asking questions is the best way to make sure you know your testing environment, your processes, and whether it’s right to automate.
Know when manual testing is still best
Some tests are simply impossible to perform manually, such as load and performance testing. With other tests, automation might be possible, but the short amount of time you would save wouldn’t be worth the investment needed to create the automated tests in the first place.
In certain cases, manual is still best. When working on a very new app, for example, it’s likely to be subject to frequent changes - automating too soon would be a poor investment of time.
When testing particularly complex functionality, test automation can be a real challenge. Here you need to plan carefully, and evaluate the risk that the initial time and cost investment will end up outweighing the potential time saved later.
Likewise, things like the overall usability and look and feel of the UX require manual, human testing. Your end users will be human, after all!
Take control of your testing
Test automation does more than save you time and resources, which in itself is a huge benefit to your testers and teams. To begin automation, you first need to take stock of your testing process and environment. By doing this, you take control.
In this post we’re talking about the process and thinking behind automation, but of course you also need to choose the right tools.
At Clearvision, as an Atlassian Platinum Solution Partner, our expertise spans the entire application lifecycle. We can provide a tailored discovery session, in which we’ll take a look at your requirements, your existing development environment, and teams and processes, and work with you to provide the best solution. Simply get in touch for more information.
Author Chelsey Lang: Chelsey is a Marketing and Social Media Executive for Clearvision; a partner of Zephyr. She writes about agile methodologies, software development, and collaboration and culture in the tech industry. Chelsey is passionate about literature, the intersection of fashion and tech, and the Oxford comma. Thankfully, Chelsey writes better blog posts than she does bios. You can read more of her writings here.