Saturday 3 January 2015

Introduction To Testing Frameworks

Our aim behind writing this blog is to introduce software testing framework, the requirement of  testing framework and different types of frameworks.

The software testing framework or testing automated framework is a specially designed platform for executing automated test. This is characterize as the set of concepts, theory, and practices that establish a platform for test automation process. Before going to detail, let us first refine our knowledge about software test automation.

Software Test Automation :
Software test automation process is the use of special software to perform regression tests over a software that is being tested. These special software or tools are used with pre-defined settings for executing test cases and determining the output with expected results. The test are automated for only the regions of application which needs to tested again-and-again due to continuous change in application areas.

Why test automation is required ?
There are several points due to which test automation is required to implement on software project :

  • For increasing test coverage area and saving time of testing a project.
  • Reduce manual testing requirement and identifying defects which manual testing unable to discover.
  • To perform testing process sufficiently, and quickly.
  • Executing test several times helps tester to make sure that changes made to the system does not have any effect to the previous software build or it will not break previous code.
  • Also this will help a tester identify the desired functionality that needs to be implemented in software.
  • The automated tests all together forms regression testing suite. This regression test suit helps tester to ensure that software is behaving properly even after making changes to application.
  • Test automation process also reduces efforts and time elapsed in regression testing.
  • Test automation also helps tester to identify errors or defects at an early stage of software development process.
Testing Framework :
As we have defined above the testing framework or test automation framework is an environment used for executing test efficiently in a less amount of time. In actual the framework is a set of approaches, methods for implementing automation test on software.
The test automation framework is responsible for :
  • Describing format to express expected outputs.
  • Developing a mechanism to drive the test for application being tested.
  • Test execution.
  • Reports preparation for the outputs.
Testing Framework Properties :
  • The testing framework is application independent
  • It can easily be maintained, preserve and expand.
Why testing framework is needed ?
  • The organized testing framework is helpful in avoiding test cases automation duplication.
  • The testing frameworks facilitate testers to organize testing suits and increase test efficiency.
  • It helps tester to implement test strategy for different test projects in a short available time.
  • To perform different test on frequently changing application we can't change automation environment. Hence we use frameworks which are application independent and are capable to expand with changing requirement of applications.
Types of Test Framework :
  • Modular framework
  • Data-driven framework
  • Keyword-driven framework
  • Hybrid framework
Modular Framework :
The Modular framework is based on abstraction concept.
This involves independent scripts creation which represent modules of the software application that is being tested. These software modules are further be used in hierarchical order to create large test cases. Thus it develops an abstraction layer for a software component to hide it from rest of the software application and due to this, the changes done on other areas of application does not effect the preserved component.

Data-driven Framework :
Data-driven test framework is the platform where input tests and desired outputs are stored in a independent data file (usually in tabular format) so that single driver script can easily execute all the created test cases with the help of multiple data sets. The driver script holds program navigation, reading data files, and test status information logging.

Keyword-driven framework :
Keyword-driven test is an application independent framework that utilize self descriptive keywords and data tables for explaining actions which needs to perform on application that is being tested. In this not only the kept test data in file but also the instructions for performing appropriate actions according to the scripts is kept in outside input data file. These instructions are known as 'keywords'. Testing based on keyword is an expansion to data-driven testing.

Hybrid framework :
The hybrid test framework is combination of data-driven, modular and keyword-driven test frameworks. This frameworks combination helps data-driven testing scripts to take advantage of libraries which usually followed by keyword-driven testing.

These are some of the basic informations about software automation testing frameworks. There are more details associated with these frameworks, which we will discuss in some other blog. Please keep reading our blog for further details that can facilitate you to build your knowledge about software testing fundamentals.