| | June 20159CIOReviewFinding the right tool for the job takes time, and the tool identified may be expensive. There are free tools out there, but they may or may not be suitable for your project. Having the budget ready to handle the possible purchase is ideal. Existing staff skills, training, or new hires are also a significant consideration. All of these contribute to the time necessary to automate, the budget required, and the amount of effort involved.Common ProblemsThe problem many QA Organizations encounter is one of assuming automation will be the answer to all of their problems without realizing the amount of effort that must go into a successful automation endeavor. Teams must be able to effectively use resources and time, select a tool appropriate for their project(s), and have the skill set available to use the tool correctly and efficiently. Incorrect Tool SelectionSometimes budget drives what tool is purchased and the one selected may not be the right one for the project. The right tool is critical to the success of automation. Taking cost out of the equation, the tool selected must be compatible with the test environment, development languages, and the testers that will be using it. Thorough research should be performed on available tools and hours of demos may be necessary if you are selecting the tool yourself. The alternative is to bring in automation consultants to evaluate your development and test environment, style, and staff skill levels. Outside experts can provide a team with years of experience to counsel them on the right tool for their particular project. While there is certainly an expense involved in that route, the benefits are even greater. By utilizing expert advice you can drastically cut down on the research and demos needed to evaluate tools yourself as well as the risk of trial and error failures.Inadequate Staff SkillsAnother common issue with failed automation endeavors falls into the domain of staff skills and by extension, staff training. Once a tool has been purchased, the team needs someone with appropriate skills to use the tool. Learning automaton takes time and training, and far too often businesses lack one and forgo the other. This can create a heavy burden on the tester or testers tasked with implementing automation. For automation to be successful, either a member of the team needs to have existing automation skills and experience, or one or more team members need to be trained. Training can be done by the publisher of the selected tool, external workshops, or automation consultants brought in-house for a short period of time. Regardless of which way is chosen, training is necessary for successful automation.Aiming for 100 percent AutomationSome teams aim too high and expect that they can automate every single aspect of testing. This is not the case, and believing it is only sets teams up for disappointment. Automation implementation is a process that takes time, and that requires manual tests be done in conjunction. Some areas of the application under test may not be suitable for automation, or may require manual reviews of data, such as reports. Also, new functionality must be tested manually and made stable before automation can be introduced. Generally speaking, regression tests are most suitable for automation. Keep your expectations in line with automation capabilities to reduce stress and disappointment. Aim to automate regression tests first, then look to what else might be a candidate for automation. But, don't expect that manual testing is in the past no matter what your automation goal is.Poor Test DesignIn some ways, this does relate to the skills of the testers on the team. Test design is really an art that requires experience and patience. While some testers can both design and engineer automation tests, doing so could be a bit daunting. Poor test design can make tests ineffective and difficult to maintain. A good suggestion would be to divide the automation tasks up. Have one tester (or group of testers) work on test design, while other work on engineering the tests. This helps to divide up the work effort and allow testers to focus on one specific aspect ­ and in the process get very good at it.Neglecting MaintenanceAnother misconception about automation is that once the tests are written, they don't need to be touched any longer. In reality, automation test maintenance is an ongoing process. Changes to the system require that tests be reviewed, updated, or even eliminated from the repository. Failing to do this will cause failed test runs and expand the time of the testing cycle. Automation decisions should not be taken lightly. It's not suitable for all projects, especially those in their early, unstable stages. But for the projects and teams that are ready, it can be extremely useful and helpful to find defects faster and reduce testing cycle times. For it to be successful, an investment of time, money, and staff is required. As long as you go into it with your eyes open and with proper expectations, deciding to automate will be a major boon to your QA department.
< Page 8 | Page 10 >