Test automation process _ QTPPresentation Transcript
Test Automation Process
What Does Test Automation Mean?
It really means using tools to:
Manage test scheduling
Do repetitive and tedious testing tasks
Simulate users of the product
Be able to accurately reproduce tests
Run more tests in a shorter period of time
Build regression test suites
Build tests to validate requirements / functionality
Reduce Test Team headcount
Test Effort Saving through Automation
Test Automation will not:
Help a late project
Pay off on the first release
Completely replace manual testing
Eliminate test planning
Succeed without respect for basic software engineering practices
Root Causes: Strategy not well defined Improper ROI calculation Improper test tool selection Improper framework design Insufficient coverage Automation Objectives Improve time to market Efficient resource utilization Improve efficiency Automation Challenges High Initial Investment Skill-set availability ROI duration Automation Strategy Reliability Reusability Repeatability
Automation Guidelines for Testers
Modularize test scripts for multiple execution combinations.
Identify and abstract common functions used across multiple
Structure scripts with minimal dependencies to ensure scripts
can run unattended even when multiple failures occur.
Decouple complex business function testing from navigation,
limit-testing, and other simple verification and validation
Abstract and decouple test data from the test scripts.
follow the consistency in Process.
Maintain Logs and Documents.
Analyze and evaluate the Failures.
Benefits of Automation
Reduced post delivery defects with extensive test coverage.
Generation of consistent, repeatable, accurate logs and test results.
Redeploy test resources to focus high value tasks.
Consistency of Test Execution
Test Automation yields significant reductions in testing time and
means a new software release gets to market faster.
Detect defects early in the life cycle.
Reduced Manual Effort.
Reduced cost of testing after initial cost of implementation.
Reduce regression efforts in the steady state.
Improved Quality Reduced Cost Reduced Cycle Time
Guidelines to Identify Test Cases to automated
Persistent application features:
Core functionality Test Cases of the system that are unlikely to change significantly over time.
Driving with Value :
At a fundamental level, automation value is driven by the coverage it provides contrasted against
the time it takes to automate it versus the time saved by the automation.
Time and Effort Saving : Which test cases consume huge amount of manual effort, they should be
Consistent and Accurate Test Execution : Where manual testing fail to provide accurate results
and consistency in every run.
Automation Selection Criteria – Picking the “ Right” Candidates The decision of whether or not to automate the test process should be driven by ROI considerations
Challenges in Test Automation
Introduction to Automation Framework
Test Automation Framework is defined as a set of assumptions, concepts, and practices that constitute a work platform or support for automated testing.
Automation Framework is a process of Structuring and Organizing Scripts to increase the level of reusability and readability of scripts.
Automation Framework Features
Types of Test Automation Framework Data Driven Automation Framework Hybrid Automation Framework Modular Automation Framework Keyword Driven Automation Framework Test Automation Framework
Architecture of Hybrid Automation Framework Application Driver Sheet Main DataSheet ResultSheet Sub Script IF Flag Y/N No Yes Perform Validation Driver Script IF Flag Y/N Yes No Main Script IF Flag Y/N No Yes Perform Validation Sub Suite Yes No Sub Suite Folder Regression Suite Automation Framework Start
Framework - Work Flow Design Siebel App Type SAP Object Class Siebel Button Siebel EditBox Operation Checkpoint Function Operation Type Std.CheckPoint TxtCheckPoint User Defined Function Call
Framework design will be independent of functionality and technology
Framework need to be upgraded for new technology and Automation Suites to be upgraded for new functionally, but design remains constant
Application type, Object Class, Object Name, Operation and Operation Type are the deciding factor of the automation flow of execution
Your Data Drives the Flow not the framework
Framework will process the inputs and perform the operation in the application, update the result back to the suite,
If your data is incorrect then the suite will fail
High Level Framework Design
Driver Sheet :
The Starting Point of Framework and will contain all the information about Regression Suite( like (Path, Suite Name, Module Name and Flag, etc )
Driver Script :
Will check the Flag status of All the Regression Suite in the Driver sheet
Flag = Yes ( Suite need to be executed)
Flag = No ( Suite need not to execute)
Main Script :
It will locate the regression suite and get data from the Main datasheet
It will read all the rows in the datasheet, 1 to n rows,
before process a row, it will check the Flag Status( Yes/No)
Main Datasheet :
Each Row will contain technical data, test data and a flag
One line of Script will be converted into one row in Datasheet
Sub Script and Sub Data Sheet :
We can call Reusable Suites inside your Reg. Suites
Function Library : Set of Reusable Functions
ResultSheet : Customized results for user s better understanding
Driver Script Driver Sheet Main Script Main Data Sheet Sub Script Sub Data Sheet N N Frame work Automation Suite
Main Data Sheet
Steps to Create the Automation suite using Framework Step 1: Create a Folder for your Automation Suite (Ex. Support_Request) Step 2: Record the Flow which you need to automate and Save the Flow Script Step 3: Save the Local Object Repository as Shared Obj. Repository in the Folder (Automation Suite Folder) Step 4: Use the “Data Generator” to Convert your Flow into Datasheet and save the same In the automation Folder Step 5: Save a Result Sheet Template
Driver sheet is a Starting point of the framework architecture
Driver Sheet is an repository to store all the automation suite informations
Path and Flag are mandatory fields
We can free to add more fields for user reference. (Like tester name, comments)
Application ModuleName Path Dependencies Flag CRM Login C:Shell AutomationCRMLogin Yes CRM Transaction C:Shell AutomationCRMTransaction Yes CRM Opportunity C:Shell AutomationCRMOpportunity No SAP SupportRequest C:Shell AutomationSAPSupportRequest Yes
Main Data Sheet
Main Data Sheet will have a huge amount of data, they are Flow Data,
technical and test data, Test case information's
Flow data : Windows Name, Object Name and Object Class etc.,
Test Data : Account Id, Customer Id, Login Details and URL etc.,
Technical Data : Operation, Operation Type, Parameters, Flag & Comments
Test case Info(Optional ) : Test case Id, Test Description etc.,
Your Flow Scripts will be converted into Main Data and the Same will be saved in Excel
Single Line of Flow Script will be converted into data structure in Main Data Sheet
Main Data Sheet is in a table form, so easy for the end user to understand the flow and
execute/ maintain the same,
Main Data Sheet is like a “keyword view” of your flow script
Flow Script is the script which you recorded to automate
Later Data Generator will covert your flow script into data in a form which the framework can understand.
Main Data Sheet
Below are the components of the
Tools Data Tables Environment Object Repository Scripts Libraries Recovery scenario
Data table leads to Parameterization
Repository for Test Data
Designed for User Interaction
Data table can be an Excel Document, Ms-Access, Database
Time and resource can be saved using reusable functions.
Decomposing the scripts into functions, will increate the level of scripts understand ability.
Creating functions will reduce the dependencies within the scripts.
Scripts maintenance cost will considerably come down.
Support future enhancements.
Function library Collection of Reusable operations in the form of Predefined Structur e Application Driver Scripts Function Library
Object Repositories / Object Maps
The Storage band for Application Objects
It Provides the interaction between scripts and
The object repository is shared and
While Execution the Object repository will help
the script to Identify the Objects in the application
Repository will have list of objects along with
configured properties and their values
Object Repository will have enough no.of properties
to uniquely identify an Object
Shared object repository should have the extn :
ABC.tsr ( T est S hared R epository)
Module-specific repository should have a extn :
ABV.mtr ( M odule T est R epository)
Structure of Object Repository Object Repository Object1 Property Name Property Name Property Value Property Value Object2 Property Name Property Name Property Value Property Value
Tools & Scripts, Recovery scenario, Results
Tools : This folder contains macro files. Using these files will reduce time for writing scripts, converting files, and shortcut to generate code.
Scripts : This folder contains local test scripts; this folder will be used while development and maintenance stage. Once script gets delivered it will upload to centralize location Test Director or Quality Centre.
Recovery scenario : This folder can be used as recovery scenario function library file. Also, through QTP particular scenario, converted file is kept under this folder and associates the test script.
Results : The current execution status will be updated after every run. All the Script failures, test status, recovery actions will be logged in Result.
QTP Settings Library Files Recovery Scenarios Object Configuration Environment Open Script Test Script Run Script Test Script Script Failure Test Script Resume Execution Execution Completed Update Result CLOSE QTP Execution -End