DEV Community

Cover image for Why we need test automation framework and how to develop it?

Posted on


Why we need test automation framework and how to develop it?

Test automation is a fundamental process along with testing applications manually. To make this whole automation process easier and performing automation testing in an effective and efficient way, QA engineers use automation frameworks. There are different types of frameworks available that serve different purposes. Some of the popular testing frameworks are:

  • Cypress - For E2E(End to End) Testing.
  • Selenium - For Web automation.
  • RESTAssured - A Java library to test REST API's.
  • Cucumber - Simple Gherkin used framework for BDD testing.

All the test automation frameworks serves some similar objectives. Those are:

Reusability: Frameworks gives the power to QA engineers to make their test automation process in a more non-redundant way and reuse the automated test cases.

Maintainability: Requirement changes most often. To maintain the test cases with the changing requirements, framework gives QA the additional benefits to make the changes more efficiently. Also, anyone can add more test cases or modify existing test cases if needed.

Readability: Framework makes it easier for QA engineers to read and understand the code more easily.

Test automation framework gives a boost to QA engineers to get their job done in a more convenient way. But there some phases to develop a test automation framework. The key phases are:

  1. Requirement gathering: Before designing a framework, it's important to understand the requirements first. What type resources a QA engineer needs, URL's or API all these things need to be considered first before developing a framework.
  2. Choosing automation tool: Considering the needs and purpose of automation, tools should be chosen accordingly.
  3. Designing the framework: It's one of the crucial phase of developing a framework. A framework with good design model makes handling the automation code in a more non-redundant way, makes it more maintainable and readable. One of the popular automation design model is POM(Page Object Model).
  4. Development and execution: After choosing and designing the framework, the QA engineer needs to implement the files.
  5. CI/CD: After development and execution, the framework can be deployed in CI/CD to maintain the continuous integration of automation codes.

Top comments (0)

Timeless DEV post...

Git Concepts I Wish I Knew Years Ago

The most used technology by developers is not Javascript.

It's not Python or HTML.

It hardly even gets mentioned in interviews or listed as a pre-requisite for jobs.

I'm talking about Git and version control of course.

One does not simply learn git