test automation process
DESCRIPTION
Automation Testing ProcessTRANSCRIPT
1
Test Automation ProcessTest Automation Process
2
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 definedImproper ROI calculation
Improper test tool selectionImproper framework design
Insufficient coverage
Root Causes:Strategy not well definedImproper ROI calculation
Improper test tool selectionImproper framework design
Insufficient coverage
Automation ObjectivesImprove time to market
Efficient resource utilizationImprove efficiency
Automation ObjectivesImprove time to market
Efficient resource utilizationImprove efficiency
Automation ChallengesHigh Initial Investment
Skill-set availabilityROI duration
Automation ChallengesHigh Initial Investment
Skill-set availabilityROI duration
Automation StrategyReliability
ReusabilityRepeatability
Automation StrategyReliability
ReusabilityRepeatability
Automation Guidelines for Testers
3
Modularize test scripts for multiple execution combinations.
Identify and abstract common functions used across multiple test scripts.
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 activities.
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
4
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
Automation Selection Criteria – Picking the “Right” CandidatesThe decision of whether or not to automate the test process should be driven by
ROI considerations
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
getting automated
Consistent and Accurate Test Execution : Where manual testing fail to provide accurate results
and consistency in every run.
5
6
Challenges in Test Automation
7
Automation Framework
7
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.
8
Automation Framework Features
9
10
11
Data Driven Automation Framework
Hybrid Automation Framework Modular
Automation Framework
Keyword Driven
Automation Framework
Test Automation Framework
Types of Test Automation Framework
12
13
Architecture of Hybrid Automation Framework
13Application
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
SubSuit
e Yes
No
Sub Suite Folder
Regression Suite
Automation Framework Start
14
Framework - Work Flow Design
14
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
15
High Level Framework Design
15
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
1. Driver Sheet2. Driver Script3. Main Script 4. Sub Script5. Function Library6. Recovery
scenarios
1. Main Data Sheet
2. Object Repository
3. Reusable Suite
4. Result Sheet
16
Steps to Create the Automation suite using Framework
16
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
17
Driver Sheet
Application ModuleName Path Dependencies Flag
CRM Login C:\\Shell Automation\\CRM\\Login Yes
CRM Transaction C:\\Shell Automation\\CRM\\Transaction Yes
CRM Opportunity C:\\Shell Automation\\CRM\\Opportunity No
SAP SupportRequest C:\\Shell Automation\\SAP\\SupportRequest Yes
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)
18
Main Data Sheet
18
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
19
Flow Script
19
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.
20
Main Data Sheet
20
21
Common ComponentsBelow are the components of theAutomation Framework:
Data Tables
Environment
Libraries
Object repository
Results
Runtime
Scripts
Recovery scenario
Documents
Tools
22
Tools
Data Tables EnvironmentObject
Repository
Scripts
Libraries
Recovery scenario
• Runtime• Documents
Framework
Results
Data Tables Data table leads to Parameterization
Repository for Test Data
Designed for User Interaction
Data table can be an Excel Document, Ms-Access,
Database
Framework will Design the Data table Structure
and mapping
23
Username Password
User1 pwd1
User2 pwd2
User3 pwd3
Environment
24
Libraries
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.
.
25
ApplicationDriver Scripts
Function Library
Function library Collection of Reusable operations in the form of
Predefined Structure
Object Repositories / Object Maps The Storage band for Application Objects It Provides the interaction between scripts and application The object repository is shared and module-specific. 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 (Test Shared Repository) Module-specific repository should have a extn : ABV.mtr (Module Test Repository)
26
Object Repository
Object1
Property Name
Property Name
Property Value
Property Value
Object2
Property Name
Property Name
Property Value
Property Value
Structure of Object RepositoryStructure of Object Repository
Tools & Scripts, Recovery scenario, ResultsTools : 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.
27
QTP Settings
Library Files
Recovery Scenarios
Object Configurat
ion
Environment
Open Script
Test Script
Run Script
Test Script
Script Failure
Test Script
Resume
Execution
Execution Completed
Update Result
CLOSE QTP
Execution -End
28