Wednesday 1 May 2013

How to Identify Test Automation Framework


Automation Framework Requirements


The framework should facilitate automating test scenarios and allows anyone to run them from anywhere and at anytime.

  • Easy to maintain and update the scripts with newer releases or to accommodate changes  done to the application
  • Have Modular, Scalable and Extendable design.
  • Has high reusability so that development efforts should be minimum.
  • Framework should support the automation of test suite to cover the full breadth and depth of the application being tested
  • Easy to do selective test execution
  • Framework would be capable of handling any kind of unexpected errors.
  • Should generate a comprehensive report which is easy to analyse.


Framework Design Principles


Various factors need to be considered while designing an Automation Framework. Design and architecture is an important aspect of automation. The design has to represent all requirements in modules and in the interactions between modules. The guiding principles that are being followed when developing automation Framework are mentioned below.

  • Maintainability and Extendibility - The automation suite would be easily maintainable. This would imply that the design of individual elements be kept simple and intuitive. Nomenclature of the scripts and functions be kept simple and the code be well commented. The suite also needs to be extendible. This would imply building a common framework and standards on which more enhancements to application or test scenarios can be easily added. All test scripts will strictly adhere to the framework and standards
  • Ease of Customization - Test data would be parameterized into constants or data files. A tester should not be required to modify a test script in order to setup a test run. The only things that could need changes during a setup of a test run should be a few constants and/or the data tables to setup the scripts with the right data. Even with the constants and data tables, the changes should be easy and well defined.
  • Scalability - Framework would allow scheduling all test scripts or targeted test scripts from different modules for execution single run/test. This provides the flexibility that there is no dependency that different module to be tested or executed separately.
  • Modularity - Framework would be Modular. Different components of the Framework would be divided into separate modules. This would lead to ease in usage and maintenance of the framework
  • Error Handling – Framework would be capable of handling any kind of unexpected errors.
  • Reporting – Framework would generate a comprehensive report which is easy to analyse and can be shared with client.

No comments:

Post a Comment