Characteristics of a Good Test Automation Framework

Framework Organization

  • The automation framework needs to be well organized to make it easier to understand and work with the framework. Organized framework provides an easier way to expand and maintain. Items to be considered are
  • Easier way to manage resources, configurations, input test data, test cases and utility functions
  • Provide support for adding new features
  • Easy option to integrate with Automation tool, third part tools, databases etc…
  • Have the standard scripting guidelines that needs to be followed to be across

Good Design

  • Automation tests are used for long terms regression runs to reduce the testing turnaround time, hence, the design involved should be good so that the tests can be maintained easily and yield reliable tests results. Following are some of the good design step
  • Separation of application locators from the test code so that the locators can be updated in the locator file independently on change. Example: To use locators from the object map, external excel or xml file
  • Separate test data from the code and pull data from the external sources such as excel, text file, csv or xml file. Whenever required we can just update the data in the file
  • Organize tests as modules/ functions, so that they are re-usable and easy to manage. Have application/ business logic in the separate class and call them from the test class
  • Tests should start from the base state and ensure that it recovers and continues when there are intermittent test failures

Configuration Option - Compatible

  • The framework should provide option to choose the configurations at run time so that it can be used as per the test execution requirement. Some of the configurations include
  • Ability to choose test execution environment such as QA, Staging or Production
  • Ability to choose the browser
  • Ability to choose the operating system, platform
  • Ability to mark for priority dependency and groups for the tests

Re-usable Code

  • Test automation framework should be reusable. Reusability of test framework helps reduce duplication and rework to a great extent and allows to be more productive.

Re-usable Lib

  • Libraries helps in grouping of the application utilities and hide the complex implementation logic from the external world. It helps in code reusability and easy to maintain code.
  • Build the library of utilities, business logic, external connections
  • Build the library of generic functions of the framework

Reports and Logs - Traceable

  • To evaluate the effectiveness of automation we need to right set of results, the automation framework should provide all the detailed required to test execution.
  • Provide logs with necessary details of problem with the custom message
  • Have reports which provides the detailed execution status with Pass/ Fail/ Skipped category along with the screenshots
  • A good test automation framework should be traceable so that the testers can easily find the data and results which can be easily monitored or act upon to respond to a particular requirement

Version Control and CI

  • To effectively control the automation framework we need to keep track of it, hence the version control system is required to achieve this. Have the framework integrated with the version control.
  • Also we need to run the regression suite continuously to ensure that the tests are running fine and the application functionality is as expected, hence the continuous integration system is required to support for execution of the and results monitoring.

Modular

  • TA framework should be modular so that testers can change it depending on the test environment and cases. It should be flexible enough to withstand the changes in the size of the test cases.

Popularity and community size

  • The more well-known and recognized the framework is, the more it will be “living,” evolving and complete: new ideas, the number and quality of plug-ins, etc.

Technique

  • To avoid becoming trapped in a labyrinth, it is always preferable to choose an interoperable solution; one that respects best practices in terms of development (design patterns).

Documentation

  • It is an absolute necessity to evaluating the nature, volume and quality of existing literature about a framework: a well-documented tool is both easier to use and more upgradeable.

Availability of resources on the market

  • Perhaps you would want to have a technical team surround you during the development phase or in the longer term, for both maintenance and upgrades. In other words, make sure that the skills required for the tool that you are using are available on the open market.

Support

  • Another criterion that should not be overlooked is the ease of finding answers to your questions and getting help. Identify the support that is available: from the publisher. From a community (mailing lists, IRC, etc.)? From Service Companies (development, support, training)?
Sưu tầm và chỉnh sửa trên Internet

Bạn có muốn tự mình xây dựng được một Automation Framework có đủ các tiêu chuẩn trên

Tham gia khóa học để trở thành Automation Tester chuyên nghiệp


Nhận xét

Bài đăng phổ biến từ blog này

Tự động hoá kiểm thử với WebDriver/RestAssured(Rest API) và Serenity BDD

Bài 2: Cài đặt môi trường và công tác chuẩn bị

khóa học Selenium WebDriver online cho cá nhân