Monday, April 11, 2016

Business Process Testing (BPT) Framework in QTP

Business Process Testing (BPT) Framework is the framework where you can divide the test cases into multiple flows and each of these flows is scripted by using a Business Process Component. When all the components for a particular test case are ready, you can link the components one after the other as per the test case flow and execute the BPT test case from QC.

To know more about BPT Framework please refer this link

Components in BPT Framework


  • Application Area: Application Area acts as a container or a place holder that stores the Business Process Components and other related items such as function libraries, object repositories etc.
  • Business Process Component: Just like functions or actions that can be used to store re-usable code, BPT framework has Business Process Components in which you write the scripts for an action.
  • Above mentioned are the two components that are available specifically in BPT Framework. Other than these, you will have the standard components like function libraries, object repositories, data sheets etc as part of your BPT Framework.
Workflow in BPT Framework


Advantages of BPT Framework
  • BPT Framework allows non-technical subject matter experts to quickly create test cases using the business process components.
  • A lot of features such as component linking & data parameterization come built in with the BPT Framework. Because of this you do not need to spend extra effort to write code for these functionalities.

Disadvantages of BPT Framework
  • BPT Framework can be used only if you have QC access.
  • You would need to purchase additional license for BPT Framework if you want to use this for your test scripts.

Hybrid Framework in QTP

Hybrid Framework is a framework that is created by combining different features of any of the frameworks mentioned above. Based upon your requirements, you can combine the features of any of the above frameworks to come up with your own version of Hybrid Framework.
There are many different ways to create a Hybrid Framework. Let’s see the structure and workflow for one of these types of Hybrid Framework.

Components in Keyword Driven Framework


  • Driver Script: It is a VBScript file that acts as the starting point for running your test scripts.
  • Batch Sheet: Batch Sheet contains the list of all the test cases that you have automated. It also contains a column named “Execute” which contains values ‘Yes’ and ‘No’. The Driver Script
    reads this sheet and executes those test cases that are marked as ‘Yes’.
  • Test Case Flow Sheet: Each test case is divided into different business flows. So a test case will be completely executed only when all its flows have been executed.

  • These are the main components that constitute a Hybrid Framework. Other common components like Function Libraries, Data Sheets, Object Repositories, Configuration files etc are also a part of Hybrid Framework.
Workflow in Hybrid Framework


Advantages of Hybrid Framework

The main advantage of this approach is that you can use the best features from all the types of frameworks to create your own.

Disadvantages of Hybrid Framework

The framework is highly complex and needs very good programming expertise and experience to build a Hybrid Framework from scratch.



Keyword Driven Framework in QTP

In Keyword Driven framework, you can create various keywords and associate a different action or function with each of these keywords. Then you create a Function Library that contains the logic to read the keywords and call the associated action.
Keyword driven frameworks come in many different flavors. One of them is explained below.

Components in Keyword Driven Framework


  • Data Table or Excel Sheets which contains the keywords and the steps needed to execute a particular flow or action.

  • A Function Library which contains various functions that read each line from the excel sheet, convert it into “QTP readable” format and finally execute it. For example, the function library would read the first line from the excel and convert it as –
           Browser(“Title”).Page(“Title”).WebEdit(“UserName”).Set “user1”
  • Object Repository may or may not be used in this framework. You can use descriptive programming approach if you want to avoid using the object repository.
Workflow in Keyword Driven Framework


Advantages of Keyword Driven Framework
  • The keyword and function libraries are completely generic and thus can be reused easily for different applications.
  • All the complexity is added in the function libraries. Once the libraries are ready, it becomes very easy to write the actual test script steps in excel sheets.
Disadvantages of Keyword Driven Framework
  • Lot of time and effort needs to be spent initially to create the function libraries. The benefits of the keyword driven framework are realized only after it has been used for longer periods of time.
  • Very high programming skills are needed to create the complex keyword library functions.
  • It’s not easy for new people to understand the framework quickly.

Data Driven Framework in QTP

In Data Driven Framework, the data is NOT hard-coded in the test scripts. Instead, it is stored in some external files. The test script first connects to the external data source and then extracts the data from that 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.
  • Databases.
  • Combination of more than one external file.

Components and Workflow of Data Driven Framework


Advantages of Data Driven Framework
  • Since the data is kept separate from the test script, the same script can be run multiple times for different sets of data (which can be kept in multiple rows in the data sheet).
  • Changes made in the test data don’t affect the test scripts in any way and vice versa.

Disadvantages of Data Driven Framework
  • Additional effort and good technical expertise is required to create functions that connect to the external data sources to retrieve the data.
  • Additional amount of time is required in identifying which external data source to use and deciding how the data should be stored or grouped in that external data source.

Modular Framework in QTP

Modular Framework is the approach where all the test cases are first analyzed to find out the reusable flows. Then while scripting, all these reusable flows are created as functions and stored in external files and called in the test scripts wherever required. Consider the following 2 test cases.

a) Login > Create Order > Logout.
b) Login > Search Order > Logout.

Here Login and Logout are the reusable flows. Functions would be created for each of these flows which will be saved in an external function library. The test scripts would look something like this.



Components and Workflow of Modular Framework




In order to use the functions from the external library file, the library file must be first associated to the test cases. Once this is done, the test case can call all the functions present in the library file.

Advantages of Modular Framework
  • Test Scripts can be created in relatively less time as the reusable functions need to be created only once.
  • Effort required to create test cases is also lesser due to code reuse.
  • If there are any changes in the reusable functions, the changes need to be done in only a single place. Hence script maintenance is easier.
Disadvantages of Modular Framework
  • Since data is still hard coded in the script, the same test case cannot be run for multiple data values without changing data after each run.
  • Additional time is spent in analyzing the test cases to identify with reusable flows.
  • Good programming knowledge is required to create and maintain function libraries.

Linear Framework in QTP

Linear Framework is the framework where you write the scripts in a step by step manner as depicted in the test case flow. In this type of framework, you don’t create any functions and all the steps are written one after the other in a linear fashion. Suppose you have a test case with the following flow -> Login > Create Order -> Logout, the test script for this will be written as –




Components and Workflow in Linear Framework
Following diagram illustrates the components and the typical workflow of the Linear Framework in QTP.


Here each test case has its own local object repository and the data is hard-coded in the script.

Advantages of Linear Framework

  • Automation expertise not required as record and playback method can be used to create scripts.
  • Fastest and easiest way to create test scripts.
  • Understanding the framework flow is very easy as the scripts are written in a linear manner.
Disadvantages of Linear Framework


  • The only way to reuse the code will be to copy paste it in different test cases which leads to code duplication.
  • Since data is hard coded in the script, the same test case cannot be run for multiple data values without changing data after each run.
  • In case of any changes lot of rework would be required as the reusable code is duplicated at a lot of places.

What is Test Automation Framework?

Suppose you are given a task where you have to automate some test cases for an application. When you are finished automating the application, what would be your expectations from the scripts you have created? Wouldn’t you want that –

  • the scripts should run as intended without any issues.
  • the code and the flows should be easy to understand.
  • the scripts should be easy to maintain in case of any changes.

All the above points can be achieved by using a proper Automation Framework.
An Automation Framework is a set of guidelines that you can follow during test case scripting to achieve the above mentioned results. This set of guidelines can be anything such as –

  • Specifying the folder structure that will be used for storing test cases, function libraries, object repositories and data sheets.
  • Deciding the format of the data sheets i.e., how the data sheets would be grouped and how the scripts will access these data sheets.
  • Following proper coding standards and using comments so that the code can be understood easily by anyone.
  • Using reusable functions wherever possible so that lesser amount of rework is needed in case of any changes

NOTE: These are just a set of guidelines and not some rules that should compulsorily be followed. Even if you don’t follow any of these guidelines, you would be able to come up with test scripts that would run perfectly fine. But you might not have the additional advantages like readability of code, ease of maintenance etc.

About Me

My photo
Hi all,I am Arun Singh Rajaputra. I am working as a Project Lead in a reputed organization in Hyderabad, AP, India. I have little bit knowledge on Quick Test Professional and like to share my knowledge to all through this blog.

Subscribe to get updates on this blog

Enter your email address:

NOTE

Some of the posts posted in this blog are collected and most of them have been prepared by me. If any one have objections regarding any copied posts. Please mail me so that I can take a necessary action on that post.