Our company is a pioneer in test automation and in fact, the first and was the only partner of Mercury Interactive in the Philippines prior to acquisition of HP. Throughout the years we have assisted clients in their automation endeavors particularly in automated test management, performance, functionality, and compatibility testing.
Automated testing tools are not new. In fact, they were used even before the Y2K or millennium bug era. A lot of companies who engaged in test automation have benefited in terms of speed, cost, productivity, and most of all, quality. However, we have also come across organizations who fail to realize the benefits in spite of its huge investments on tools.
One thing that companies must realize before investing in tools is that test automation is not a one stop shop solution to testing and quality engineering. There are key factors that need to be considered in order to achieve automation goals and to reap the benefits of test automation.
Here are some tips:
1. Begin with an end in mind - Planning is still the first line of defense in any endeavor or any field of the software development life cycle. There are requirements management plans, development plans, project management plans, configuration management plans, recovery management plans, test plans... Why shouldn’t there be a test automation plan? A test automation plan is a bit different from an ordinary test plan. It encompasses a wide area of coverage in the test development life cycle. In a nutshell, we have to identify our goals and objectives, check our resources, manage timeline and milestones, tasks, backup and restore, version control policies, conventions and standards, and so on. Truth is, the development life cycle of a test automation project is just like any other software development life cycle.
2. Tool Selection - There are over a thousand test automation tools available in the market today which includes freeware, open source, and commercial enterprise testing tools. Each has their own strengths and capability that can meet your testing requirements. My only suggestion in this area is that you have to know your needs and your budget limitations.
I have worked and tried out a lot of tools and I would say that each of them is useful in their own ways. Our company may be a partner of a giant software vendor but I can assure you that there are lots of free and downloadable tools in the market that may serve your purpose.
3. Transition Strategy - This is where a lot of organizations fail. It is easy to think that engaging in test automation would eliminate manual testing activities. WRONG. Not all tests can be automated and there is no way you can totally eliminate manual testing. One has to have the mindset that with automated testing, the manual testers can be more productive by being able to focus on new features of the applications, in analyzing automated test results, doing test plans, test cases (to be automated later), and strategies, and not being blamed for being a release bottleneck.
I always lean towards creating a new automation team rather than converting the manual testing team to an automation team. Manual testing teams should be most familiar with the application and should be the best in terms of identifying checkpoints and possible issues and therefore the one who scrutinizes the AUT thoroughly. They are the ones who create test cases and requirements. Test automation teams specialize on the tools of choice. They are go-to guys for creating automated scripts and should be able to create scripts for all the test scenarios that the manual test team has deemed automatable. They have very good programming skills because scripting is basically programming.
One very important thing to note is this: The scripts that automated testers develop can only be as effective as the test case and test conditions that manual testers create. Tools are just tools. They can only be as effective as the people who are using them. An analogy would be a hammer as a tool. One may know how to use a hammer by slamming nails but it takes architectural skills to build a house. Beyond knowledge of the features and capabilities of the tools, there should be a test automation strategy. Strategy is still a human skill that cannot be automated.
4. The Test Automation Framework - I have seen organizations that only use their tools when they need to test and deliver test results. It is a script to test strategy and it is ineffective and more often do not deliver desired results. When creating a framework, remember that testing is an integral part of the software development lifecycle and that the test automation framework should be parallel and synchronized with the development framework and methodologies. There are a lot of test automation frameworks and models available off-the-shelf but every development project and every software is unique. Tailor fitting is a must. Testers must collaborate with developers in order to understand the components and objects of the applications being tested.
5. Training and skills development - The cost of investment doesn’t end with the acquisition of licenses. Although the tools are becoming more and more easy to use, the reality is that it will still require in depth scripting and programming techniques to handle complex test scenarios. Some organizations attend fundamental tools courses but fail to enhance automation skills and learn the more advanced features and functionalities. The end result: Full capabilities of the tools are not maximized.
6. People - Identifying and hiring professionals is a critical part. Test automation requires both testing and software development skills. This combination of skills is hard to find. How many testers make up your automation team?
There are a thousand tools known in the market and new tools are coming out every day. In reality, there is no perfect tool. Any tool that you choose will still require good strategy, working automation framework, and very skilful testers. Focus on these and the results will come.
Roel C. Hernandez
President and CEO
CheQ Systems, Inc.
[Back]

