More and more, today’s QA testing centers around test automation. Development teams are looking to automate as much testing as possible – which makes sense when applications are “fully baked” and stable. As you enter into automation, first make sure your application is ready, and then consider these three things:
Testing automation is another development effort
The process of automating your testing requires rigorous coding and an iterative approach. Often we see organizations attempt to automate during slower or “down” times with developers that don’t fully understand QA. Just as you wouldn’t scrimp on the right developer for your application, make sure you have the best possible resource to design and build your automation solution, with the ability to dedicate sufficient time to do the job right. Your automation testing system is a long-term asset – you need the right resource and support behind the effort. And as with any application, your automation testing will take time and require more than a single sprint to get it right.
Automation also requires an individual with a unique set of skills. Typically developers create and QA testers break, and these two activities require surprisingly distinct skills. Not all developers make good testers nor vice versa. In the automation process, you need a “creator” who knows both good design and development skills, but also understands the QA mindset to be able to plan the tests properly and manage the automation process from start to finish.
Determine what you’re automating
The main rule of thumb to follow is simple – automate what’s stable and working. Once your current application features are built and proven to be working through manual QA activities is the right time to begin the automation process. While development is starting on the next sprint, QA engineers are folding the stable features into the automation test suite.
The appeal of automation is that you can quickly run a series of tests over and over, on multiple browsers and across mobile platforms. The logical features to first be included in the automation suite are the “standards” like login, forgot password, edit profile, etc. Continue automation as the development cycle advances and verified features are released into production.
Essentially, the automation test suite is a replacement for your manual regression effort. As the application grows, your QA engineers cannot keep up with covering all the features old and new, so test automation is the natural solution to fill this widening gap and allow your manual efforts to focus on the latest and most unstable code. It is true that some methodologies advocate for automation early and often, but this requires a rigor in the dev team that is rarely achieved.
Test automation is not a silver bullet.
In the same manner that the smart development team will dedicate appropriate resources to their test automation effort, the management of your automation framework is not a “build it and forget it” task. Regular maintenance is required to make sure the tests are running smoothly and the results are correct. When a failure is discovered when performing a manual test, the first thing a good QA engineer will do is repeat the test to make sure it is a solid, reproducible bug, and that they have captured all the relevant information. Likewise, when you review the test logs from an automation execution, it still takes a human being to review, execute, and confirm all the details of the bug before submitting to a developer for fixing.
Plan the environments you are testing for
Is your application an android or iOS-specific app? Is your target audience mostly on desktops or on mobile devices? This may be age-driven as more web browsing is happening on mobile devices than on desktops and laptops today while older generations continue to be more beholden to desktop browsing.
Nonetheless, invest in the tools to help you test different browsers, different operating systems, and of course mobile hand gestures. Ideally, you have the budget to test it all, but often startups or newly funded ventures have to make tough choices – so do some research on your target market and their preferences, and design your test automation strategy accordingly.
Taking on the process of automating your testing is a significant endeavor – if you’re looking for help, we’d love to lend our expertise. Contact myself at firstname.lastname@example.org and we’ll get you started on the right path!