Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Frame work for QTP
#1
Hi all,
In most of the interview for QTP, interviewer always asks for frame work.
And as a new comer in QTP automation testing, most persons gets confused.
I request you all members,that please share your knowledge about the framework.
And if possible then give us an idea that how to generate scripts in Frameworks. Some screen shots also.
Reply
#2
(10-14-2009, 01:37 PM)rahul1234 Wrote: Hi all,
In most of the interview for QTP, interviewer always asks for frame work.
And as a new comer in QTP automation testing, most persons gets confused.
I request you all members,that please share your knowledge about the framework.
And if possible then give us an idea that how to generate scripts in Frameworks. Some screen shots also.

Rahul -
Have you been into a automation project yet ? If yes, there is nothing to tell you because either you did not ask your project manager what is the framework used or you were into execution.

I presume the answer is NO. To ask what is framework it is as good as asking "How to catch a fish in the ocean ? ". I will try my best to give you a push towards understanding a framework.

Framework is a set of guidelines or a set of rules on how the automation project is going to be handled technically. It mirrors test plan to a large extent. Framework forms the base on which you will develop your scripts and then report.

There are several different types of framework used industrywise. For eg : Keyword, data driven, hybrid etc etc.

Implementing a framework is as good as drawing a blueprint for a construction project. You will need to consider several cases pre and post and also understand the environmental challenges before deciding through.

A simple search on this forum may guide you to a extent, you can read through for simpler understanding on www.knowledgeinbox.com. (Thats just top of my head...)
Basanth
Give a fish to a man and you feed him for a day..Teach a man how to fish and you feed him for life.
Reply
#3
A good post on basics of QTP (UFT) Framework.
Reply
#4
Hi Basanth,
I have been used Linear, Hybrid framework. and offcourse 'YES', my project manager or any one did not ask me to implement any particular frame work. Actually i post this question because in IBM interview, interviewer asked me on which frame work you are working presently, I told Linear...Then interviewer told me that is very old frame work. Then i asked a question that "my application was developed in VB, and VB is also very old prog. language, so should i test or automate that application?"
Well thanks for you and Tarik's reply.
Reply
#5
(11-10-2009, 09:29 PM)rahul1234 Wrote: Hi Basanth,
I have been used Linear, Hybrid framework. and offcourse 'YES', my project manager or any one did not ask me to implement any particular frame work. Actually i post this question because in IBM interview, interviewer asked me on which frame work you are working presently, I told Linear...Then interviewer told me that is very old frame work. Then i asked a question that "my application was developed in VB, and VB is also very old prog. language, so should i test or automate that application?"
Well thanks for you and Tarik's reply.

Rahul -
Dont worry about the interviewers comments. Just let them know whatever framework you worked on. At IBM you will find a whole lot of nerds trying to find-out "Ideal" guy who would know everything, which even their fore-sons will not get. My bet is the guy who interviewed maybe was trying to learn from you about a different framework and he may not be even working on it. So cheer up buddy, you know better than him. Atleast you were Honest.

PS : In a company more or less we have the least of the freedom to implement our thoughts. Most of the times it is client-driven atmosphere, sometimes luckily we get a chance to do what we want. I know most of you would argue back but look back and forth, the bitter pill finally needs to be swallowed.

For the guys who are reading this and are on the interview panel, It is a myth that you will find a person who knows everything. There does not exist a company which will help a person to learn everything. And if a person knows everything then be careful. Surface is a thin layer, what matters is the under-holding.

All i request is find the guy who is clear of what he knows, that guy can know whatever is to be known.

@ Forum Members - Please do not further debate on this topic. If you are "angered" / "offended" / "over-whelmed" by the comments feel free to spam my mailbox.
Basanth
Give a fish to a man and you feed him for a day..Teach a man how to fish and you feed him for life.
Reply
#6
Basanth
Thanks for your reply. And i am sure that your reply would give confidence to each and every person. No matter either he/she works in either software industry or any industry.
And your reply is not not for IBM but its a generic for every one.
Reply
#7
Hi Rahul,

Here I would like to share some info on QTP framework, hope this helps:

What is a Framework ?

Instead of providing a bookish definition of a framework, lets consider an example.

I am sure you have attended a seminar / lecture / conference where the participants was asked to observe the following guidelines -


Participants should occupy their seat 5 minutes before start of lecture
Bring along a notebook and pen for note taking.
Read the abstract so you have an idea of what the presentation will be about.
Mobile Phones should be set on silent
Use the exit gates at opposite end to the speaker should you require to leave in middle of the lecture.
Questions will be taken at the end of the session






Do you think you can conduct a seminar WITHOUT observing these guidelines????

The answer is a big YES! Certainly you can conduct a seminar / lecture / conference / demonstration without above guidelines (in fact some of us will not follow them even though there are laid ... )



But if the guidelines are followed it will result in beneficial outcome like reduced audience distraction during lecture and increased participant retention and understanding of the subject matter.

Based on above, a Framework can be defined as a set of guidelines which when followed produce beneficial results.



Now what is a TEST Automation Framework ?

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. Mind you these are just guidelines and not rules; they are not mandatory and you can still script without following the guidelines. But you will miss out on the advantages of having a Framework.



What are the various Automation Frameworks available?

1) Linear Scripting
2)The Test Library Architecture Framework.
3)The Data-Driven Testing Framework.
4)The Keyword-Driven or Table-Driven Testing Framework.
5)The Hybrid Test Automation Framework.


Lets look at them in detail -

1) Linear Scripting - Record & Playback

It is the simplest of all Frameworks and also know as "Record & Playback".In this Framework , Tester manually records each step ( Navigation and User Inputs), Inserts Checkpoints ( Validation Steps) in the first round . He then , Plays back the recorded script in the subsequent rounds.



Ex : Consider logging into Flight Reservation Application and checking wether the application has loaded on successful log-on. Here , the tester will simply record the steps and add validation steps.


SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded after successful log-on


Window("Flight Reservation").Check CheckPoint("Flight Reservation")



Advantages

Fastest way to generate script
Automation expertise not required
Easiest way to learn the features of the Testing Tool


Disadvantages

Little reuse of scripts
Test data is hard coded into the script
Maintenance Nightmare




2)The Test Library Architecture Framework.



It is also know as "Structured Scripting" or "Functional Decomposition".

In this Framework , test scripts are initially recorded by “Record & Playback” method. Later, common tasks inside the scripts are identified and grouped into Functions. These Functions are called by main test script called Driver in different ways to create test cases.

Ex: Using the same example as above, the function for logging in to Flight Reservation will look like .


Function Login()

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

End Function


Now, you will call this function in the main script as follows

'Driver Script


Call Login()

---------------------------

Other Function calls / Test Steps.

---------------------------




Advantages

Higher level of code reuse is achieved in Structured Scripting as compared to “Record & Playback”
The automation scripts are less costly to develop due to higher code re-use
Easier Script Maintenance


Disadvantages

Technical expertise is necessary to write Scripts using Test Library Framework.
More time is needed to plan and prepare test scripts.
Test Data is hard coded within the scripts




3)The Data-Driven Testing Framework.

In this Framework , while Test case logic resides in Test Scripts, the Test Data is separated and kept outside the Test Scripts.Test Data is read from the external files (Excel Files, Text Files, CSV Files, ODBC Sources, DAO Objects, ADO Objects) and are loaded into the variables inside the Test Script. Variables are used both for Input values and for Verification values. Test Scripts themselves are prepared either using Linear Scripting or Test Library Framework.



Ex: Developing the Flight Reservation Login script using this method will involve two steps.



Step 1) Create a Test - Data file which could be Excel , CSV , or any other database source.



AgentName
Password

Jimmy
Mercury

Tina
MERCURY

Bill
MerCURY




Step 2) Develop Test Script and make references to your Test- Data source.



SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)

Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded

Window("Flight Reservation").Check CheckPoint("Flight Reservation")

**Note “dtGlobalSheet” is the default excel sheet provided by QTP.



Advantages

Changes to the Test Scripts do not affect the Test Data
Test Cases can be executed with multiple Sets of Data
A Variety of Test Scenarios can be executed by just varying the Test Data in the External Data File


DisAdvantages

More time is needed to plan and prepare both Test Scripts and Test Data


4)The Keyword-Driven or Table-Driven Testing Framework.

The Keyword-Driven or Table-Driven framework requires the development of data tables and keywords, independent of the test automation tool used to execute them . Tests can be designed with or without the Application. In a keyword-driven test, the functionality of the application-under-test is documented in a table as well as in step-by-step instructions for each test.

There are 3 basis components of a Keyword Driven Framework viz. Keyword , Application Map , Component Function.



What is a Keyword ?

Keyword is an Action that can be performed on a GUI Component. Ex . For GUI Component Textbox some Keywords ( Action) would be InputText, VerifyValue, VerifyProperty and so on.



What is Application Map?

An Application Map Provides Named References for GUI Components. Application Maps are nothing but “Object Repositry’



What is Component Function?

Component Functions are those functions that actively manipulate or interrogate GUI component. An example of a function would be click on web button with all error handling , enter data in a Web Edit with all error handling. Component functions could be application dependent or independent.



Ex: To understand Keyword View lets take the same example. It invovles 2 steps



Step 1: Creating Data Table (Different from Test-Data Table created in Data Driven Framework). This Data Table contains Action to be performed on GUI Objects and correspoding arguments if any. Each row respresents one Test Step.


Object

(Application MAP)

Action

(KEYWORDS)

Argument

WinEdit(Agent Name)
Set
Guru99

WinEdit(Password)
Set
Mercury

WinButton(OK)
Click

Window(Flight Reservation)
Verify
Exists






Step 2: Writing Code in the form of Component Functions.

Once you've created your data table(s), you simply write a program or a set of scripts that reads in each step, executes the step based on the keyword contained the Action field, performs error checking, and logs any relevant information. This program or set of scripts would look similar to the pseudo code below:



Function main()

{

Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.

while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.

{

Pass values to appropriate COMPONENT functions. Like Set(Object Name , Argument) ex. Set( Agent Name , Guru99).

}

}


Call CloseConnection() //Function for Closing connection after all the operation has been performed.

} //End of main



Thats all to Keyword Driven Framework.



The advantage of Keyword Driven Framework is that the Keywords are re-usable. To understand this consider you want to verify login operation for a Website say YAHOO MAIL. The table will look like this -



Object

(APPLICATION MAP)

Action

(KEYWORD)

Argument

WebEdit(UserName)
Set
abc@yahoo.com This e-mail address is being protected from spambots. You need JavaScript enabled to view it

WebEdit(Password)
Set
xxxxx

WebButton(OK)
Click

Window(Yahoo Mail)
Verify
Loads




If you observe in this case the Keywords Set , Click , Verify remain the same for which corresponding component functions are already developed. All you need to do is change the Application Mapping (Object Repository) from earlier Flight Reservation to Yahoo Mail , with change in argument values and the same script will work!



Advantages

Provides high code re-usability
Test Tool Independent
Independent of Application Under Test, same script works for AUT (with some limitations)
Tests can be designed with or without AUT


Disadvantages

Initial investment being pretty high, the benefits of this can only be realized if the application is considerably big and the test scripts are to be maintained for quite a few years.
High Automation expertise is required to create the Keyword Driven Framework.




NOTE : Even though QTP advertises itself as KeyWord Driven Framework, you can not achieve complete test tool and application idependence using QTP.



5)The Hybrid Test Automation Framework.

As the name suggests this framework is the combination of one or more frameworks discussed above pulling from their strengths and trying to mitigate their weaknesses. This hybrid test automation framework is what most frameworks evolve into over time and multiple projects. Maximum industry uses Keyword Framework in combination of Function decomposition method.



PS: Other Frameworks worth a mention are




1) Test Modularity Framework

In this framework common task in test script are grouped together as Modules.

Ex:Using Actions in QTP use can create a Modualr Scripts

‘Sample Script for Login
SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

‘End of Script



Now you can call this Action in the main script as follows -

RunAction ("Login[Argument]", oneIteration)

==========================================














(10-14-2009, 01:37 PM)rahul1234 Wrote: Hi all,
In most of the interview for QTP, interviewer always asks for frame work.
And as a new comer in QTP automation testing, most persons gets confused.
I request you all members,that please share your knowledge about the framework.
And if possible then give us an idea that how to generate scripts in Frameworks. Some screen shots also.
Reply
#8
Hi Sweety

So if I have 50 Test cases then what to do....Pls answer

Regards - Subhendu
Reply
#9
(07-01-2010, 11:15 AM)Sweety Wrote: Hi Rahul,

Here I would like to share some info on QTP framework, hope this helps:

What is a Framework ?

Instead of providing a bookish definition of a framework, lets consider an example.

I am sure you have attended a seminar / lecture / conference where the participants was asked to observe the following guidelines -


Participants should occupy their seat 5 minutes before start of lecture
Bring along a notebook and pen for note taking.
Read the abstract so you have an idea of what the presentation will be about.
Mobile Phones should be set on silent
Use the exit gates at opposite end to the speaker should you require to leave in middle of the lecture.
Questions will be taken at the end of the session






Do you think you can conduct a seminar WITHOUT observing these guidelines????

The answer is a big YES! Certainly you can conduct a seminar / lecture / conference / demonstration without above guidelines (in fact some of us will not follow them even though there are laid ... )



But if the guidelines are followed it will result in beneficial outcome like reduced audience distraction during lecture and increased participant retention and understanding of the subject matter.

Based on above, a Framework can be defined as a set of guidelines which when followed produce beneficial results.



Now what is a TEST Automation Framework ?

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. Mind you these are just guidelines and not rules; they are not mandatory and you can still script without following the guidelines. But you will miss out on the advantages of having a Framework.



What are the various Automation Frameworks available?

1) Linear Scripting
2)The Test Library Architecture Framework.
3)The Data-Driven Testing Framework.
4)The Keyword-Driven or Table-Driven Testing Framework.
5)The Hybrid Test Automation Framework.


Lets look at them in detail -

1) Linear Scripting - Record & Playback

It is the simplest of all Frameworks and also know as "Record & Playback".In this Framework , Tester manually records each step ( Navigation and User Inputs), Inserts Checkpoints ( Validation Steps) in the first round . He then , Plays back the recorded script in the subsequent rounds.



Ex : Consider logging into Flight Reservation Application and checking wether the application has loaded on successful log-on. Here , the tester will simply record the steps and add validation steps.


SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded after successful log-on


Window("Flight Reservation").Check CheckPoint("Flight Reservation")



Advantages

Fastest way to generate script
Automation expertise not required
Easiest way to learn the features of the Testing Tool


Disadvantages

Little reuse of scripts
Test data is hard coded into the script
Maintenance Nightmare




2)The Test Library Architecture Framework.



It is also know as "Structured Scripting" or "Functional Decomposition".

In this Framework , test scripts are initially recorded by “Record & Playback” method. Later, common tasks inside the scripts are identified and grouped into Functions. These Functions are called by main test script called Driver in different ways to create test cases.

Ex: Using the same example as above, the function for logging in to Flight Reservation will look like .


Function Login()

SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

End Function


Now, you will call this function in the main script as follows

'Driver Script


Call Login()

---------------------------

Other Function calls / Test Steps.

---------------------------




Advantages

Higher level of code reuse is achieved in Structured Scripting as compared to “Record & Playback”
The automation scripts are less costly to develop due to higher code re-use
Easier Script Maintenance


Disadvantages

Technical expertise is necessary to write Scripts using Test Library Framework.
More time is needed to plan and prepare test scripts.
Test Data is hard coded within the scripts




3)The Data-Driven Testing Framework.

In this Framework , while Test case logic resides in Test Scripts, the Test Data is separated and kept outside the Test Scripts.Test Data is read from the external files (Excel Files, Text Files, CSV Files, ODBC Sources, DAO Objects, ADO Objects) and are loaded into the variables inside the Test Script. Variables are used both for Input values and for Verification values. Test Scripts themselves are prepared either using Linear Scripting or Test Library Framework.



Ex: Developing the Flight Reservation Login script using this method will involve two steps.



Step 1) Create a Test - Data file which could be Excel , CSV , or any other database source.



AgentName
Password

Jimmy
Mercury

Tina
MERCURY

Bill
MerCURY




Step 2) Develop Test Script and make references to your Test- Data source.



SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet)

Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet)

Dialog("Login").WinButton("OK").Click

'Check Flight Reservation Window has loaded

Window("Flight Reservation").Check CheckPoint("Flight Reservation")

**Note “dtGlobalSheet” is the default excel sheet provided by QTP.



Advantages

Changes to the Test Scripts do not affect the Test Data
Test Cases can be executed with multiple Sets of Data
A Variety of Test Scenarios can be executed by just varying the Test Data in the External Data File


DisAdvantages

More time is needed to plan and prepare both Test Scripts and Test Data


4)The Keyword-Driven or Table-Driven Testing Framework.

The Keyword-Driven or Table-Driven framework requires the development of data tables and keywords, independent of the test automation tool used to execute them . Tests can be designed with or without the Application. In a keyword-driven test, the functionality of the application-under-test is documented in a table as well as in step-by-step instructions for each test.

There are 3 basis components of a Keyword Driven Framework viz. Keyword , Application Map , Component Function.



What is a Keyword ?

Keyword is an Action that can be performed on a GUI Component. Ex . For GUI Component Textbox some Keywords ( Action) would be InputText, VerifyValue, VerifyProperty and so on.



What is Application Map?

An Application Map Provides Named References for GUI Components. Application Maps are nothing but “Object Repositry’



What is Component Function?

Component Functions are those functions that actively manipulate or interrogate GUI component. An example of a function would be click on web button with all error handling , enter data in a Web Edit with all error handling. Component functions could be application dependent or independent.



Ex: To understand Keyword View lets take the same example. It invovles 2 steps



Step 1: Creating Data Table (Different from Test-Data Table created in Data Driven Framework). This Data Table contains Action to be performed on GUI Objects and correspoding arguments if any. Each row respresents one Test Step.


Object

(Application MAP)

Action

(KEYWORDS)

Argument

WinEdit(Agent Name)
Set
Guru99

WinEdit(Password)
Set
Mercury

WinButton(OK)
Click

Window(Flight Reservation)
Verify
Exists






Step 2: Writing Code in the form of Component Functions.

Once you've created your data table(s), you simply write a program or a set of scripts that reads in each step, executes the step based on the keyword contained the Action field, performs error checking, and logs any relevant information. This program or set of scripts would look similar to the pseudo code below:



Function main()

{

Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table.

while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table.

{

Pass values to appropriate COMPONENT functions. Like Set(Object Name , Argument) ex. Set( Agent Name , Guru99).

}

}


Call CloseConnection() //Function for Closing connection after all the operation has been performed.

} //End of main



Thats all to Keyword Driven Framework.



The advantage of Keyword Driven Framework is that the Keywords are re-usable. To understand this consider you want to verify login operation for a Website say YAHOO MAIL. The table will look like this -



Object

(APPLICATION MAP)

Action

(KEYWORD)

Argument

WebEdit(UserName)
Set
abc@yahoo.com This e-mail address is being protected from spambots. You need JavaScript enabled to view it

WebEdit(Password)
Set
xxxxx

WebButton(OK)
Click

Window(Yahoo Mail)
Verify
Loads




If you observe in this case the Keywords Set , Click , Verify remain the same for which corresponding component functions are already developed. All you need to do is change the Application Mapping (Object Repository) from earlier Flight Reservation to Yahoo Mail , with change in argument values and the same script will work!



Advantages

Provides high code re-usability
Test Tool Independent
Independent of Application Under Test, same script works for AUT (with some limitations)
Tests can be designed with or without AUT


Disadvantages

Initial investment being pretty high, the benefits of this can only be realized if the application is considerably big and the test scripts are to be maintained for quite a few years.
High Automation expertise is required to create the Keyword Driven Framework.




NOTE : Even though QTP advertises itself as KeyWord Driven Framework, you can not achieve complete test tool and application idependence using QTP.



5)The Hybrid Test Automation Framework.

As the name suggests this framework is the combination of one or more frameworks discussed above pulling from their strengths and trying to mitigate their weaknesses. This hybrid test automation framework is what most frameworks evolve into over time and multiple projects. Maximum industry uses Keyword Framework in combination of Function decomposition method.



PS: Other Frameworks worth a mention are




1) Test Modularity Framework

In this framework common task in test script are grouped together as Modules.

Ex:Using Actions in QTP use can create a Modualr Scripts

‘Sample Script for Login
SystemUtil.Run "flight4a.exe","","","open"

Dialog("Login").WinEdit("Agent Name:").Set "Guru99"

Dialog("Login").WinEdit("Password:").Set "Mercury"

Dialog("Login").WinButton("OK").Click

‘End of Script



Now you can call this Action in the main script as follows -

RunAction ("Login[Argument]", oneIteration)

==========================================














(10-14-2009, 01:37 PM)rahul1234 Wrote: Hi all,
In most of the interview for QTP, interviewer always asks for frame work.
And as a new comer in QTP automation testing, most persons gets confused.
I request you all members,that please share your knowledge about the framework.
And if possible then give us an idea that how to generate scripts in Frameworks. Some screen shots also.


@Sweety:

Nice post da...Really helpful. ThX
Reply
#10
any documents on frameworks sweety?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)