Tuesday 25 August 2015

Frameworks in QTP:

A frame work is a set of guidelines or set of best practices that enforces and set of standards which makes it easy to use for the end user to work with. A framework is a systematic approach which helps the end user to easily use the application. Frameworks in automation are of different types. But most commonly we use five frameworks. The five frameworks are very important and they listed as follows
·         Linear framework
·         Modular framework
·         Data driven framework
·         Keyword framework
·         Hybrid Framework

Linear Framework:

Linear framework is the framework where we write the visual basic scripts in step by step manner as depicted in the test case flow.it will particularly follow the test cases in step by step order.In this type of framework , We do not create any functions . All the steps are written one after the other in a linear fashion. The advantages of this linear Frame work is automation expertise is not required as record and playback methods can be used to create scripts. No need of using expertise framework recording will help to write the scripts.It is the fastest and easiest way to create test scripts.But if we want to reuse the code the only way is to copy paste it in different ways which leads to code duplication. If we want to change any thing, then lot rework has to be done which will create duplication a lot.
Modular Framework:

Modular Framework is the approach where all the test cases are first analyzed and then find out the flows which are reusable. While scripting all these reusable test cases are created like functions and stored in the external files. And they are called in the test scripts whenever these reusable files are required. The script can be created in a short period, as the reusable functions need to be created only once. It requires less effort to create test cases because we reuse code. But it had some disadvantages because the data is coded in the script ,the same test case may not be run continuously for many times if didn’t change the data for each run.It requires good programming knowledge is required to create and maintain these function libraries
Data Driven Framework:

In data driven framework, the data is not a hard coded in the test script. Instead, we store the test scripts in some external files .Firstly we connect the framework to the external source and then extracts the data from the source. Most of the times, excel sheets are used to store the data , other external data sources that are frequently used are text files, Xml files and databases . Since the data is kept separately from the test scripts, the same test scripts can be used to run multiple times for different sets of data. Changes made in the test data don’t effect the test scripts in any ways and vice versa. Basically for this data driven frameworks additional effort and good technical expertise is required to create functions that connect to the external data sources to retrieve the data, time is consumed a lot to prepare test cases separately and identify which data source is to be used and it is difficult how to data should be stored pr grouped in that external data source.

Keyword Framework:

In keyword driven framework,we can create a various keywords and can assess different actions or functions with each of these keywords.then we create a function library that contains the logic to read the keyword and call the associated action accordingly.We can run on multiple applications and the keywords and function libraries are completely generic so we can reuse them easily for different applications. All the complexities are added in the function libraries and once these libraries are ready to use , it becomes more easy  to write the actual test scripts steps in excel sheets  But as we have to create complex keywords and libraries more programming skills are needed for this . It’s not easy for new people to understand the framework quickly.

Hybrid Framework:

Hybrid framework, the name itself suggests that it is created by combining different features of any of the frameworks mentioned above like data driven, keyword, linear, modular etc., Based on our requirements we can combine the features of any of the above frameworks to come up with our own versions of hybrid frameworks.The main advantage of this framework is that you can use the best features from all the types of frameworks to create your own framework. But this framework needs highly good programming skills as it is very complex  to combine required frameworks . We’ve to be expertise and experienced to build it from scratch.  

1 comment: