Let’s take a simple example to understand what is Test Automation Framework. How do you think Indian Democracy, the second largest in the world, is functioning? Is it ad-hoc? Nah! There are basic processes and structures that drive Indian democracy – The constitution of India. What if Constitution wasn’t there? What if people weren’t driven by any guidelines? Yeah! Total Chaos.

‘Framework’ is what drives almost everything – a basic outline or structure, a set of guidelines which when followed produce coherent & beneficial results. Be it manufacturing, politics or services. Then how can Test Automation Framework be different!

Test Automation Framework

Before moving to Test Automation framework, first let’s understand the different components involved in test automation.

AUT: The application under test

Test Automation tool such as HPE UFT or Selenium

Test Management Tool where the test cases & screenshots are stored. In its absence a common shared drive can also be used.

Test environment: A stable environment on which application is deployed for test purpose

Application Objects: Different elements within application like textbox, checkbox, radio button, dropdown, etc.

Now how do you think these different components interact to successfully test the application, automatically? How do you modularize application flows into different functions? How do you identify & organize application objects? Where is the Test data stored? How is it accessed? From where do you run the test scripts? Automation tool or Test Management tool? Which all screenshots & logs are captured? & in which format? How do you report the test execution results? Yeah! There has to be a set of guidelines driving these rules, right? That’s what we call it a Test Automation Framework!

Officially,

A Test Automation Framework is a set of protocols, standards and guidelines (programmed) that sets the rules of testing a specific product – how different automation components will interact to run automation scripts & capture the results in a coherent & beneficial manner. I.e. how these different components (building blocks) need to be assembled.

Lead by Example

Hope this makes the concept a bit clear? No? Confused yet? To make it more crystal clear, let’s see some of the permutations & combinations of how these different components can interact, i.e. different ways these components can be organized.

Instead of recording each & every step, club common tasks like User login into functions which can then be called from within different test scripts.

We can create a separate object repository to store details of all application objects and then use these objects in test scripts, instead of identifying the object every time in every script.

How about we keep the Test data outside the script? Say in a separate excel file? And then load these values in script variables at run-time?

Say we create different functions for every application flow/action and then read the sequence of steps (along with the data) from an external file like excel sheet? E.g. OpenHomePage >> EnterUsername >> EnterPassword >> ClickLogin

What if we define a common Configuration File containing all the environment settings like application URL, browser specific information, login credentials, etc.?

Capturing the screenshots for only the failed steps & creating a cumulative Pass/Fail report at the end of test execution which is saved in a shared drive

Test results are logged into a separate log file which can then be mailed to stakeholders

To summarize, Test Automation Framework play a key role in automation testing. But before you start building a framework, keep in mind that there is a divergent range of Test Automation Framework available now-a-days – make sure you are building a framework which is best suitable for the project or application under test!

Well this was just an introduction about test automation framework and I hope you got the basic idea of what a framework is all about. In future posts we will look into the different types of test automation framework popular now-a-days, till then don’t forget to subscribe to get all the new updates in your inbox, for FREE!

Related Articles

First of all, the question ‘What’s the average salary of Software Test Engineer’ is like asking ‘What’s the average house rent in Bengaluru, India?’ You tell me…Can’t? Yeah! You need some more filters to arrive at the rent – the house type (whether it’s a 1BHK/2BHK/Villa/etc.), the locality, furnishing status, society amenities, etc. In the same way, the pay scale for Software Testing domain (in fact for any technology) varies depending on multiple factors.

Knowledge about fundamental Testing concepts is necessary to crack an interview. But now-a-days only knowledge is not enough. Interviews are not just about the theory anymore. Every interviewer is looking for candidates who have practical exposure to different kind of situations and is able to handle them effectively. Most of the companies will have it as one of their selection criteria. And yes, it doesn’t depend on the technology. For every technology there will be situations that an experienced professional knows how to tackle. In this article, we will look at some of the situational FAQ commonly asked in a testing interview. But we will need your help here. It is just a beginning, please comment any situational question that you might have faced in a recent or any past interview. This would help us to collate an informative list for the Testing community.

Any technology or tool is worthless unless it is being used by ‘some’ organization somewhere. It all starts from organizations adopting the new technology or a tool and then it gets popular slowly. In that sense QA Job Descriptions are a great source of current technology, i.e. practical tech. being used by IT organizations. Be it Selenium, Protractor, Appium, API tools, Big Data Testing, etc. Everything is embedded in the QA Job descriptions, you just need to mine some data 😉 But don’t worry. Continuing on our “JD Talks” series – we mine hundreds of QA Job descriptions to come up with latest tools, technology, languages and concepts. Let’s see what the fourth set of JDs talk about…

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Current ye@r *

Leave this field empty

Get Started with Studio

Get Started with Studio

Follow STS

Stay updated | 1500+ Users

Name

Email*

S/W Testing Studio Archives

S/W Testing Studio Archives

About STS

Software Testing Studio is an attempt to share some incredible knowledge from industry leaders & experts, which should be helpful for anybody to start his/her career in ‘Software Testing’ or to progress it further. Apart from the technical nitty-gritties, one can also find some intellectual posts by industry experts sharing their Wisdom.