Site icon Vinsguru

Best Practices – Building Robust Test Automation Framework

This article explains the best practices to be considered in building robust test automation framework.

Test Automation – A Brief History:

I still remember – It was sometime in 2004. I was thrilled when I first saw QTP (now it is UFT) playing the recorded script – launching a browser, entering test data and submitting the page etc. QTP was dominating the test automation world at that time and It was very expensive. Not everyone could afford. That is when I had started my career in IT.

Most of the people had no idea about test automation frameworks at that time. Developers were not involved in test automation & QA people were mostly doing record and playback with simple parameterization. They would come up with some best practices & improve their tests based on their past mistakes. Mostly the scripts required more maintenance work due to poor design. Most of the QA people would not have any idea about the design patterns/principles.

Suddenly the mobile devices started popping up everywhere, cloud technologies came up, many complex web-based applications were built, agile methodology was followed…etc. During this time everyone understood the importance of test automation. Once Selenium WebDriver has been introduced which is FREE and Open source in the same time, It got everyone’s attention. Some QA/Dev became SDET (Software Development Engineer in Test), introduced design principles and built better frameworks.

Role Of SDET:

SDET’s role is very significant in building a robust test automation framework. Once I had a chance to take a look at the test framework created by a Software Architect who was architect of the application under test. They had implemented all the latest technologies like micro services at that time which was great. But the test framework was created like a unit/integration testing framework. They were using DB dump files for data provisioning. Before they start the automated test, they need to get rid of all the data and table structure from the DB and they recreate all the test data using the file. This process used to take 30-45 mins every time.  Obviously they were able to run their tests only in the lower environment. They can not run these tests in the higher environments due to DB access. The tests were tightly coupled with this DB import process.

In order to build a robust test automation framework, We should have both the mindset of both QA + Dev & have a very good understanding of 

Basic Requirements of a Test Automation Framework:

 

Summary:

We should consider the above capabilities while designing our test automation framework to come up with a more reliable, robust automation scripts to test products/features we launch. By using business keywords/feature files, we should be able to add new tests. CI process helps us to detect any defects as soon as it has been introduced. Thus overall time to market is greatly reduced.

 

Happy Testing & Subscribe 🙂

 

 

Share This:

Exit mobile version