Given the first part of the article (Part 1), a test automation framework in simple words is an extensive support structure within the test automation suite which is developed using the selected tool. It includes coding guidelines, directories, location of the data, environment, functions and test results. A well-defined test automation framework is able to achieve high re-usability of test components, develop easily new maintainable scripts and obtain high quality scripts. A perfect generic framework can be reused across projects saving time, effort, money and have a better return on investment (ROI) for the organization.
Well-established approaches that frameworks use for automating test cases include capture/playback approach, linear scripting, structured scripting, data-driven, keyword driven, process-driven and model-based testing. The reference sequence is not random, cause the first approach is the less advanced and typically easier to implement in opposition to the last one which is the most advanced, highly maintainable solution but more immature, since it is also the most innovative. Besides, a hybrid test automation framework which combines all the above-mentioned techniques is widely utilized the last years. The aforementioned options are heavily dependent on the context of the project, e.g. an already available small and simple SUT is the perfect candidate for the capture/playback approach in opposition to a very large and complex SUT. However, it may be efficient to start test automation by applying temporarily one of the less advanced options, as these are easier to implement and can provide added value at short term although it will result a less maintainable solution. The comparison table below includes the main characteristics including the advantages and drawbacks of every technique.
As was anticipated, the drawback to a specific project may be an advantage to another, hence there must be organized a proof of concept test process (POC). The tool selected should meet the criteria of the specific project. The process includes choosing a few representative scenarios, neither too easy nor too complex to implement, automating the chosen scenarios and analyzing the reports. The integration with other existed tools such as test management tools or Continuous Integration and Continuous Delivery tools is recommended as part of the POC procedure. A successful POC can ease the overall selection process or impede a wrong selection/configuration.
Designing the appropriate Test Automation Architecture and building the Test Automation Solution (TAS) should not be underestimated. In order to realize the TAS and achieve the desired benefits of test automation, the framework must be designed and developed wisely. A detailed analysis in terms of ease of use, reporting, integration with other tools may be the key of a successful selection and thus of a successful project. Such a framework can be used across projects and provide considerable ROI.