What is a Test Automation Framework in Software Testing

Why Automation of Testing

Some of our clients have been recently asking us if we could develop an Automation Test Framework for them. I just thought of discovering this wholly in steps, with a simple layman’s perspective such that we not only understand it but it should also make business and technical sense to our clients.

Testing software products is a highly effort intensive job. There is no static product. New features are being added to existing products; existing features are being enhanced or changed in an on-going basis. This simply means, when a new feature is added or existing one is modified, we again need to test all the functionalities of the product just to ensure that not only the new feature works well, but also all old features still continue to work well as expected. Nothing has broken down. This is referred as regression testing in software testing parlance.

If the above is done manually, the tester has to again key in all the test data for every test case, and the sheer repetitiveness of the efforts can be well imagined. This becomes a burden to repeat the same cases again and most often the developers and testers will lose interest and tend to ignore the old feature testing. This leaves the regression testing vulnerable to the whims and fancies of these team members. And we cannot blame them always, as it looks so monotonous to repeat.

This is where automation of testing becomes the most viable alternative. The teams will prefer to write test scripts for all test cases and scenarios once, and reuse the same in future simply by calling these scripts or functions. It becomes a win-win. By automation, regression testing is not compromised at all, and immense effort saving can also be achieved.

Hence automation of testing has become the de facto norm now in testing with ever changing product functionalities. Teams are moving away from manual testing. But automation requires substantial initial investment. This is where, companies start thinking about creating a Test Automation Framework. Test scripts (code for testing) have to be written initially, they have to be maintained in future as long as Test Automation Framework will be used. The investment has to become justifiable.

What is a Test Automation Framework

First let us define a Framework. Framework is a set of guidelines and standards, which when followed should help produce beneficial results.

A  Test Framework thus will be a set of guidelines like coding standards , test-data handling , object repository treatment etc. which when followed during automation scripting produce beneficial outcomes like increase code re-usage , higher portability , reduced script maintenance cost etc. Let us understand that these are just guidelines for developing the test scripts and not rules; they are not mandatory and one can still script without following the guidelines. But we will miss out on the advantages of having a Framework.

Available Test Automation Framework

  • Linear Scripting
  • The Test Library Architecture Framework.
  • The Data-Driven Testing Framework.
  • The Keyword-Driven or Table-Driven Testing Framework.
  • The Hybrid Test Automation Framework

Next we will discover each of the above in a simplified manner in my next blogs…..

By Sunil Agrawala

   Comment    30-05-2017 4 : 9 PM