Published: October 11, 2014

Test Automation FrameworksIn the software testing domain, clients and the business community have gained maturity to understand the benefits of implementing a test automation framework. Test automation framework plays a vital role in the success or failure of any software automation project. So, what exactly is a test automation framework? What are the best practices to be followed to create a test automation framework? Let’s explore this emerging concept and gain some insights on creating an outstanding test automation framework.

Test Automation Definition

Being in the software industry, we very well know that test automation is defined as a process of performing software testing activity by utilizing various test automation tools, the type of test automation tools can either be open source or licensed versions. Here’s a list of the popular test automation tools (HP’s Unified Functional Testing [UFT], Selenium, IBM’s Rational Functional Tester [RFT], FitNesse etc.). Before initiating test automation, it is profoundly recommended by software quality assurance experts to create a test automation framework, which would not only support the entire software testing process, but also help in improving the quality of software testing process. In a way test automation framework allows a software tester or software testing company to effectively perform automated software testing.

Test Automation Framework Design

Generally speaking, a framework is defined as a real or conceptual structure created to provide support or guidance to an entity that could expand in future. A few others define it as an organization’s way of doing things. In the software industry, it is a widely accepted practice to follow a set of standards or frameworks that could help in successful execution of software projects. In simple terms, a test automation framework can be defined as a set of processes, standards and interactions between the components in which scripts are designed and executed.
Below are some of the key parameters that a software tester needs to keep in mind, while developing a test automation framework.

  • Handle scripts and data separately
  • Create libraries
  • Follow coding standards
  • Offer high extensibility
  • Less maintenance
  • Script/Framework version control

Let’s explore each of this point in detail.

Handle scripts and data separately

Automated test scripts should be clearly separated from the input data store (e.g. XML, Ms-Excel files, Flat files or Databases), so that no modifications are required to the test scripts whenever data has to be changed for multiple input values.

Library

A library should contain all reusable components and external connections such as databases, generic functions, application functions etc. Software testers should be exposed only to the implemented libraries and tests should be performed by invoking these libraries.

Coding Standards

Scripting standards should always be maintained across the test automation framework, which will discourage individual coding practices and help in maintaining code uniformity, which makes it easier for software testers and developers to interpret.

Extensibility and Maintenance

An ideal test automation framework should steadily support all new enhancements to the software application and allow modification of existing features e.g. A reusable library can be created, which would help in enhancing application features with minimal effort.

Script/Framework Versioning

Versions of framework / scripts should be maintained either in a local repository or versioning tool, which would help in easy monitoring of changes to the software code.

Conclusion

In today’s software development environment, test automation framework has become an integral component of a software testing life cycle. By following the above test automation framework design guidelines, software testers and software testing companies can immensely benefit by executing successful and maintainable test automation projects.

Author

Sheshajee Dasari was a QA Specialist at Evoke Technologies. He has extensive experience in designing test automation frameworks. While working at Evoke, he was keen to explore new testing technologies and implement new software testing frameworks.
Please follow and share

12 Comments

  1. Daniel

    June 25, 2015

    Really nice article.

    • Sheshajee Dasari

      July 2, 2015

      Thank you very much 🙂

  2. C K

    July 20, 2015

    Speaking of the most popular test automation tools, I would like to mention Ranorex. It is being trusted by many known companies like Daimler, Siemens and Philips. It is capable of automating desktop, web and mobile applications.

    • JH

      February 11, 2019

      Thanks. This proved to be very good in terms of resources.
      I could download some whitepapers.

  3. Prasad Rokade

    August 5, 2015

    Hi Sheshajee;
    Very nice article about Automation Framework. i am QA analyst with good knowledge of Functional & Manual testing; But i am keen to learn automation. can you please suggest useful study material for Automation testing using Selenium.
    Thanks
    Prasad

  4. Randall

    July 27, 2016

    Hi there Sheshajee
    Very good article. Thank you.
    Are you perhaps open to being contacted directly? I am pretty new to QA and Test Automation and has been tasked to create a framework for our department as part of my development plan. Please let me know how I can get in touch with you, if you don’t mind. Thank you in advance.

  5. Ashish Ranjan

    January 5, 2017

    Hi Sheshajee Sir,
    I started working as a QA for a firm which deals in Banking Application. My job is to create a Hybrid Data Driven Automation Framework. I have scripted all my functionalities but not implemented any framework here.
    If possible, please assist me to do so.
    Let me know if any details needed.

  6. Raja shekar. Poreddy

    May 29, 2017

    Hi Sheshajee,
    It’s very nice article in recent days.
    And could you please share the a template of automation framework.

  7. Dhanu

    July 30, 2017

    Very useful Article. Thanks a ton.

  8. Amrita Sharma

    August 18, 2018

    Hello Sheshajee,
    This article is very useful for me. I just joined phd and my area is designing a testing framework. I am new in this field. Please suggest me that I can find some study material so I understand this field more deeply.

  9. M N Islam

    May 24, 2019

    Hi Sheshajee,
    Useful article i have found which is related to me. I am doing phd and my area is designing a test automation framework. Please suggest me that I can find some study material so I understand this field more deeply.

  10. Navaneethan

    May 30, 2019

    Great explanation..

Leave a comment