Test Automation in the Real World
Check out this recording of Test Automation in the Real World, where Senior QA Manager and Automation Architect Mike Maliska talks about which automation tools to use, how to identify team responsibilities, where to start a test automation project to ensure a return on investment and how he has implemented automation at various points along the way in the production software release life cycle at PrismHR (via live demo!)
Watch the full replay above, or catch the highlights by reading below.
Automation describes a wide range of technologies that reduce human intervention in processes. Human intervention is reduced by predetermining decision criteria, subprocess relationships, and related actions — and embodying those predeterminations in code.
Automation in testing means asking the question “what test steps do we need to take to have the computer do it for us so that a human does not have to do those steps?” When this definition is applied to product release life cycle segments and the different types of automation, a picture of what can be automated and what should not be automated—and the team responsibilities—becomes clearer.
|Unit Test||Sprint Planning|
|Deploy QA Environment||Development|
|Deploy Staging Environment|
In addition to the question of what kinds of tests are good candidates for automation, one of the trickiest steps to building an automation strategy is to identify everyone that needs to be involved. According to Mike, different teams are often responsible for different parts of automation required to develop a successful test automation suite.
|Automation Types||Team Responsibilities (Typically)|
|Test Automation (Unit)||Development team|
|Test Automation (Functional, Regression)||QA team|
|Test Automation Framework||QA or tools group|
|Build Automation||Ops or development team|
|Deployment Automation||Ops team|
|Configuration Automation||Ops or QA team|
|Data Seeding Automation||Ops or QA team|
With over 20 years of experience, Mike has gathered a lot of helpful knowledge when it comes to automation. He encapsulates that knowledge with the piece of advice “Stay focused and grow organically.”
He breaks this point down into 5 aspects:
- Don’t boil the ocean: start with the very simple things, it is okay to experience incremental growth.
- It’s okay to start in the middle: Pick the pain point and start with the easiest, most stable aspects first.
- Build support infrastructure: Know that your infrastructure works, that way, if something fails, you’re looking at the failures of that thing specifically rather than at your infrastructure.
- Reuse tools as much as possible.
- Ask other teams for help!
The definition of automation lies in the question Mike starts off with, “what steps do we need to take to have the computer do it for us so that a human does not have to do those steps?” The point of automation is to remove manual steps to free up a manual person to do more things that require manual eyes and ultimately spend more time on the quality of the product.
Not sure what tests or test suites to automate? Use our Automation Scoring Model to help you see if a particular test is a good candidate for automation, or if it’s best to let a human keep doing the testing.
About the presenter: Mike Maliska is a Senior QA Manager and Automation Architect at PrismHR with over 20 years of experience. Want more automation talk with Mike? Check out our follow up Q&A session with Mike where he talks through how he and his team handle automation infrastructure, manage code repositories, and utilize TestRail’s API for cross-project reporting.