Welcome to Innominds Blog
Enjoy our insights and engage with us!

Perfect Planning For Your Test Automation

By Jeevan Jyothi Annapolla,

We all know the challenges of companies to continuously maintain and improve the quality of their applications or products. And here at Innominds, we also know the challenges testers face having to repeatedly execute test cases, something that requires more and more time with the ever-increasing features and releases. We have developed quite a few great learning situations over the years, as you can imagine. And we would like to share some of our findings and processes with you on this.

Best Solution for Executing Test Cases

We find the best solution for these challenges is automation. Test automation, with right planning and right set of tools, eventually relieves the manual testers from repetitive time-consuming tasks like smoke/regression tests, allowing them concentrate on testing new/modified features and to think and cover the corner cases.

Steps and Phases in Test Automation Planning

Once we decide we are going to use automation, we work on a solid strategy that where we define the scope, decide on the tools/technology to use, layout the start date, framework, resources and budget. Many times our list looks like this:

  1. Analysis and Planning
  2. Identify Tools and Technology
  3. Select and Design Framework
  4. Define Scope of tests
  5. Prepare the Testbed
  6. Identify common functionality/methods
  7. Implement the test cases
  8. Review the test cases
  9. Maintenance

Phases in Automation plan

Analysis and Planning Phase

We start here, as planning plays a major role in our success. And we know that it’s important to start with the right planning. This phase includes important discussions around understanding what to automate, organizing resources, preparing the team on task distribution, setting up budget and so much more. Once the plan is prepared, it’s important to review the plan with the team.

Identify Tools and Technology

Once the test plan is reviewed and approved, the team members who are responsible for the design and implementation of the framework should start identifying the right tools and technology for the testing projects. No tool/technology will fulfill 100% of the requirements for the project, but we find it important to conduct some POC and then choose one of the best tools that satisfies most of the requirements or use combination of tools instead of one tool. The type of test automation tools can either be open-sourced or licensed versions, usually chosen by consideration of requirements and budget.

Select and Design Framework

The test automation framework plays a vital role in the success or failure of any automation project. We came up with a list of tasks involved in test automation framework development:

  • Setup source control system and repositories
  • Setup common coding standards
  • Define test automation project structure
  • Define standards to create scripts, identify objects, define properties, gather data
  • Create common/reusable methods
  • Integrate other tools to be used
  • Develop reporting tools at different levels like summary, screen shots, logging, email reporting
  • Integrate with build tools
  • Documentation and training

It is in this phase that a test automation framework is developed, one that encompasses the process, tools, standards, etc. This serves as a baseline, making it easier to create and maintain automated tests. Depending upon the technology/tools you are choosing, it’s important to select the design pattern and framework during this time.

Test Automation Planning

Define Scope of Tests

In this Phase, it’s important to organize the test cases into different groups like Sanity, Smoke and Regression. We recommend starting with implementing the Sanity test cases, then move to smoke and regression.

Prepare the Testbed

Next up is to prepare the common testbed with the required hosts, VM’s, tools and build. It’s important to execute the test cases on this environment in order to make sure the test cases are executed properly.

Implement the Test Cases

With the framework, objects and common methods in place, now is the time to start implementing the test cases. Follow the standards defined, use the common methods, and implement the methods, if required. Organize the test cases into different packages or modules, making sure there is proper logging and documentation for each script so that it will be easy for maintenance. This is important as it enables a way to identify failures. Once the test cases are implemented, execute them on the testbed, making sure they are executed successfully.

Review the Test Cases

Once the test cases are successfully executed on the testbed, it’s important to have them reviewed by team members so all can help make sure the test cases cover all the functionality. We recommend including one team member from the Functional Testing Team and one from the Automation Team in this review process. Once the review is complete, be sure to incorporate review comments, if any.

Maintenance 

Test Maintenance is an on-going effort, where all the automated tests are updated regularly to accommodate the functional and UI changes. It includes addition of any new test cases that were not first considered during the Planning Phase. Enhancing test automation framework components and the addition of new features are a part of this phase

Innominds – Your Test Automation Partners

If you’re looking for more information on this topic, we have found the following sites to be helpful. Click here,here and here. Start your automation today. You’ll save time and energy by not having to repeat the same test cases, having more time to learning and think of different ways to test! And if you have questions or a special project you are needing help with, contact us today. Happy Testing! Happy Automation!

Jeevan Jyothi Annapolla

Jeevan Jyothi Annapolla

Principal Engineer – Test Automation

Subscribe to Email Updates

Authors

Show More

Recent Posts