TL;DR
- Common TAF layers
- Core layer = test runner, logger, reporter, config layer, utility layer
- Business layer = UI/API controllers, Page objects, API service contracts
- Tests level = test data, tests
Test Automation Framework concept
- Overall, make life easier and lower maintenance costs.
- A testing framework is a set of guidelines used for creating and designing tests. A framework is designed to help QA team to test more efficiently. These guidelines could include coding standards, test data handling methods, object repositories, storing test results, info on how to access external resources.
- Benefits:
- improved test efficiency (doing the things right)
- lower maintenance costs
- max test coverage
- reusability of code
- Testing is ONLY about spending money, but ensuring quality and reputation. So we need to write tests faster. So what does it give us:
- TAF increases repeatability of smoke, regression tests
- saves time for complicated and repeatable tasks
- adopting CI/CD
- TAF speeds up data driven testing
TAF types

- Behavior-driven or not? It has extra business layer, which is time consuming. if there is no need to use BDD, and only you understand that, don’t use it, if business people (BA or manual testers) want to create the test cases, and control them, use BDD. If you want your code to be the test cases use BDD. Otherwise, you can use BDD like approach, not using the BDD.
- If data-driven, but how? Use DDT if you provide many different data and they have the same test steps. So, DDT is helpful to automate lots of test cases with single scenario code.
- Ex: We have different metadata to search, TAG, AUTHOR, LAW_FIRM, COMPANY, data if different but test steps are the same.
How to start?
- Make a research, ask what will be tested firstly, what is in priority, why testing particular things, what is in high risk.
- Think about test data. CREATE NEW USERS EVERY TIME.
TAF Architecture
DOs:
- Define expectations
- Choose tools (runner, reporter, logger)
- Define scope