Software Testing Basics: 10 Steps to Building Software Test Automation That Works
Goals and Objectives
Everyone knows it would not be wise go on the long trip without a map or GPS. It is also essential to know the minor details that are required for you to find your destination. You may need to consider your budget when embarking on a trip.
This is also true in the world of QA Automation. It is, indeed, a long journey. To some software development organizations, it is a journey for the life of the company! Therefore, we think it is important to set time aside to define your goals and objectives for QA Automation.
Let us briefly reiterate the high level benefits of QA Automation:
- Your productivity will increase
- Your time to market will shorten
- Your quality of the product will continue to improve
For different people in your organization, different things will be important. But, it is very important for everyone to understand one common set of goals and objectives to get your team to the right destination in the shortest possible time.
Your Company’s goals:
Improving productivity is the most important goal in delivering a software product for internal or external clients. However, you do not have to forget about other benefits of automation such as improving the quality of the product, increasing job satisfaction for internal QA and development teams, and reducing the time required for complete regression of the product.
Who are my customers?
You have to consider two major categories of customers:
- End users of the product and
- The internal development organization who will be on the receiving end of the results of your accomplishments
Your Customers’ goals:
With their goals in mind, you can determine the goals of each of these categories:
End users:
- Reduced errors in the product
- Regular updates without braking existing functionality
- Product that works reliably with any third party solutions or plug-ins
Internal development organization:
- Shorten development / release cycle
- Streamline development and testing: eliminate bottlenecks, firefighting, or slipping deadlines
- Improve productivity of development and QA team
- Save money
Defining Budget and ROI
The majority of organizations require an estimate of savings or returns on investments as part of the budget approval process. Automation projects are no exception. In order to calculate a Return on Investment (ROI), let’s start with the savings. It may be difficult to determine your expected level of results without some outside assistance. Because there is no QA Automation Handbook, most companies who are investigating QA Automation are not even aware of:
- The level of success to expect
- The speed of results attainable
- The importance of an effective software testing methodology
- The importance of designing software for the ease of automation
- The impact on the development process
- The potential benefits to the bottom line
Savings
Here are the some areas to consider for savings.
1. Lessen the need for repetitive manual testing
2. Compress the release cycle time
3. Slash the number of defects released to the field
4. Considerably cut the time developers spend fixing bugs reported from the field
5. Reduce the number of fixes or interim releases required by the field
6. Decrease the number of helpline and maintenance personnel
7. Increase the productivity of the development group
The reduction of repetitive manual testing is a tangible value to measure. By replacing repetitive manual testing with automation, savings in-person-hours may be realized. But this may not be an accurate realization if an inadequate amount of testing is currently being completed.
MYTH: Manual testing will be eliminated by implementing automated testing.
REALITY: The reality is that no organization will be able to eliminate the need for manual testing. However, if test automation is implemented successfully, major accomplishments can be achieved:
- Manual testing team will be able to focus on the new features
- Manual testing team will be able to spend time writing new test plans to be automated later
- Manual testing team will be analyzing results of automation test runs
- Manual testing team will not be blamed for being a bottleneck to the release process