test automation process

28
1 Test Automation Test Automation Process Process

Upload: bharathi-krishnamurthi

Post on 12-Nov-2014

5.288 views

Category:

Technology


0 download

DESCRIPTION

Automation Testing Process

TRANSCRIPT

Page 1: Test automation process

1

Test Automation ProcessTest Automation Process

Page 2: Test 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

Charles.Aron
Graph is Changed
Page 3: Test automation process

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.

Page 4: Test automation process

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

Charles.Aron
Corrected
Page 5: Test automation process

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

Charles.Aron
Changed the Guidelines
Page 6: Test automation process

6

Challenges in Test Automation

Page 7: Test automation process

7

Automation Framework

7

Page 8: Test automation process

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

Page 9: Test automation process

Automation Framework Features

9

Page 10: Test automation process

10

Page 11: Test automation process

11

Data Driven Automation Framework

Hybrid Automation Framework Modular

Automation Framework

Keyword Driven

Automation Framework

Test Automation Framework

Types of Test Automation Framework

Dirk Huyge
The concepts are not explained.I find it strange that the Hybrid Automation is in there.I am not sure what it is supposed to represent.
Charles.Aron
This is a pictural representation for different types of Automation Framework. It is not that Hybrid sits in the center and controls all the other framework. We can also interchange with other framework.
Page 12: Test automation process

12

Page 13: Test automation process

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

Page 14: Test automation process

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

Page 15: Test automation process

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

Dirk Huyge
This slides and the following one may be too technical. Maybe we should remove them from this slide.I believe they are too technical to mention it here, but not too detailed enough to really train. (Which is not our goal/scope anyway).
Charles.Aron
Hi Dirk, This slide is required to explain the end to end flow of Hybrid Framework.
Page 16: Test automation process

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

Page 17: Test automation process

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)

Page 18: Test automation process

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

Page 19: Test automation process

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.

Page 20: Test automation process

20

Main Data Sheet

20

Page 21: Test automation process

21

Page 22: Test automation process

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

Page 23: Test automation process

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

Dirk Huyge
We should make this into a bulleted list
Charles.Aron
Changes Done as per the comments
Page 24: Test automation process

Environment

24

Dirk Huyge
See above
Charles.Aron
Changes done as per the comments
Page 25: Test automation process

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

Page 26: Test automation process

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

Page 27: Test automation process

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

Page 28: Test automation process

28