Vous êtes sur la page 1sur 17

EVO ART Company Restricted

EVO ART
Automation Standards
Executive Summary
With the inception of Automated Regression Testing (ART) team, EVO Programme has
introduced automation into their testing arena with an oera!! goa! to hae an improed and
more effectie regression testing capa"i!ity within EVO#
This document out!ines how ART imp!ements framewor$ "ased automated functiona! testing
so!ution, and the dee!opment standards that wi!! "e adhered to, to ensure the creation of ro"ust
and managea"!e automated test scenarios#
The intended audience for this document are ART team mem"ers% &nterna! customers and
sta$eho!ders' EVO Programme &T teams mem"ers, (anagers, )ponsors, etc% And*or any
e+terna! partners ino!ed with EVO Programme in de!iery or continuous improement
initiaties#


,ate of &ssue- ./*0/*10./ Page . of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
Table of Contents
1 Introduction to Automation.............................................................................................
2 Automation Toolset..........................................................................................................
1#. 3uic$Test Professiona!###########################################################################################################
1#1 3ua!ity Center#########################################################################################################################
Automation !rame"or#...................................................................................................
$ %evelo&ment Standards..................................................................................................
4#. 5i!e )torage############################################################################################################################
4#.#. 5ramewor$ Components###############################################################################################
4#.#1 Automated )cripts#########################################################################################################
4#1 6aming Conentions##############################################################################################################
4#1#. )cript 6aming###############################################################################################################
4#1#1 O"7ect 6aming##############################################################################################################
4#/ )cripting )tandards################################################################################################################
4#/#. 5unction 8eaders##########################################################################################################
4#/#1 (anua! Test Temp!ates#################################################################################################
4#/#/ Varia"!e ,ec!aration######################################################################################################
4#/#/#. 9oca!#########################################################################################################################
4#/#/#1 :!o"a!#######################################################################################################################
4#/#4 5!ow Contro!##################################################################################################################
4#/#4#. &f ; E!se#####################################################################################################################
4#/#4#1 5or 9oop####################################################################################################################
4#/#4#/ Whi!e 9oop##############################################################################################################
4#/#4#4 ,o 9oop##################################################################################################################
4#/#4#< )e!ect Case#############################################################################################################
4#4 =ac$up and Restore#############################################################################################################
4#< Reiew )tandards#################################################################################################################
4#<#. )cript Reiew Wor$f!ow ,iagram################################################################################
' Execution Standards.....................................................................................................
<#. E+ecution 5!ow Contro!#########################################################################################################
<#1 ,ata )heet )et up################################################################################################################
A&&endix 1 ( Exam&le !unction )ibrary *eader................................................................
A&&endix 2 + Exam&le !unction *eader..............................................................................
A&&endix ( Exam&le Automation scri&t utili,in- .anual test tem&late and
im&lementin- flo" control...................................................................................................
%ocument Control................................................................................................................

,ate of &ssue- ./*0/*10./ Page 1 of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
1 Introduction to Automation
5or imp!ementation of successfu! automation so!utions the fo!!owing fie $ey aspects of good
test script design shou!d "e adhered to-
.aintainability/ Test )cript maintenance is ineita"!e and needs to "e p!anned for in
adance# ,esigning scripts with maintaina"i!ity in mind, using agreed coding standards and
modu!ar, common function !i"raries ena"!es efficient maintaina"i!ity#
Inte-rity/ When an automated test reports that a test passed, we need to demonstrate this is
indeed the case, and not 7ust that the test >didn?t fai!@ due to e#g# not testing a particu!ar
function of the app!ication#
Inde&endence/ Automated tests must "e designed to run unaided# To do this effectie!y, the
script must "e resi!ient i#e# hae in'"ui!t recoery capa"i!ities and "e a"!e to dea! with and
recoer itse!f from a fai!ure state#
Re&eatability- &t is ita! that the tests e+ecute in the same way eery time they are run# This
may reAuire the inc!usion of data or enironment set'up * restore modu!es in the test suite#
Revie"ability/ &t is ita! that it is easy to determine what the test script is trying to achiee#
=eing a"!e to easi!y reiew your test suite a!so faci!itates peer reiew#
&ncorporating these design considerations wi!! he!p ensure that the automated test suite wi!!
continue to "e usa"!e for the !ife of the product it tests#
The fo!!owing sections of this document wi!! detai! how test suites can "e created and
maintained "y fo!!owing the fie $ey aspects a"oe#

,ate of &ssue- ./*0/*10./ Page / of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
2 Automation Toolset
2.1 0uic#Test 1rofessional
3uic$ Test Professiona! (3TP) is an automated functiona! :raphica! Bser &nterface (:B&)
testing too! that a!!ows the automation of user actions on a we" or c!ient "ased computer
app!ication# &t is primari!y used for functiona! regression test automation# 3TP uses a scripting
!anguage "ui!t on top of V=)cript to specify the test procedure, and to manipu!ate the o"7ects
and contro!s of the app!ication under test (ABT)#
Cou wi!! see the manua! steps hae "een added as comments, and code to report each step
is "eing e+ecuted has "een added#
2.2 0uality Center
8P 3ua!ity Center (3C) integrates and automates test management with functiona! testing
actiities# 3ua!ity Center ena"!es you to share and reuse testing e+pertise across the Aua!ity
!ife cyc!e# &t proides a customiDa"!e wor$f!ow that easi!y adapts and e+tends to meet our
specific Aua!ity process needs#
(anua! test scripts are first prepared "ased on the input from the functiona! team mem"ers,
adhering to agreed standards (see section 4)# 5rom here, the test cases wi!! "e pic$ed up and
automated# This is discussed in detai! in the >Test Automation 5ramewor$@ !ater in this
document#

,ate of &ssue- ./*0/*10./ Page 4 of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
Automation !rame"or#
Refer to 5ramewor$ ,esign ,ocument
ART Automation
Framework Design Document V0.1.doc

,ate of &ssue- ./*0/*10./ Page < of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
$ %evelo&ment Standards
$.1 !ile Stora-e
$.1.1 !rame"or# Com&onents
Within the current ersion of 3ua!ity Centre .0#00, framewor$ resources name!y shared o"7ect
repository, function !i"raries, enironment aria"!e are stored in the Test Resources modu!e
within the fo!der structure as suggested "y the screen shot "e!ow-
$.1.2 Automated Scri&ts
,ue to the nature of test script creation (i#e# created from manua! test case) the actua! test
script !ocation within 3C wi!! "e dictated "y the test ana!ysts# &t is ita!!y important that these
test cases are stored in the correct p!ace, fo!!owing an intuitie naming conention# These are
in p!ace a!ready, which in turn wou!d a!!ow a ery stream!ined and Aua!itatie dee!opment of
the Automated Regression )uite# A!! the test scripts are stored within 3ua!ity Centre >Test
P!an@ modu!e in the pre'defined fo!der structures with agreed naming conentions as "e!ow-

,ate of &ssue- ./*0/*10./ Page E of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
$.2 2amin- Conventions
A strict naming conention has "een designed and adhered to a!! the ART components due to
the dierse and comp!e+ nature of app!ication(s) under test, name!y )R(, )AP ECC,
&nterfaces, We" etc# This he!ps to ensure consistency, identification and differentiation from
other simi!ar resources, maintaina"i!ity and easy to understand#
$.2.1 Scri&t 2amin-
EVO ART )cripts coer the fo!!owing app!ications-
a) )R( (We" app!ication)
") )AP CR( :B& ()AP :B& app!ication)
c) )AP ECC :B& ()AP :B& app!ication)
d) &nterfaces (We" app!ication)
e) E'mai! (windows app!ication)
,ue to the dierse nature of the app!ication and their p!atforms, a naming conention as
"e!ow has "een used to distinct!y identify them from each other-
A&&lication 3nder Test Scri&t 2amin- Convention
)R( (We" app!ication) )APFPORTA9FG
)AP CR( :B& ()AP :B& app!ication) )APFCR(FG
)AP ECC :B& ()AP :B& app!ication) )APFECCFG
&nterfaces EVOF&nterfaceF
E'mai! (windows app!ication) GG 8and!ed within the function
e#g# >SAP_ECC_Create_Purchase_Order_ME21N
(6ote- ' G )hort description of the scripts and* or T'code)

,ate of &ssue- ./*0/*10./ Page 2 of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
$.2.2 Ob4ect 2amin-
)imi!ar to the naming conention for the scripts, a naming conention the O"7ect Repositories
and their chi!d o"7ects has a!so "een fo!!owed as "e!ow-
A&&lication 3nder Test Ob4ect Re&ository 2amin- Convention
)R( (We" app!ication) )APFEVOF)R(#tsr
)AP ECC ()AP :B& app!ication) )APFEVOFECC#tsr
)AP CR( ()AP :B& app!ication) )APFEVOFCR(#tsr
E'mai! (windows app!ication) 6*A
5urther the o"7ects within these repositories a!so fo!!ow a strict naming conention e#g-
(6ote- These are e+amp!es for on!y a few O"7ect C!asses)
Ob4ect Class Ob4ect 2amin- Convention
)AP :B& Window )APFG
)AP :B& =utton :B&"tnG
)AP :B& Edit :B&edtG
WE= Edit We"edtG
WE= 9in$ We"!n$G
WE= E!ement We"e!mG
e#g# SAP_CRM Easy Access, GUIbtn_Enter, GUIedt_C!ent
$. Scri&tin- Standards
An agreed set of scripting standards in !ine with mar$et "est practices is fo!!owed for a!! the
Automation scripts de!iered for EVO# These scripting standards are detai!ed as "e!ow-
$..1 !unction *eaders
Each function defined (in 5unctiona! 9i"rary or in test scripts) shou!d hae a header that
inc!udes the fo!!owing information

,ate of &ssue- ./*0/*10./ Page H of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
Attri"ute ,escription
6ame The name of the function inc!uding the scope (i#e# Pu"!ic or Priate)
,escription A ,escription of the function
Parameters A !ist of parameters inc!uding the name, direction (=yVa! or =yRef) and a
description of the parameter
Return Va!ue The !ist of possi"!e return a!ues and their meaning
Author This contains the Author name
9ast Change ,ate This fie!d has the !ast change date
9ast Changed "y This fie!d the name of person !ast changing the function
A suggested header format is gien as an appendi+ to this document (Appendi+ 1)
$..2 .anual Test Tem&lates
Each manua! script has three sections to c!ear!y identify the script steps, name!y
a) )tep 6ame ; This is the seAuence of steps to "e performed for a particu!ar T'code or
Bser Action e#g# )tep ., )tep 1
") ,escription ; This is a short description of the action to "e performed on the
app!ication either a user input or action
c) E+pected Resu!t ; This section contains the e+pected resu!t at the end of each user
action* step
$.. Variable %eclaration
(ost of the automated scripts hae aria"!es and a!! of them are dec!ared "efore the aria"!e
initia!isation#
$...1 )ocal
Varia"!e which are used on!y within an action* script are dec!ared within the indiidua! scripts
and not aai!a"!e at a g!o"a! !ee!#
They are dec!ared 7ust "efore the aria"!e initia!iDation "y the >Dim@ statement and aria"!es
separated "y comma#
$...2 5lobal
:!o"a! aria"!es are used at the function !ee! in EVO and are dec!ared within the functions#
These aria"!es are aai!a"!e to a!! the scripts* actions where the respectie functions are
ca!!ed#
$..$ !lo" Control
)tandard V=)cript functions and $eywords are used to maintain a contro! within the scripts,
proide conditiona! statements, !oops etc# )ome of these are descri"ed "e!ow-
$..$.1 If ( Else
This is a conditiona! statement used, when there a!ternate possi"!e outcomes of a particu!ar
step and a different step needs to "e performed in each case#
e#g#
If Condition T6en
Statement1
Else
Statement2
End if
&!!ustratie e+amp!e from the 3TP scripts is as "e!ow-

,ate of &ssue- ./*0/*10./ Page I of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
If objConn.State = 0 Then
Reporter.ReportEvent micFail !InitD"# $nable to e%tabli%h connection to ! & D"'ame
E(itTe%t
InitD" = Fal%e
End If
$..$.2 !or )oo&
This statement is used to run a particu!ar !ine of code >n) num"er of times irrespectie of the
outcome# &t can "e modified to e+it the !oop if a particu!ar condition has "een achieed#
e#g#
!or i = 1 To *
Statement
2ext
&!!ustratie e+amp!e from the 3TP scripts is as "e!ow-
For additionalSheet% =+ to "itmap,Co-nt
E(l"oo../or.%heet%.0dd
'e(t
$..$. 76ile )oo&
A whi!e !oop is a contro! f!ow statement that a!!ows code to "e e+ecuted repeated!y "ased on
a gien =oo!ean condition# The whi!e !oop can "e thought of as a repeating if statement#
e#g#
+ J 0
76ile 1(2*3 4
5 = ( 6 1
7 = ( 6 1
K
$..$.$ %o )oo&
A ,o Whi!e !oop is used as a contro! f!ow statement within the code to run a part of it
repeated!y unti! a certain condition is achieed-
e#g#
%o L
Statement 138
K 76ile 8condition9:
$..$.' Select Case
The purpose of a >)e!ect Case@ statement is to a!!ow the a!ue of a aria"!e or e+pression to
contro! the f!ow of program e+ecution ia a mu!tiway "ranch (or Mgo toM, one of seera! !a"e!s)#
The main reasons for using a switch inc!ude improing c!arity, "y reducing otherwise repetitie
coding, and (if the heuristics permit) a!so offering the potentia! for faster e+ecution through
easier compi!er optimiDation in many cases#
e#g#
Select Case
Case 1Condition13
Statement1

,ate of &ssue- ./*0/*10./ Page .0 of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
Case 1Condition23
Statement2
End Select
&!!ustratie e+amp!e from the 3TP scripts is as "e!ow-
Select Ca%e $ca%e1Trim1Cla%%,'m33
Ca%e !"T'!
Set 9et,:eb;bject,9eneric = 9et,<arent.S0<"-tton1;bject,'ame3
Ca%e !C=>!
Set 9et,:eb;bject,9eneric = 9et,<arent.S0<Chec."o(1;bject,'ame3
Ca%e !DD:!
Set 9et,:eb;bject,9eneric = 9et,<arent.S0<DropDo/n?en-1;bject,'ame3
Ca%e !EDT!
Set 9et,:eb;bject,9eneric = 9et,<arent.S0<Edit1;bject,'ame3
End Select
$.$ ;ac#u& and Restore
5ramewor$ resources name!y O"7ect Repositories and 5unction 9i"raries are to "e "ac$ed'up
on EVO )harepoint on a wee$!y "asis#
https-**wor$space#odafone#com*:!o"a!*eo'test*,ocuments*5orms*A!!N10,ocuments#asp+O
Root5o!derJN15:!o"a!N15eoN1,testN15,ocumentsN1501N103uic$Test
N10Professiona!N10N1,N10AutomatedN10RegressionN10TestingN15TestN10Resources
N10=ac$N1,up
$.' Revie" Standards
A!! the automated scripts for Automated Regression Testing are su"7ected to a reiew process
in order to ensure adherence to the agreed scripting standards, mar$et "est practices and
functiona! sta"i!ity of these scripts#
The scripts are added to test !a" on!y once the status is changed to >Approed@# The script
reiew is a continuous process, as the a!ready de!iered scripts too may reAuire regu!ar
maintenance#

,ate of &ssue- ./*0/*10./ Page .. of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
$.'.1 Scri&t Revie" 7or#flo" %ia-ram

,ate of &ssue- ./*0/*10./ Page .1 of .2
,ocument Tit!e- Automation )tandards
<ES
2 O
0%%i@n to
0-thor
0%%i@n to
Revie/er
?an-al Te%t Script
converted to AT< Script
<ES
2 O
CopB to project
Repo%itorB and Re-%e
e(i%tin@ %cript
Chec. Re@re%%ion pac.%
AT< Script revie/ed bB
<eer%C Team Dead
EVO ART Company Restricted
The ta"!e "e!ow gies an oeriew and a description of the aai!a"!e statuses#
Status Description
%esi-n The (anua! Test )cript has "een created
7I1 The Author is wor$ing on the Automation of the manua! script#
!or Revie" The )cript is comp!ete and ready to "e reiewed #
Re&air The )cript does not meet the Test script standards or some test steps
needs changes
A&&roved The )cript meets the Test )cript standards and is accurate with respect to
a!! the test steps#

,ate of &ssue- ./*0/*10./ Page ./ of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
' Execution Standards
'.1 Execution !lo" Control
EVO =usiness is ery much process drien, hence any*a!! "usiness transaction fo!!ow a
particu!ar seAuence# This seAuence is of prime importance to successfu!!y comp!ete a
"usiness process or end'to'end scenario and has to "e adhered to# The Automated "usiness
scenarios are maintained within the >Test 9a"@ modu!e of 3ua!ity Center#
The indiidua! Test )cripts used to create an end'to'end "usiness scenario are arranged P
isi"!e in the >E+ecution :rid@ ta" of >Test 9a"@ as "e!ow-
The Test e+ecution f!ow and conditions for test e+ecution are maintained in the >E+ecution
5!ow@ ta" of 3ua!ity Center as "e!ow-
There are two conditions in the >E+ecution 5!ow@ for a test to run after the preious test has
run, >5inished@ and >Passed@# ,epending upon the "usiness process these are set and
maintained#
(2ote/ + &t is a .3ST to maintain the >E+ecution 5!ow@, een if the scripts hae "een arranged
in a proper seAuence in the >E+ecution :rid@)

,ate of &ssue- ./*0/*10./ Page .4 of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
'.2 %ata S6eet Set u&
A!! the end'to'end automated scenarios in 3ua!ity Center are made up of indiidua! scripts*
steps# &n order to ensure data porta"i!ity "etween these scripts, as output from one script may
"e reAuired as an input for su"seAuent script, and other aria"!es, parameters are stored at
the scenario !ee! and is uniAue to that indiidua! scenario# This approach a!so he!ps to
capture critica! num"ers (e#g# Purchase Order), te+t and other detai!s as eidence#
This datasheet a!so stores the !ogin credentia!s and other !ogin detai!s such as c!ient, ur! etc#,
there"y ensuring enironment porta"i!ity# Which means, if an e+isting script to !ogin has to "e
directed to any other )AP enironment, we wou!d 7ust need to modify the parameters with the
datasheet#
The datasheet "eing stored at the scenario !ee! he!ps the unitary approach of scripting and
consistent aai!a"i!ity of the test parameters to each script in the scenario#

,ate of &ssue- ./*0/*10./ Page .< of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
A&&endix 1 ( Exam&le !unction )ibrary *eader
The 5unction 9i"rary header is as "e!ow
A&&endix 2+ Exam&le !unction *eader
The function header is as "e!ow
A&&endix ( Exam&le Automation scri&t utili,in- .anual test
tem&late and im&lementin- flo" control

,ate of &ssue- ./*0/*10./ Page .E of .2
,ocument Tit!e- Automation )tandards
EVO ART Company Restricted
%ocument Control
i. Version *istory
This ta"!e records the status and ersion history of this de!iera"!e#
Version %ate Aut6or Version *istory
0#. .4*0/*10./ (ohammed As!am ,raft
0#1
0#<
.#0
ii. Revie"ers
This ta"!e records the reiewers responsi"!e for recommending authorisation of this
de!iera"!e#
2ame Role Res&onse
iii. Aut6orisers
This ta"!e records the authorisers accounta"!e for the Aua!ity of this comp!eted de!iera"!e#
2ame Role %ate of si-n off
Tom )ewe!!
iv. Consultees
This ta"!e records su"7ect matter e+perts consu!ted a"out this de!iera"!e#
2ame Role Res&onse
v. Informed
This ta"!e records the distri"ution !ist for the comp!eted de!iera"!e#
2ame 2ame 2ame
vi. Structured 7al#t6rou-6 dated xx=xx=xx
This ta"!e records the attendees of the structured wa!$through#
2ame 2ame 2ame

,ate of &ssue- ./*0/*10./ Page .2 of .2
,ocument Tit!e- Automation )tandards

Vous aimerez peut-être aussi