what is qtp automation frame work,what is the use of that
frame work?

Answer Posted / soumitro chatterjee

Automation frame work is a set of procedures
designed by Automation Testers or their seniors to do a task
in an effective,efficient and an optimized way.

Broadly categorized Framework are :
1) Key Word Driven Testing:Most of the companies follow
keyword framework

The Keyword Driven framework consists of the basic
components given below
1. Control File
2. Test Case File
3. Startup Script
4. Driver Script
5. Utility Script

1. Control File a)Consists details of all the Test scenarios
to be automated b)User will be able to select a specific
scenario to execute based on turning on or off a flag in the
Control File c) Control File is in the form of an excel
worksheet and contains columns for Scenario ID,Execute
(Y/N),Object Repository Path, Test Case File Path

2. Test Case File a)Contains the detailed steps to be
carried out for the execution of a test case b) It is also
in the form of an excel sheet and contains columns for
Keyword, Object Name, Parameter

3. Startup Script a) The Starup script is utilised for the
initialization and reads the control files b) It then calls
the driver script to execute all the scenarios marked for
execution in the control file

4. Driver Script a) It Reads the Test Case files. Checks the
keywords and calls the appropriate utility script functions
based on specific keyword b) Error Handling is taken care of
in the driver script.

5. Utility Scripts a) Perform generic tasks that can be used
across applications. It should not be application dependent
Advantage of Framework.
The main advantage of this framework is the low cost for
maintenace. If there is change to any test case then only
the Test Case File needs to be updated and the Driver Script
and Startup script will remain the same.
No need to update the scripts in case of changes to the
application.
ALSO

Keyword-driven testing is a Software testing technique that
separates much of the programming work from the actual test
steps so that the test steps can be developed earlier and
can often be maintained with only minor updates, even when
the application or testing needs change significantly.

Keyword-driven testing (also: table-driven testing,
action-word testing) is a software testing methodology.
Although keyword testing can be used for manual testing, it
is a technique particularly well suited to automated
testing[1]. The advantages for automated tests are the
reusability and therefore ease of maintenance of tests that
have been created at a high level of abstraction.
Methodology
The keyword-driven testing methodology divides test creation
into two stages: the Planning Stage, and the Implementation
Stage.
Planning Stage
Examples of keywords
A simple keyword (one action on one object), e.g. entering a
username into a textfield.
Object
Action
Data
Textfield (username)
Enter text
<username>
A more complex keyword (a combination of other keywords in a
meaningful unit), e.g. logging in.
Object
Action
Data
Textfield (domain)
Enter text
<domain>
Textfield (username)
Enter text
<username>
Textfield (password)
Enter text
<password>
Button (login)
Click
One left click
Implementation Stage
The implementation stage differs depending on the tool or
framework used. Often, automation engineers implement a
framework that provides keywords like “check” and “enter”
[1]. Testers or test designers (who don’t have to know how
to program) write test cases based on the keywords defined
in the planning stage that have been implemented by the
engineers. The test is executed using a driver that reads
the keywords and executes the corresponding code.
Other methodologies use an all-in-one implementation stage.
Instead of separating the tasks of test design and test
engineering, the test design is the test automation.
Keywords, such as “enter” or “check” are created using tools
in which the necessary code has already been written. This
removes the necessity for extra engineers in the test
process, because the implementation for the keywords is
already a part of the tool. Tools such as GUIdancer and
Worksoft Certify use this approach.
Benefits
Although this methodology requires more planning and a
longer initial time-investment than going directly to the
test creation stage and recording a test, it does make the
test creation and test maintenance stages more efficient and
keeps the structure of individual tests more readable and
easier to modify. The more abstract keywords are, the more
reusable they are, and therefore the easier a test is to
maintain. As well as reducing the cost and time spent
maintaining and updating tests, the modular structure of
keyword-driven testing means that new tests can easily be
created from pre-existing modules.
Another advantage is the reduction in technical know-how
required for the test automation process. In the first
approach, technical know-how is only required by the
engineers that implement the keywords. In the second
approach, even this is not required, which means that the
test team is capable of entirely automating tests, even
without programming knowledge.




2) Data-driven Testing:

Data-driven testing is a framework where test input and
output values are read from data files (datapools, ODBC
sources, csv files, Excel files, DAO objects, ADO objects,
and such) and are loaded into variables in captured or
manually coded scripts. In this framework, variables are
used for both input values and output verification values.
Navigation through the program, reading of the data files,
and logging of test status and information are all coded in
the test script.

In the testing of software or programs, several
methodologies exist in dictating how this testing will be
performed. Each of these methods exist because they differ
in their effort required to establish initially and then to
subsequently maintain. This article aims to explain the
data-driven method which is part of the automated testing
disciplines.
[edit] Methodology Overview
Data-driven testing is a methodology used in Test automation
where test scripts are executed and verified based on the
data values stored in one or more central data sources or
databases. These databases can range from datapools, ODBC
sources, csv files, Excel files, DAO objects, ADO objects,
etc. Data-driven testing is the establishment of several
interacting test scripts together with their related data
results in a framework used for the methodology. In this
framework, variables are used for both input values and
output verification values: navigation through the program,
reading of the data sources, and logging of test status and
information are all coded in the test script. Thus, the
logic executed in the script is also dependent on the data
values.
This is similar to Keyword-driven testing in that the test
case is contained in the data values and not in the test
script; the script is just a "driver" or delivery mechanism
for the data. Unlike in keyword-driven testing, though, the
navigation data isn't contained in the test script. In
data-driven testing, only test data is contained in the data
source.



3) Modularity-driven testing

The test script modularity framework requires the creation
of small, independent scripts that represent modules,
sections, and functions of the application-under-test. These
small scripts are then used in a hierarchical fashion to
construct larger tests, realizing a particular test case.
Test Script Modularity Framework
The test script modularity framework requires the creation
of small, independent scripts that represent modules,
sections, and functions of the application-under-test. These
small scripts are then used in a hierarchical fashion to
construct larger tests, realizing a particular test case.
Of all the frameworks, this one should be the simplest to
grasp and master. It is a well-known programming strategy to
build an abstraction layer in front of a component to hide
the component from the rest of the application. This
insulates the application from modifications in the
component and provides modularity in the application design.
The test script modularity framework applies this principle
of abstraction or encapsulation in order to improve the
maintainability and scalability of automated test suites.


4)Hybrid

The hybrid Test_Automation_Framework is what most frameworks
evolve into over time and multiple projects. The most
successful automation frameworks generally accommodate both
Keyword-driven_testing as well as Data-driven_testing. This
allows data driven scripts to take advantage of the powerful
libraries and utilities that usually accompany a keyword
driven architecture. The framework utilities can make the
data driven scripts more compact and less prone to failure
than they otherwise would have been. The utilities can also
facilitate the gradual and manageable conversion of existing
scripts to keyword driven equivalents when and where that
appears desirable. On the other hand, the framework can use
scripts to perform some tasks that might be too difficult to
re-implement in a pure keyword driven approach, or where the
keyword driven capabilities are not yet in place.
The Framework
The framework is defined by the Core Data Driven Engine, the
Component Functions, and the Support Libraries (see adjacent
picture) . While the Support Libraries provide generic
routines useful even outside the context of a keyword driven
framework, the core engine and component functions are
highly dependent on the existence of all three elements. The
test execution starts with the LAUNCH TEST(1) script. This
script invokes the Core Data Driven Engine by providing one
or more High-Level Test Tables to CycleDriver(2).
CycleDriver processes these test tables invoking the
SuiteDriver(3) for each Intermediate-Level Test Table it
encounters. SuiteDriver processes these intermediate-level
tables invoking StepDriver(4) for each Low-Level Test Table
it encounters. As StepDriver processes these low-level
tables it attempts to keep the application in synch with the
test. When StepDriver encounters a low-level command for a
specific component, it determines what Type of component is
involved and invokes the corresponding Component Function(5)
module to handle the task.

5)Linear

I hope this will help us to know about Automation Framework
in a detailed manner.

Regards
Soumitro

Is This Answer Correct ?    3 Yes 1 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What are the recording modes in wave event?

1538


hi Friends ,willany body tell me what is the Scope for the automation Testing inht Future is their Or not And what is the Top Most Level in the testing section according the Pay scale

1511


Hi Friends... By using QTP , can we test .net products...and that product supports different languages.. thanx in advance..

4145


1. What is the difference between Keyword and function in the keyword driven framework? 2. How do you associate Keywords to the script ?

991


regular expression in qtp standar check point for months from accepting months from january to december only

1479






Explain different recording modes?

585


How do you open adobe acrobat file in QTP and do some testing on that file ?

625


What are the five challenges you faced in QTP?

2754


Explain different checkpoints in qtp.

723


whenever U using QTP,Test Director, Why we using separate Bug tracking tool?

1569


Do you know SQL? I know SQL but i don't have any experience...that's it..No more questions ...simply he said " you can leave for the day" ...guys prepare SQL Quires before attending interview in bank of america...

1320


how to evalute defects in QTP script?

1492


Why qtp the best testing tool?

568


Hi, I am using OutputCheckPoint and I am storing the value in the data table. The stored value for column:bedroom:"Bed:4" The another value for column:bathroom:"Bath:2 Full,1 Partial" I need only the no 4 from the first column. I need only the no 2,1 from the second column. I used split array,but it also show array(0) has the value"bed:4" ..... Even though I highlight only 4,It is seleting the full value "bed 4".How can I get only the nos Thank you Uma

1308


An action has both shared and local OR associated with it and both have the same object in them. In the test which one will be considered?

576