Test Automation Problems (4) – Implementation Approach – Framework
Parent page: Test Automation Problems
Framework
There are 3 most popular approaches in implementation of Test Automation, and none of them isn’t ideally suitable for any environment.
Approach and problems
1) Linear scripts
- A single test case could be automated fairly quickly (especially using recording) but robustness without error-handling is very questionable
- GUI mapping is automatically performed by a Tool on the fly but duplication is very high, reusability not possible, and maintenance is expensive
- Due to a lack of structure at the Test Suite level there is a high duplication rate of the code and minimal reusability is possible (except of copy/paste but this is even worse) – so the maintenance cost is very high and there is a high chance that Test Suite won’t be functioning on time after the application is updated
- Built-in reporting isn’t friendly enough to use it as transferable Test Results
- Essentially the script is data-entry and comparison only, so validation has to be done manually – by going through all the test results
- Test scripts preparation, (update and debugging before) execution, and validation may take more time then just manual execution of the same test cases
2) Data-Driven Framework
- Library-based structure provides good usability and reusability but quality of the test scripts strongly depends on the programming skills and experience of implementing person
- Verification can be quickly implemented with checkpoints but checkpoint data maintenance is very time consuming
- The test logic is coded with the programming language so the more test scripts is created the higher is maintenance cost
3) Keyword-Driven Framework
- Requires initial investment for design and implementation of the Framework as well as requires a seasoned automation professional to implement it
- Implementation approach may still vary. There are successful and unsuccessful concepts of keyword-driven automation. A special attention should be paid on the meta-language usability for non-programming users