Manual testing will always be a part of an IT organization’s software QA and testing strategy. It is important for development and testing tasks that require human skills, such as super-user level product knowledge, Business Analyst-level understanding of the application’s use, and the ability to identify critical non-repetitive activities.
However, expectations in the IT industry are changing, demanding greater velocity and higher productivity. Organizations in competitive markets must develop better code, faster, to stay ahead. Even for organizations in non-competitive markets, such as utility companies or government agencies, improvements in end-user experiences from competitive markets are driving increased expectations.
In this environment, companies must employ software test automation to remain viable and produce a higher quality level of product.
So, how do you introduce automation to software QA and testing to help ensure that manual testing efforts are optimized as much as possible? Here are two ideas to get you started:
1. Develop a long-term automation plan.
While it’s wise to start with small steps, introducing test automation should be a strategic, versus a one-off, approach. Having a clearly documented roadmap with a long-term vision is important to introducing test automation to your organization.
Such a plan should include the following elements:
- What you are trying to achieve?– For example: What human toil are you trying to eliminate? What extension of coverage or what reduction in test cycle time are you aiming to achieve?
- A description of value added for each goal — For example: hours of toil, percentage of code coverage, hours/days in test time reduced, and reduction in time from code complete to code in production.
- Any shifts in process that need to be made, and the right point to make them— For example: Does some testing shift left? Does the nightly build window need to shift to allow for nightly automated tests? Are projects at a point where they can introduce change without disruption?
- Measurements along the way— Be sure to make measurement collection of your objectives part of the process, and thus a byproduct of doing the work.
2. Know your target.
As you begin your first automation, you must understand your target — what testing you are doing manually and what you are going to replace with automation. Start with low-hanging fruit: where the technology is well-suited to automation and where the application is stable. Then, when you’re ready to move into more complex, business-critical automations, you will have experience in designing and deploying the automation.
One way to approach this is to have a requirements-gathering session with the product owners, and select targets that have clear value for them and where the problems faced are well understood.
In many cases, this may be as simple as employing a test utility that removes or reduces a repetitive manual task. Another step in the right direction could be as small as creating a risk-based test case hierarchy and using it to limit manual testing to that which delivers the highest return on investment.
No matter how you proceed, remember that human skill is too valuable an asset to be wasted on repeatable, mundane tasks. Always watch for opportunities to replace manual bottlenecks with automation, in turn giving more time to humans to create more maintainable code/tests and build skills to take advantage of more sophisticated automation solutions.
For more information about introducing automation while optimizing the benefits of manual testing, read the guide, Software Testing in IT: How to Bridge the Gap Between Manual Testing and Automation.