Blog

Test automation framework: why you should have one

In software development it’s hard to find anyone who considers software architecture useless, the same applies to automated tests. By test architecture I mean all code that will support and facilitate test cases development and execution (e.g. test framework), the project structure and any management that will take place (e.g. test data management and documentation).
27 February 2014
Test automation
The article by a1qa
a1qa

In software development it’s hard to find anyone who considers software architecture useless, the same applies to automation testing. By test architecture I mean all code that will support and facilitate test cases development and execution (e.g. test framework), the project structure and any management that will take place (e.g. test data management and documentation).

First of all there are 3 key points that reveal test automation framework uses:

  • Code support
  • Test support
  • Analysis

Analysis plays an important role for code support as well as test support – it is the most customer-oriented part, tightly connected with framework. Now let’s take a look at automation project architecture where test framework takes place.

  • System under test is processed with test tools through application interfaces (GUI/API)
  • Test tools actions and test libraries methods are invoked through its API by test framework.
  • Test framework uses test data, usually specially formatted for it.

This is the most common architecture. But is test framework really helpful?
First of all – forget about linear tests. Implementing test libraries makes your code reusable. Why doing same things over and over again when you can simply implement it once and use several times?

Main idea of test framework: a little bit more efforts once – much less efforts each time later. A common solution for this is design patterns. With design patterns we can improve some tests capabilities.

For example Page Object pattern reduces the maintenance impact, helps to implement similar tests much easier. In web testing Singleton can be used to provide a driver instance to tests instead of inheritance. If you need to verify a database, the Entity can be used to reduce the quantity of database connections.

However using design patterns along with test framework is recommended, but not obligatory.

When you need to decide what architecture to choose and answer the question “Should we have test automation framework?” try first to answer on this questions:

  • Who will develop the tests and analyze results?
  • Does this person have the right technical skills and domain knowledge?
  • Do you need to separate test description and/or data from low-level code?
  • How many third-party tools you use to access SUT?
  • Do you have time and budget to implement it internally or it would be better to get a professional help?

The article is prepared by Yan Gabis

More Posts

why-do-bugs-get-missed
31 August 2022,
by a1qa
4 min read
Why do bugs get missed? Learn the problems and tips to avoid them
Still, finding overlooked bugs after the app goes live? Let’s find out why this happens and how to fix it.
Quality assurance
Test automation
30 June 2022,
by a1qa
4 min read
App software testing for telecom: What are the common issues telco providers face?
Facing problems with the quality of your telecom software products? Read more in the article and find out the ways to address them.
Cybersecurity testing
Performance testing
Test automation
Mobile app testing
31 May 2022,
by a1qa
4 min read
Mobile app testing guide: win the race with five-star software
Which aspects of mobile apps to test first to produce a really high-quality product? Find the answer to this and other questions related to mobile app testing in the article.
Cybersecurity testing
Functional testing
Mobile app testing
Performance testing
Test automation
Usability testing
Test automation in Agile
20 May 2022,
by a1qa
5 min read
Test automation in Agile and DevOps: Maximizing flexibility and speed
Global market tendencies and user behavior are changing rapidly, if not talking about the software itself. Familiar situation? Find out how to get ahead of the curve with test automation in Agile and DevOps.
Agile
Test automation
19 April 2022,
by a1qa
5 min read
What prevents companies from boosting eCommerce customer experience: 4 common mistakes
Dreaming of a flawless online shopping journey for your users? Explore 4 widespread situations that hamper achieving this goal.
Cybersecurity testing
Performance testing
Test automation
Usability testing
2 February 2022,
by a1qa
5 min read
Interview with Mike Urbanovich: How to build a robust test automation strategy?
The Head of testing department at a1qa answers the questions on how to smartly build a winning test automation strategy and talks about the advantages you may obtain with it.
Test automation
31 January 2022,
by a1qa
4 min read
Scriptless test automation: revealing the truth via 3 misconceptions
Planning to go scriptless but in doubt? Explore 3 delusions of codeless test automation and its benefits when introduced smartly.
Test automation
test auto speed
11 November 2021,
by a1qa
4 min read
Test automation: 3 core activities to keep pace with dynamic software changes
Planning to release high-quality IT solutions faster? Find out which test automation activities help keep up with constantly updating products.
Test automation
ai-ml-test-automation-mini
29 October 2021,
by a1qa
4 min read
4 key QA activities to solve test automation challenges via AI and ML
How to address the difficulties caused by implementing test automation? Learn how to do it via applying AI and ML.
Test automation

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.