You are on page 1of 97

Soft Ware Testing:

Why did you choose this Course?


* 1. Scope of getting job is very high.
2. No need to depend up on any technoogies.
!. Testing re"ains forever
#. $ %ant to be consistent through out "y ife
Why e&picity the s'% co"panies are recruited the test
engineers?

1. (ne person cannot efficienty perfor" t%o tas)s at a ti"e
2. Senti"enta attach"ent.
Who can do the course?
*ny graduate can do this course at this point of ti"e
What e&acty %e re+uire to get a job?
1. Stuff
2. Co""unication s)is
!. Confidence
#. ,yna"is"
-roject:
-roject is so"e thing that is deveoped based on the particuar custo"ers
re+uire"ents and used by that custo"er ony . /.g.: 0arriage addu1
Product:
It is some thing that is developed based on the companies specification and
used by the multiple customers (e.g.: Thirupathi laddu)
Quality:
Classical definition for quality: Quality is defined as !ustification of all the
requirements of customer in a product.
"#T$: Quality is not defined in the product% it is defined in the customers mind
&efect: &efect is defined as deviation from the requirements
'atest definition for quality: quality is defined as not only the !ustification of
requirements but also the presence of value ((ser friendliness)
Testing:
crp.testing@gmail.com 1
Testing is processes) in *hich the defects are identified) isolated) sub!ected
for rectification + ensure that the product is defect free. In order to produce the
quality product in the end and hence customer satisfaction.
,idding the Pro!ect:
,idding the pro!ect is defined as request for proposal) estimation and signing
off (#fficial agreement).
-ic. #ff /eeting:
It is an initial meeting conducted in the soft *are company soon after the
pro!ect is signed off. In order to discuss the overvie* of the pro!ect and to select a
pro!ect manager for the pro!ect.
(sually high level management) Pro!ect managers) team managers) quality
managers) team leads and quality leads *ill be involved in this meeting.
PI" (Pro!ect Initiation "ote):
It is a mail prepared by the pro!ect manager and sent to the C$# of the soft
*are company in order to get the permission to start the pro!ect developments.
0oft*are &evelopment 'ife Cycle (0&'C):
0&'C contains si1 phases they are
2. Initial phase or requirements phase.
3. 4nalysis phase
5. &esign phase
6. Coding Phase
7. Testing Phase
8. &elivery + /aintenance Phase.
I. Initial Phase or Requirements Phase :
(a) Tas.s: Interaction *ith the customer and gathering the requirements.
(b) 9oles: ,usiness 4nalyst (,.4)) $ngagement /anager ($./)
Process: :irst of all the business analyst *ill ta.e an appointment from the
customer) collects the templates from the company) meets the customer on
appointed day) gathers the requirements *ith the help of template and comes bac.
to the company *ith the requirements documents.
#nce the requirement document has come to the company the
engagement manager *ill chec. *hether the customer gives any e1tra requirements
or confused requirements. In case of e1tra requirements he deals the e1cess cost of
crp.testing@gmail.com 2
the pro!ect. In case of confused requirements he is the responsible for prototype
demonstration and gathering the clear requirements.
Proof: The proof document of this phase is 9equirements &ocument. This is
called *ith different names in different companies.
2. :90 (:unctional 9equirements 0pecification)
3. C90 (Customer 9equirement 0pecification)
5. (90 ((ser 9equirement 0pecification)
6. ,&& (,usiness &esign &ocument)
7. ,& (,usiness &ocument)
8. ,90 (,usiness 9equirement 0pecification)
0ome companies may maintain the over all business flo* information in one
document and the detailed functional requirement information in the other
document
Templates: It is a pre defined format) *hich contains the predefined fields) and
used for preparing a document in an easy) comfort and perfect manner.
Prototype: &efined as a roughly + 9apidly developed model *hich is used for
demonstrating to the client) In order to gather the clear requirements and to *in the
confidence of a customer.
II. Analysis Phase:
(a) Tas.s:
2. :easibilty 0tudy
3. Tentative planning
5. Technology 0election
6. 9equirement 4nalysis
(b) 9oles: 0ystem 4nalyst) Pro!ect /anager) and Team /anager.
Process
2. :easibility 0tudy: It is detailed study of the requirements in order to
chec. *eather the requirements are possible or not.
3. Tentative Planning: In this section the resource planning and the time
planning (scheduling) is done temporarily.
crp.testing@gmail.com 3
5. Technology 0election: The list of all the technologies that are required
to accomplish this pro!ect. 0uccessfully *ill be analy;ed and listed out in this
section.
6. 9equirement 4nalysis: The list of all the requirements that are
required to accomplish this pro!ect. 0uccessfully *ill be analy;ed and listed
out here in this section.
09C 0ystem requirement specification
Proof: The proof of this phase is system 9equirement specification.
III. Design Phase: -
Tas.s:
2. <igh level designing
3. 'o* level designing
9oles: <ighlevel designing is done by the chief 4rchitect + 'o* level
designing is done by the Technical 'ead
Process: The Chief architect *ill be dra*ing some diagrams using unified
modeling language in order to divide the *hole pro!ect in to modules.
The Technical lead *ill also dra* some diagrams in order to divide the
modules in to sub modules.
The technical lead *ill also develop the P0$(&# code in order to ma.e
developers comfortable *hile de5veloping the actual code.
Proof: The proof document of this phase is Technical design document.
IV. Coding phase:
(a) Tas.: &eveloping or Programming
(b) 9oles: &evelopers or Programmers
Process: &evelopers *ill develop the actual code by using the technical design
document as *ell as follo*ing the coding standards li.e Proper indentation) color
coding) proper commenting and etc..)
Proof: The proof document of this phase is source code &ocument.
$.g.: The programmer *ill develop some programs every one *ill develop his
program in different colors but the soft *are companies *ill as. the developers to
develop the program according to the company standards using proper color)
coding) commenting. 0o as to understand it easily.
crp.testing@gmail.com 4
V. Testing Phase:
(a) Tas.: Testing
(b) 9oles: Test engineers
Process:
2. :irst of all the test engineers *ill collect the requirements
document and try to understand all the requirements
3. =hile understanding it at all they get any doubts they *ill
list out all of them in a revie* report.
5. They *ill send the revie* report to the author of the
requirements document for clarifications.
6. #nce the clarifications are given and after understanding
all the requirements clearly) they *ill ta.e the test case
template and *rites the test cases.
7. #nce the first build is released then they *ill e1ecute the
test cases
8. If at all any defects are found. They *ill list out all of them
in a defect profile template then
>. They *ill sent the defect profile document to the
development department and then *ill be *aiting for the
ne1t build to be released.
?. #nce the ne1t build is released then they ree1ecute the test
cases.
@. If at all any defects are found they *ill update the profile
document and sent it to the development department and
*ill be *aiting fro the ne1t build to be released.
2A. This process continuous till the product is defect free.
Proof: The proof of the testing phase is Quality Product.
Test Case: (def) Test case is an idea of a test engineer based on the customerBs
requirements in order to test a particular feature or a function.
crp.testing@gmail.com 5
VI. Delivery & aintenan!e Phase:
&elivery:
(a) Tas.: Installing the application in the clientBs environment
(b) 9olls: &eployment engineer or senior test engineers.
Process: The senior test engineer or deployment engineer *ill be going to the
clients place and install the application in their environment *ith the help of the
guidelines provide in the deployment document.
/aintenance:
4fter delivering the soft *are *hile using if at all any problem occurs
then that problem becomes a tas.) based on that problem corresponding roles *ill
be appointed) the roles *ill defined the process and solve that problem.
0ome clients may request for the continuous maintenance in such situations a
group of people from the soft*are company *ill be continuously *or.ing on the
clients place and ta.ing care of the soft *are.
CCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCCC
=here e1actly the testing comes in to pictureE
=hich sort of testing you are e1pectingE
<o* many sorts of testing are thereE
There are t*o sorts of testingF.
2. (nconventional testing
3. Conventional testing
2.(nconventional Testing: (nconventional testing is a sort of testing done by
the quality assurance people) in *hich they test each and every out come document
right from initial phase of the 0&'C (0oft *are development life cycle)
3. Conventional Testing: It is sort of testing done by the test engineers on the
application in the testing phase of 0&'C.
crp.testing@gmail.com 6
Testing /ethodology or Testing techniques:
There are three methods of testing
(a) ,lac.,o1 Testing
(b) =hite,o1 Testing
(a) Grey,o1 Testing
(a) ,lac.,o1 Testing: If one performs testing only on the functional part of
an application *ith out having any structural .no*ledge then tat method of
testing is .no*n as ,lac.,o1 testing) usually the test engineers perform it.
(b) =hite,o1 Testing: If one performs testing on the structural part of an
application then that method of testing is .no*n as *hite bo1 testing) usually
the developers or *hite bo1 testers perform it.
(c) Grey,o1 Testing: If one performs testing on both the functional part as
*ell as the structural part of an application then that method of testing as
.no*n as gray bo1 testing using the test engineers *ho have structural
.no*ledge *ill perform gray bo1 testing.
'evels of Testing:
There are five levels of testing
2. (nit 'evel Testing
3. /odule 'evel Testing
5. Integration 'evel Testing
6. 0ystem 'evel Testing
7. (ser 4cceptance Testing ((.4.,)
2. (nit 'evel Testing:
It is a level of testing in *hich one *ill perform testing on the units. It is a
*hite bo1 testing and usually developers or *hite bo1 testers *ill perform.
3. /odule 'evel Testing:
/odule: /odule is defined as a group of related functionalities to perform a ma!or
tas.
crp.testing@gmail.com 7
It is a level of testing in *hich one *ill perform testing on the modules. It is a blac.
bo1 testing and usually test engineers perform it.
5. Integration 'evel Testing:
It is a level of testing in *hich the developers *ill develop some interfaces to
integrate the modules and test *hether the interfaces are *or.ing fine or not. It is a
*hite bo1 testing usually developers or *hite bo1 tasters perform.
The developers may follo* one of the follo*ing approaches *hile integrating
the modules.
2. Topdo*n approach
3. ,ottom Hup approach
5. <ybrid or 0and*ich approach
6. ,igbang approach
2. Topdo*n approach: In this approach one *ill develop the parent modules
first and then integrate them *ith the related child modules
3. ,ottomup approach: In this approach one *ill develop the child modules
first and integrate them to the parent modules
5. <ybrid approach #r 0and*ich approach: This is a mi1ed approach of
both the top do*n and bottom up approaches
6. ,ig bang approach:In this approach one *ill *ait till all the modules are
ready and finally they *ill integrate all the modules at a time
0T(,: =hile integrating the modules in top do*n approach if at all any
mandatory module is missing then that module is replace *ith a temporary
program .no*n as 0T(,
&9II$9: =hile integrating the modules in bottom up approach. If at all any
mandatory module is missing then that module is replaced *ith a temporary
program .no*n as &9II$9
6. 0ystem 'evel Testing:
It is a level of testing in *hich one *ill install the complete application in to
the environment and then perform testing on it. 4t this level different types of
testing *ill be done one among those is system integration testing.
7. 0ystem integration Testing:
It is a type of testing in *hich once the complete application is developed one
*ill perform an action at one module and chec.s for the reflections at the
crp.testing@gmail.com 8
corresponding modules. It is a blac. bo1 testing and usually test engineers
perform.
8. (ser 4cceptance Testing:
It is the level of testing in *hich one *ill perform the same system testing in
the presence of the user in order to ma.e him accept the application. It is a blac.
bo1 testing and usually Test engineer performs it.
$nvironment: $nvironment is a combination of three layers (e.g.: Jahoo)
a. Presentation layer
b. ,usiness layer
c. &ata base 'ayer
0ystem: The application installed in to an environment combinable called as system.
a. Presentation 'ogic: The logic that is used for vie*ing application is
.no*n as presentation logic
b. ,usiness 'ogic: The logic that is used for performing the operations on
the application is .no*n as business logic.
c. &ata ,ase 'ogic: The logic that is used for sharing and retrieving the
data is .no*n as database logic.
Types of $nvironment: There are four types of environments
a. Stand alone environment or One-tier environment
b. Client server environment or Two-tier Architecture
c. Web environment or Three-tier Architecture
d. Distributed environment or N-tier Architecture
a. 0tand 4lone environment:
In this type of environment all the three layers that is presentation
layer) ,usiness layer+ &atabase layer *ill be present in al single tier.
This type of environment is suitable for single user application.
#neTier 4rchitecture
P'
,' #ne tier 4rchitecture
&,'
crp.testing@gmail.com 9
b. Client Hserver environment:
In this type of environments there *ill be t*o tiers) one tier is for
clients and other tier is for database servers. The presentation layer
and the business layer *ill be present in each and every client . The
database layer *ill be present in the database server. This type of
environment is suitable for multi user application in a single or a
limited area.
T*o tier 4rchitecture
P'K,' &,'
P'K,'
P'K,'
Clients 0erver
c. =eb environment: In his type of environment three tiers *ill be there. #ne is
for clientBs the middle one is for application server and the other one is for
database servers. Presentation layer *ill be present at clients) ,usiness layer
*ill be present in the application server) and database layer *ill be present at
the database servers. This type of environment is suitable for the applications
that are used all over the *orld by limited number users
Threetier 4rchitecture:
-2
DBL
32
-2
DBL
-2
crp.testing@gmail.com 10
Clients 4ppl 0erver &atabase server
=eb server:
It is soft*are) *hich provides *eb services to the clients.
$.g.: Internet Information service (II0).
$1ample for 4pplication servers: Tom pact) =eb logic) *eb sphere etc..)
d. &istributed environment:
It is similar to the *eb environment but the number of application
servers are increased and represented in individual tiers in order to
distribute the business logic so that the logic *ill be distributed.
"tier 4rchitecture:
PL DBL
BL BL BL
PL
PL
PL
**************************************************
crp.testing@gmail.com 11
!s
Clients 4pl server2 4pl server3 4pl server3 &atabase server
0oft*are &evelopment /odels:
".#ater $alling odel
Advantages:
It is a simple model
Pro!ect monitoring + maintenance is very easy
Drawbacks:
crp.testing@gmail.com 12
"#"$"%L
%#%L&'"'
D('")#
*+D"#)
$('$"#)
D(L,-%"#$
'.s./esign
'01 /esign
"mplementation
Blac2 3o4 testing
Deli5er. to
client
6e7.gat8ering
B6'
'6'
$DD9 ):"
:nit test
"nt. test
-o/ $est
'.s.$est.
:%$
:$6
:$6
:$6
:$6
:$6
P;%' %*$"<"$ +:$*+-
Con not accept the ne* requirements in the middle of the pro!ect
(b) Prototype odel:
Advantages: -
=henever the customer is not clear *ith the requirements this is the best
suitable model for gathering the clear requirements.
Drawbacks: -
It is not a complete model
Prototype has to be built on companies cost
(ser may limit his requirements by stic.ing to the prototype.
%&' (volutionary odel: -
Advantages: -
=henever the customer is evolving the requirements this is the best
0uitable model.
Drawbacks: -
Cannot define the dead lines
Pro!ect monitoring + maintenance is very difficult
"o Transparency ("o clear)
crp.testing@gmail.com 13
:nclear 6e7
Protot.pe
'6' Doc
Base line/
*lient en5ironment
con=irmation
;0!protot.pe
'0!Prototepe
B6' D+*
Base Line/
;0!protot.pe
;0!protot.pe
6(>.are
6e=ine/
"nitial 6e7
De5.
%pplication :ser
5ali/ation
:ser
accept
4ppl is ,ase lined
?ee/ 3ac2 1it8
ne1 6e7.
#
&
0piral /odel:
Advantages: -
This is the best suitable for developing the highly ris. based pro!ect
(scientific pro!ects)
Drawbacks: -
9is. analysis and estimation is not an easy tas.
It is a costly model
It is a time consuming model
%C' $ish odel: -


Advantages: -
This is the best suitable for developing the highly ris. based pro!ect(scientific pro!ects)
Drawbacks: -
o Time consuming /odel
o Costly model
crp.testing@gmail.com 14
6is2 6oot ca@se
anal.sis
(stimation
*ontingencies
De=ining t8e o3Aecti5es0!%0*onstraints
6e=ining ,
planning =or t8e
ne4t c.cle
"mplementation
'6' ;LD
LLD
'*D
6e7. )at8ering
B6' 6e5ie1
'6' 6e5ie1 $DD 6e5ie1
!8ite 3o4
testing
Blac2 Bo4
testing
%nal.sis Design *o/ing
Deli5er. ,
-aintenance
$est '0!
*8anges
'.s testing
Ierification:
It is a process of chec.ing conducted on each and every role of the organi;ation in order to
chec. *hether they are *or.ing according to the guidelines or not right from the starting
of the process till the ending of the process
Ialidation:
It is a process of chec.ing conducted on the developed product in order to chec. *hether it
is *or.ing according to the requirements or not.
%D' V-odel: -
B6' Preparing proA plan
'6' Preparing $est plan
6e7.P8ase testing
Design P8ase testing
$DD Program p8ase testing
$est '*D
'0! B@il/ '.stem testing
$est management Process
$esting :ser acceptance testing
Port $esting
'0! e==icienc.
&9$L4M4K, &9$L4M4K,
Deli5er. , -aintenance $est '0! c8anger
Advantages; -
40 verification and validation as *ell as test management process is done the out
come *ill be a quality product.
Drawbacks: -
o Time consuming mode
crp.testing@gmail.com 15
Initial+ design
Phase
&esign +
coding
Ierification
Ialidation
o Costly model
&9$: &efects removal efficiency
$nd of the ,asic partF
Testing part to be continuedFFFF.
2. ,uild 4cceptance Testing #r ,uild Ierification Testing #r 0anity
Testing:
It is a types of testing in *hich one *ill conduct over all testing on the released build
in order to chec. *hether it is proper for further detailed testing or not. $ven some
companies call it as smo.e testing) but some companies says that !ust before releasing the
build the developers *ill conduct the overall testing on the build that is .no*n as smo.e
testing and once the build is released *hat ever the test engineers do in order to accept the
build is .no*n as ,.4.T or ,.I.T or 0anity Testing.
3. 9egression Testing:
It is a type of testing in *hich one *ill perform testing on the already tested
functionalities again and again.
It is usually done in t*o scenarios.
2. =henever the testers has raised the defects) rectified by the developers and ne1t
build is released to the testing department then the test engineerBs *ill test the
defect functionality as *ell as the related functionality once again.
3. =hen ever some ne* features are incorporated by the developers) ne1t build is
released to the testing department then the test engineers *ill once again test the
related functionalities of the ne* features in order to confirm that they are
*or.ing same as previous.
"ote: Testing the ne* functionalities for the first time is .no*n as ne* testing but not
9egression Testing.
crp.testing@gmail.com 16
5. 9eTesting:
It is a type of testing in *hich one *ill test the same functionality again and again
*ith different sets of values in order to come to a conclusion *hether it is *or.ing or not.
6. Testing (4lpha Testing):
It is a type of user acceptance testing in *hich the test engineers *ill test the
application in our company) in the presence of the customer.
4dvantage: If at all any defects are found then there is a chance of rectifying them
immediately.
7. Testing (,eta):
It is a type of user acceptance testing done in the clients place either by the end
users or by the third party testing e1perts before actual implementation.
&ra*bac.: If at all any defects are found then there is no chance of rectifying them
immediately.
8. 0tatic Testing:
It is a type of testing in *hich one *ill perform testing on the application or
application related factors *ith out performing any action.
$g: &ocumentary testing) G(I testing) Code revie*s and etc.)
>. &ynamic Testing:
It is a type of testing in *hich one *ill perform in the application or its related
factors by doing some actions
$g: :unctionality testing.
?. Installation Testing:
It is a type of testing in *hich one *ill install the application in to the environment
by follo*ing the guide lines provided in the installation document and if the installation is
successful then he *ill come a conclusion that the given guide lines are correct other *ise he
*ill come to a conclusion that the given guidelines are not correct.
@. Compatibility Testing:
It is a type of testing in *hich one may have to deploy the application in to the
multiple number of environments prepared *ith different combinations of environmental
components in order to chec. *hether the application is compatible *ith all that
environments. This type of testing is usually done to products.
crp.testing@gmail.com 17
2A. /on.ey Testing:
It is a type of testing in *hich one *ill perform abnormal action on the application
intentionally in order to chec. the stability of the application.
22. (sability Testing:
It is a type of testing in *hich one *ill chec. *hether the application is user friendly
or not and it can be comfortably used by the end user or not.
23. $1ploratory Testing:
It is a type of testing in *hich one (&omain $1perts) *ill perform testing on the
application *ith out having the .no*ledge of requirements but by e1ploring the
functionality.
25.$ndTo $nd Testing:
It is a type of testing in *hich one *ill perform testing on all the end toend
scenarios of the application.
26. Port Testing:
It is a type of testing in *hich one *ill deploy the application in to the clients
environment and chec. *hether it is compatible *ith that environment or not.
27. 9eliability Testing:
It is a type of testing I *hich one *ill perform testing on the application
continuously for long period of time in order to chec. the stability of the application
28. 0ecurity Testing:
Its is a type of testing in *hich one *ill concentrate on the follo*ing areas of the
application
a. Authentication Testing
b. Direct URL Testing (Uniform Resource Location)
c. Fire Wall Leakage Testing.
(a) Authentication Testing: -
It is a type of testing in *hich one *ill enter different combinations of usernames
and pass*ords and try to access the home page in order to chec. *hether only the
authori;ed persons are accessing the application or not.
(b) Direct URL Testing: -
crp.testing@gmail.com 18
It is a type of testing in *hich one *ill enter the (9' of an unauthori;ed page
directly in the bro*ser and try to access that page in order to chec. *hether it is been
accessed or not.
(c) Firewall Leakage Testing: -
It is a type of testing in *hich one *ill enter as one level of user and try to access the
other level of unauthori;ed pages in order to chec. *hether the fire*alls are *or.ing
properly or not.
2>. /utation Testing:
It is a type of testing in *hich one *ill perform testing on some thing by doing some
changes to it.
2?. 4&<#C Testing:
It is a type of testing in *hich one *ill perform testing on the application in his o*n
style after understanding the requirements clearly.
The 0oft =are Testing 'ife Cycle Contains 0i1
Phases
They areF
Test Planning
Test &evelopment
Test $1ecution
9esult 4nalysis
,ug Trac.ing
9eporting
crp.testing@gmail.com 19
Plan:
It is a strategic document) *hich describes ho* to perform a tas. in an effective)
efficient and optimi;ed *ay.
Test Plan:
It is a strategic document) *hich describes ho* to perform testing on an application
in an effective) efficient and optimi;ed *ay.
#ptimi;ation:
#ptimi;ation is a process of utili;ing the available input resources to their ma1 and
getting ma1imum possible out put.
2.A Introduction
1.1 Objective
1.2 Reference Document
2.0 Coverage Of Testing
2.1 Features To Be Testing
2.2 Features Not To Be Testing

3.0 Test Strategy
3.1 Levels Of Testing
3.2 Types of testing
3.3 Test design techniques
3.4 Configuration management
3.5 Test metrics
3.6 Terminology
3.7 Automation Plan
3.8 List of automated tools
crp.testing@gmail.com 20

4.0 Base criteria
4.1 Acceptance criteria
4.2 Suspension criteria
5.0 Test Deliverable
6.0 Test Environment
7.0 Resource Planning
8.0 Scheduling
9.0 Staffing& Training
10.0 Risks & Contingencies
11.0 Assumptions
12.0 Approval Information
2.A Introduction:
1.1 Objective: -
The Purpose of the document is clearly described here in this section
1.2 Reference Document: -
The list of all the documents that are refereed to prepare the test plan *ill be
listed out her in the section.
3.A Coverage #f Testing:
3.2 Features to be tested: -
The list of all the features that are to be tested in this phase *ill be clearly
mentioned here in this section.
2.2 Features not to be tested: -
crp.testing@gmail.com 21
The list of all the features that are not planned for testing based on the
follo*ing criteria *ill be listed out here in this section
a. #ut of scope features
b. 'o* ris. features
c. The functionalities that are planned to be incorporated in future
d. The features that are to be s.ipped based on the time constraints.
5.A Test 0trategy:
Test strategy is defined as an organi;ational level term) *hich is used for
testing all the pro!ects in the organi;ation.
Test Plan:
It is defined as a pro!ect level term) *hich is used for testing a particular
pro!ect in the organi;ation.
"ote: Test strategy is common for all the pro!ects but the test plan is
specific for a particular pro!ect
3.1 Levels of Testing: -
The list of all the levels of testing that are follo*ed by that company are listed
out here in this section
3.2 Types of Testing: -
The list of all the types of testing that are follo*ed in that company *ill be
listed out here in this section.
3.3 Test Design Techniques: -
Technique:
Technique is some thing i.e.) used for accomplishing a comple1 tas. in an
easy manner.
4 list of all the techniques that are used by that company *hile developing
the test cases *ill be listed out here in this section.
$g: ,I4 (,anded value analysis)
$CP ($quivalence Class Partition)
3.4 Configuration Management:- To be discussed laterFF
3.5 Test Metrics: -
The list of all the metrics that are maintained in that company *ill be listed
out here in this section
3.6 Terminology: -
The list of all the terms and the meaning that are used in that company *ill
be listed out here in this section
crp.testing@gmail.com 22
3.7 Automation Plan: -
The list of all the areas that are plan for automation in that company *ill be
listed out here in this section.
3.8 List Of Automated Tools: -
The list of all the automated tools that are used in that company *ill be listed
out here in this section.
6.A ,ase Criteria:
4.1 Acceptance Criteria: -
=hen to stop testing feeling that enough testing has been done on the
application is clearly described here in this section.
4.1 Suspension Criteria: -
=hen to suspend testing suddenly (abruptly) *ill be clearly mentioned here
in this section.
7.A Test &eliverable:
The list of all the documents that are to be prepared during the testing phase
*ill be listed out here in this section.
$g: Test case) defects profile document.
8.A Test $nvironment:
The customer specified environment *ould be clearly described here in this
section. The same environment *ill be simulated in the company and *ill be used
for testing purpose.
>.A 9esource Planning:
=ho has to do *hat is clearly described here in this section.
?.A 0cheduling:
The starting dates and the ending data of the each and every tas. is clearly
planned here in this section.
@.A 0taffing+ Training:
<o* much staff is to be recruited and *hat .ind of training is to be provided
is clearly described here in this section.
2A.A 9is.s + contingencies (0olution Plans):
crp.testing@gmail.com 23
The list of all the potential ris.s and the corresponding solution plans *ill be
listed out here in this section.
$1ample:
9is.s:
i. (nable to deliver the soft *are *ith in dead lines.
ii. $mployees may leave the organi;ation in the middle of the
pro!ect
iii. Customer may impose the dead lines.
iv. (nable to test all the features *ith in the time.
v. 'ac. of e1pertisation
Contingencies (solution Plans):
i. Proper plan ensurance.
ii. $mployees need to be maintained on the bench.
iii. =hat not to be tested has to be planned in case of imposed
dead lines.
iv. 0everity + Priority based testing.
v. Proper Training needs to be provided.
22.A 4ssumptions:
The list of all the assumptions that are to be assumed by the test engineer *ill
be listed out here in this section.
23.A 4pproval Information:
=ho has to approve *hat is clearly described here in this section.
(0$ C40$0
crp.testing@gmail.com 24
'creen '8ots
LL" BLo1Cle5el
"n=ormationD
;L" B;ig8 le5el
"n=ormationD
:90 (:unctional 9equirement 0pecification)
:se *asesE
(se case is a description of functionality of certain features of an application
in terms of actors) actions+ responses
Input information required for preparing the use case &ocument:
i. 0creen shot
ii. :unctional requirements
iii. 0pecial requirementM,usiness rulesMIalidation
iv. Template
i. 0creen 0hot:
(ser name
Pass*ord
Connect to
ii. :unctional 9equirements:
a. 'ogin screen should contain username) pass*ord) Connects To fields
and login) clear) cancel buttons.
b. Connect to is not a mandatory field but *hen ever user requires it
should allo* him to select a data base option.
c. (p on entering valid username) valid pass*ord and clic.ing on login
button corresponding page must be displayed.
d. (p on clic.ing on the clear button the information present in all the
fields must be cleared and the cursor must be available in the user
name field
e. (p on clic.ing on the cancel button login screen must be closed.
iii. 0pecial requirementM,usiness ruledMIalidation:
a. Initially *henever the login screen is Invo.ed 'ogin) clear buttons must
be disabled.
b. Cancels ,utton must be al*ays enable.
c. (p on entering user name and pass*ord the login button must be
enabled.
d. (p on entering some information in to any of the fields the clear button
must be enabled
e. The Tabbing order must be user name) Pass*ord) Connect to) 'ogin)
clear) cancel.
crp.testing@gmail.com 25
'ogin Clear Cancel
iv. (se Case Template:
"ame #f The (se Case :
,rief &escription of (se Case :
4ctorBs Involved :
0pecial 9equirements :
Pre Condition :
PostConditions :
:lo* of $vents :
:se caseE (se case is prepared by ,4 in the :unctional 9equirement 0pecification
(:90)) *hich are nothing) but a steps) *hich are given by the customer.
$est *aseE It is prepared by the Test $ngineer based on the use cases from :90 to
chec. the functionality of an application thoroughly.
$est PlanE Team 'ead prepares Test plan) in it he represents the 0cope of the test)
=hat to test and =hat not to test) 0cheduling) =hat to test using automation etc.
v. (se Case &ocument:
"ame of the use case: 'ogin use case.
,rief &escription of use case: It describes the functionalities of all the
features present in the login screen.
4ctors Involved: "ormal user) 4dmin (ser.
0pecial 9equirements: There are t*o types of special requirements
2. $1plicit requirements
3. Implicit requirements
2. $1plicit 9equirements:
The 9equirements that are directly given by the customer are .no*n
as e1plicit requirement.
3. Implicit 9equirement:
The requirements that are analy;ed by the business analyst feeling
that they *ill add the value (user friendliness) to the application are .no*n
as implicit requirements.
'ist of $1plicit requirements:
crp.testing@gmail.com 26
Initially *henever the login screen is Invo.ed 'ogin) clear buttons
must be disabled.
Cancels ,utton must be al*ays enable.
(p on entering user name and pass*ord the login button must be
enabled.
(p on entering some information in to any of the fields the clear
button must be enabled
The Tabbing order must be user name) Pass*ord) Connect to) 'ogin)
clear) cancel.
'ist of Implicit 9equirements:
Initially *henever the login screen is invo.ed the cursor must be available in
the user name field
(pon entering in valid username) valid pass*ord and clic.ing on log in
button an error message should be displayed NInvalid username Please try
againO
(pon entering valid username) In valid pass*ord and clic.ing on login
button an error message should be displayed NInvalid Pass*ord Please Try
againO
(pon entering Invalid username) Invalid pass*ord and clic.ing on login
button an error message should be displayed NInvalid user name and
pass*ord Please try againO

PreConditions: 'ogin screen must be available
PostConditions: $ither home page or admin page for the valid user and error
message for the invalid users
:lo* of $vents: There are three flo*s for the application
2. Main Flow
. Alternati!e Flow
". #$ce%tional Flow
crp.testing@gmail.com 27
2. /ain :lo*:
4ction 9esponse
2. 4ctor invo.es the application.
3. 4ctor enters valid user name) Ialid
pass*ord and clic.s on login button.
5. 4ctor enters valid user name) valid
pass*ord) selects a database option and
clic.s on login button.
6. 4ctor enters invalid user name Ialid
pass*ord and clic.s on login button.
7. 4ctor enters valid user name) Invalid
pass*ord and clic.s on login button.
8. 4ctor enters both username and
pass*ord invalid and clic.s on login
button.
>. 4ctor enters some information in to any
of the fields and clic.s on clear button.
?. 4ctor clic.s on the cancel button.
2.'ogin 0creen is displayed *ith the follo*ing fields
(sername) Pass*ord) Connect to) 'ogin) Clear+
cancel.
3. $ither home page or admin page is displayed
depending up on the actor entered by authenticating.
5. 4uthenticates) $ither home page or admin page is
displayed depending up on the action entered *ith
mentioned data base connection.
6.Go to 4lternative flo* table 2
7.Go to 4lternative flo* table 3
8.Go to 4lternative flo* table 5
>.Go to 4lternative glo* table 6
?. Go to 4lternative flo* table 7.
2. 4lternative flo* table 2: (Invalid (ser name)
4ction 9esponse
4ctor enters invalid user name) valid
pass*ord and clic.s on login button
4uthenticates an error message is
displayed NInvalid (ser name Please Try
againO.
3. 4lternative :lo* Table 3: (Invalid Pass*ord)
4ction 9esponse
4ctor enters valid user name) invalid
pass*ord and clic.s on login button
4uthenticates an error message is
displayed NInvalid (ser Pass*ord Please
Try againO.
5. 4lternative :lo* Table 5: (Invalid username + Pass*ord)
4ction 9esponse
4ctor enters invalid user name) invalid
pass*ord and clic.s on login button
4uthenticates an error message is
displayed NInvalid (ser name and
pass*ord Please Try againO.
6. 4lternative :lo* Table 6: (Clear Clic.)
4ction 9esponse
4ctor enters some information in any of
the fields and clic.s on clear button
4ll the fields are cleared and cursor is
placed in the user name fields
crp.testing@gmail.com 28
7. 4lternative :lo* Table 6: (Cancel clic.).
4ction 9esponse
4ctor Clic.s on the cancel button. 'ogin screen is close
Identify the module to *hich the use case belongs.
0ecurity module.
Identify the functionality of the use case *ith respect to the total
functionality
4uthentication
Identify the functional points and prepare the functional point document.
Identify the input required to perform testing
Ialid + invalid Inputs
Identify the actors involved in the used case
"ormal user + 4dmin user.
Identify *hether the use case is lin.ed *ith any other use case.
<ome page and 4dmin page use cases
Identify the pre conditions
'ogin 0creen mist be available
Identify the post conditions
$ither home page or admin page for valid users and error message for
invalid users
(nderstand the main flo* of the application
(nderstand the alternative flo* of the application
(nderstand the special requirements
&ocument the test cases for the main flo*
&ocument the test cases for the alternative flo*
&ocument the test cases for the special requirements
Prepare the crossreference matri1.
:unctional Point:
The point *here an user can perform some action is .no*n as
functional point.
crp.testing@gmail.com 29
Testing Process:
:90 :P& /TC& &TC& &P&
?6'C ?@nctional 6e7@irement 'peci=ication
?PDC?@nctional port Doc@ment
-$*DC-aster $est *ase Doc@ment
D$*DCDetaile/ $est *ase Doc@ment
DPDCDe=ect Pro=ile Doc@ment
Cross 9eference &ocument: (Traceably &ocument)
It is a document) *hich contains a table of lin.ing information used for
tracing bac. for the reference in any .ind of ambiguous (confusion) or questionable
situation.
Common Tracebility /atri1
9equirement Tracebility /atri1
TCI& 9$Q I&
crp.testing@gmail.com

<LD

?PD -$*D D$*D DPD
3
?
>
33
5
7
3? 2
7
6>
30
:#C(ntr.
P!C(ntr.
Login *lic2
*ancel *lic2
*lear *lic2
<ali/ate Login
c8ec2
<ali/ate *ancel
*8ec2
<ali/ate *lear
*8ec2
1
2
3
4
5
6
7
<LD
2
3
5
6
7
8
>
?
2
2
2
3
3
3
3
3
&efects Tracebility &ocument
&I& TCI&
2
3
5
6
7
8
3?
53
87
@8
6?
73
T!es "# Test $ases:
There are t*o types of test cases if *e see broadly they are:
&. 'U( Test )ases
. Functional Test )ases
The :unctional cases are further divided in to T*o types
(a) *ositi!e Test )ases+
(b) ,egati!e Test )ases.
Guide 'ines fro developing the G(I Test Cases:
Chec. for the availability of all the ob!ects
Chec. for the alignments of all the ob!ects up on customer requirements
Chec. for the consistency of all the ob!ects
Chec. for the spellings and grammar
4part from the above guide lines any thing else that can be tested !ust by
loo.ing *ith out doing any actions *ill fall under G(I test cases
Guide 'ines for Positive Test Cases:
4 test engineer should have positive mind set up
<e should consider the positive flo* of the application
<e should use only the valid Input
Guidelines for developing "egative Test Cases:
4 test engineer should have negative mind set up
crp.testing@gmail.com 31
<e should consider the negative flo* of the application
<e should use at least one invalid input per a set of data
Test Case Template:
(a) Test #b!ective
(b) Test scenario
(c) Test procedure
(d) Test &ata
(e) Test Cases
%a' Test )*+e!tive: -
The main purpose of the document is described here in this section
%*' Test ,!enarios: -
The list of all the scenarios that are to be tested *ill be listed out here
in this section.
%!'Test Pro!edure: -
&$:: It is a functional level term) *hich describes ho* to perform
testing on the functionalities of the application.
The plan for testing the functionalities is briefly described here
in this section
%d' Test Data: -
The date that is required for testing is made available here in this
section
%e' Test Cases: -
The format of a test case template is given belo*
TCI& TC
TJP$
&$0C9IPTI#" $I 4I 9esult 0everity Priorit
y
9eference
crp.testing@gmail.com 32
Test case Table
TC
$, T4-/ ,escription /&pected 5aue *ctua 5aue 6esut Severity -riority 6eference
1 GUI
Check for the availability
of all the objects as per
the Login Obj Tab
All the objects !st be
available as per the
login obj tab
All the objects
are available as
per the login obj
tab -ass
" GUI
Check for the constancy of
all the objects
All the objects !st be
consistent #ith each
other
All the objects
are consistent
#ith each other -ass
$ GUI
Check for the spellings of
all the objects as per the
Login obj TabLogin +3A
$a3.4ls
All the objects !st be
spelle% properly as per
the login obj tab
All the objects
are spelle%
properly -ass
& GUI
Check for the enable
property of login' clear an%
cancel b!ttons
Initially login' clear
!st be %isable% an%
cancel b!tton !st be
enable%
Login' clear an%
cancel b!ttons
are enable% 7ai
( GUI
Check for the initial
position of the c!rsor
Initially the c!rsor !st
be positione% in the
!ser nae fiel%
Initially the c!rsor
is present in the
!sernae fiel% -ass
) *ositive
+nter soe inforation in
to !ser nae an%
pass#or% fiel% an% check
for the enable% property of
login b!tton
Login b!tton !st be
enable%
Login b!tton is
enable% -ass
, *ositive
+nter soe info in to any
of the fiel%s an% check for
the enable% property of
clear b!tton
Clear b!tton !st be
enable%
Clear b!tton is
enable% -ass
- *ositive
+nter !ser nae'
*ass#or% as per the .IT
an% click on login b!tton
Correspon%ing page
!st be %isplaye% as
per the .IT
Correspon%ing
pages are
%isplaye% as per
vali% in p!ts table-ass
/ *ositive
+nter !sernae'
*ass#or% as per the .IT
an% select a %ata base
option an% click on login
Correspon%ing page
!st be %isplaye% as
per the .IT 0ith the
entione% %ata base
connection
Correspon%ing
pages are
%isplaye% as per
the .IT #ith the
entione% %ata
base connection -ass
crp.testing@gmail.com 33
11 *ositive
+nter soe inforation in
to any of the fiel%s an%
clear b!tton
All the fiel%s !st be
cleare% an% the C!rsor
sho!l% be place% in the
!ser nae fiel%s
All the fiel%s are
cleare% b!t the
c!rsor is not
place% in the
!ser nae fiel%2 7ai
11 *ositive Click on the cancel b!tton
Login screen sho!l% be
close%
Login screens
close% -ass
1" *ositive
Check for the tabbing
or%er of all the objects
Tabbing or%er !st be
as follo#s User nae'
*ass#or%' Connect to'
Login' Clear' Cancel
Tabbing or%er is
as follo#s
Usernae'
*ass#or%'
Connect to
Login' clear'
Cancel -ass
1$ 3egative
+nter !sernae'
*ass#or% as per the I.IT
an% click on login b!tton
Correspon%ing
essages sho!l% be
%isplaye% as per I.IT
Correspon%ing
error essages
are not %isplaye%
as per I.IT 7ai
1& 3egative
+nter soe inforation
only in to the !ser nae
fiel% an% check for the
enable% property of login
b!tton
Login b!tton !st be
%isable%
Login b!tton is
enable% 7ai
1( 3egative
+nter soe inforation
only in to the pass#or%
fiel% an% check for the
enable% property of login
b!tton
Login b!tton !st be
%isable%
Login b!tton is
enable% 7ai
2(8$N (39 T*3
Sno (bj Na"e Type
1 :ser na"e Te&t 3o&
2 -ass%ord Te&t 3o&
! Connect To Co"bo bo&
# 2ogin 3utton
; Cear 3utton
< Cance 3utton
5aid $nputs Tabe
Sno :ser Na"e -ass%ord /&pected -age *ctua vaue 6esut
1 Suresh +tp *d"in *d"in -ass
2 6aja rani =o"e page =o"e page -ass
crp.testing@gmail.com 34
! Chiru "bbs =o"e page =o"e page -ass
# -raveen puppy =o"e page =o"e page -ass
; NT6 iu =o"e page =o"e page -ass
< *d"in *d"in *d"in *d"in -ass
4 test $ngineer *ill do the follo*ing during the test e1ecution
crp.testing@gmail.com
5aid $nputs Tabe .$5$T1
Sno :ser Na"e -ass%ord /&pected -age *ctua vaue 6esut
1 Suresh1 +tp Invali% User nae *l4 try again *d"in 7ai
2 6aja2 rani Invali% User nae *l4 try again
Invali% User nae *l4 try
again -ass
! Chiru ,*,*
Invali% pass#or% *l4 try
again
Invali% pass#or% *l4
try again -ass
# -raveen T(-$
Invali% pass#or% *l4 try
again
Invali% pass#or% *l4
try again -ass
; NT61 iu#
Invali% !ser nae 5
pass#or% *l4 try again
Invali% !ser nae 5
pass#or% *l4 try again -ass
< *d"in; *d"in<
Invali% !ser nae 5
pass#or% *l4 try again
Invali% !ser nae 5
pass#or% *l4 try again -ass
35
2. <e *ill perform the action that is described in the description column
3. <e *ill observe the actual behavior under the actual value column.
5. <e *ill document the observed value under the actual value column.
In this phase the test engineer *ill compare the e1pected values *ith the actual
values and if both are matched they *ill document the result as pass other *ise they
*ill document the result as fail.
,ug Trac.ing is a process in *hich the defects are identified) Isolated and managed
&efect HI&:
The lists of defect numbers are mentioned here in this section.
De#ect Descri!tion: -
=hat e1actly the defect is clearly described here in this section.
%te!s #or re!roducibilit:
The list of all the steps that are follo*ed by the test engineer to identify the defect
*ill be listed out here in this section.
%ub&itter: -
The name of the test engineer *ho has submitted the defect *ill be mentioned here
in this section.
Date %ub&ission: -
The date on *hich the defect is submitted is mentioned here in this section.
'ersion (o: -
Corresponding Iersion number is mentioned here in this section.
)uild (o: -
Corresponding build number is mentioned here in this section.
crp.testing@gmail.com 36
Assigned To: -
The development lead *ill fill the developers name for *hom the defect is assigned.
crp.testing@gmail.com 37
crp.testing@gmail.com
,efect $d
,efect
,escription
Steps for
6eproducibiity Sub"itter
,ate (f
Sub"ission
5ersion
N(
3uid
No
*ssign
to Severity-riorityStatus
1
Initially Login' cear
b!ttons are
enable% instea% of
being %isable%
3ot Applicable
6ri Balaji 11>7eb>?@ 1.?.? 1
"
Upon Clicking on
clear b!tton all the
fiel%s are cleare%
b!t the c!rsor is not
place% in the !ser
nae fiel%
12+nter soe
inforation in to any
of the fiel%s
"2Click on clear
b!tton
$2Observe that the
c!rsor is not place%
in the !sernae
fiel%s after clearing
all the fiel%s
6ri Balaji 11>7eb>?@ 1.?.? 1
$
Upon entering
6!resh1 as
!sernae an% 7tp
as pass#or% an%
clicking on login
b!tton a%in page
is %isplaye% instea%
of error essage
12+nter 6!resh1 in
to the !ser nae
fiel% "2+nter
7tp in to the
pass#or% fiel%
$2Click on login
b!tton
&2Observe a%in
page is %isplaye%
instea% of error
essage2
6ri Balaji 11>7eb>?@ 1.?.? 1
&
Up on entering the
inforation only in
to the !ser nae
fiel% login b!tton is
enable% instea% of
being %isable%
12 +nter soe
inforation in to
!sernae fiel%
"2Check for the
enable% property of
login b!tton2 $2
Observe that login
b!tton is enable%
instea% of being
%isable%2
6ri Balaji 1#>7eb>?@ 1.?.? 1
(
Upon entering the
inforation only in
to the pass#or%
fiel% login b!tton is
enable% instea%
being %isable%
12+nter soe
inforation in tho
pass#or% fiel%
"2Check for the
enable% property of
login b!tton
$2Observe that login
b!tton to enable
instea% of being
%isable%
6ri Balaji 11>7eb>?@ 1.?.? 1
38
De#ect- *d: -
The list of defect numbers are mentioned here in this section
De#ect Descri!tion: -
=hat e1actly the defect is clearly described here in this section
%te!s #or re!roducibilit: -
The list of all the steps that are follo*ed by the test engineer to identify
the defect *ill be listed out here in this section
%ub&itter: -
The name of the test engineer *ho has submitted the defect *ill be
mentioned here in this section.
Date "# %ub&ission: -
The date on *hich the defect is submitted is mentioned here in this
section.
'ersion (o: -
Corresponding Iersion number is mentioned here in this section.
)uild (o:
Corresponding build number is mentioned here in this section.
Assigned To: -
The development lead *ill fill the developers name for *homthe defect
is assigned.
%everit: -
<o* serious the defect is defined in terms of severity) 0everity is
classified in to four types:
2. :atal (0ev2) or 02 or 2
3. /a!or (0ev3) or 03 or 3
5. /inor (0ev5) or 05 or 5
6. 0uggestion (0ev6) or 06 or 6
". $atal:
If at all the problems are related to the navigational bloc.s or unavailability
of functionality then such type of defects are treated to be fatal defect.
crp.testing@gmail.com 39
-ain -en@
Ial2
Ial3
9esult

#e4t
:#
%<%"L%BL
(
#e4t
%DD
#e4t
-. a+or: -
If at all the problems are related to the *or.ing of ma!or functionalities
then such types of defects are treated to be ma!or defects.
.. inor: -
If at all the problems are related to the 'oo. + :eel of the application
then such type of defects are treated to be minor defects
/. ,uggestions: -
If at all the problems are related to the value of the application then such
type defects are treated to be suggestions.
KIe integer ,o1
crp.testing@gmail.com 40
Ial2
Ial3
9esult
2A
3A
2A
4&&
Ial2
Ial3
9esult
,4&
'ome
alp8a3ets
Invalid
$ntry
Pl; Try
again
"s it
6eall
.
De=e
ct
Priority: -
Priority defines the sequence in *hich the sequence in *hich defects has to be
rectified. It is classified in to four types
2. Critical (Pri2) or P2 or 2
3. <igh (Pri3) or P3 or 3
5. /edium (Pri5) or P5 or 5
6. 'o* (Pri6) or P6 or 6
(sually the :atal defects are given critical priority) /a!or defects are
given <igh priority) /inor defects are given /edium Priority and suggestions are
given 'o* Priority) ,ut depending up on the situations the priority *ill be
changing.
I Case:
'o* severity<igh Priority Case:
(p on customer visit to the company all the loo. and feel defects are
given highest priority.
II Case:
<igh severity H'o* Priority Case:
=hen ever ?AP of the application is released to testing department as
3AP is missing the test engineers *ill treat them as :atal defect but the development
lead *ill give least priority for those defects as features are under development.
,ug 'ife Cycle:
#o
B@il/ F1
B@il/ F2
crp.testing@gmail.com 41
9$Q
&$I
/2
T$0TI"G Is
defect
is
really
verifie
d
If
&efect
6ecti=ic
ation
:i1ed for
verification
#P
$"
0T#P T$0TI"G
<#'
&
Testers
error
4s per
design
Clos
ed "e
*
9$
ope
n
&es
#o
&es
#o
0tatus:
"e*: =hen ever the defect is found for the first time the test engineer *ill set the
status as "e*.
#pen: =hen ever the developer accepts the raised defect then he *ill set the status
as open.
:i1ed for verification #r :i1ed for rectified: =hen ever the developer rectifies the
raised defect then he *ill change the status to fi1ed.
9e open and Closed: =hen ever the defects are rectified) ne1t build is released to
the testing dept then the test engineers *ill chec. *hether the defects are rectified
properly or not. If the defect is rectified properly then the test engineer *ill set the
status as NClosedO. If the defect is not rectified properly then the test engineer *ill
set the status as N9e openO.
<old: =hen ever the developer is confused to accept or re!ect the defect then he
*ill set the status of the defect as hold.
Testers $rror or Testers /ista.e #r 9e!ected: =hen ever the developer is
confirmed it is not at all a defect hen he *ill set the status of the defect as
N9e!ectedO.
crp.testing@gmail.com 42
4s Per &esign: =hen ever the test engineer is not a*are of ne* requirements and
if he raises defects related to the ne* features then the developer *ill set the status
N 4s Per &esignO.
"ote: This is a rare case not usually #ccurs
Ways of Testing:
There are t%o %ays of Testing
1. 0anua Testing
2. *uto"ation Testing
1. 0anua Testing:
$t is a %ay of testing in %hich one %i perfor" a the phases of soft%are
testing ife cyce i)e Test panningA Test deveop"entA Test e&ecutionA 6esut anaysisA 3ug
trac)ingA and 6eporting are acco"pished "anuayA successfuy %ith hu"an efforts
,ra%bac)s of 0anua Testing:
0ore nu"ber of peope are re+uired
Ti"e consu"ing
=u"an "ista)es .no accuracy1
Tiredness
Si"utaneous action are not possibe
Cannot repeat the sa"e tas) again and again in a
perfect "anner.
2. *uto"ation Testing:
*uto"ation testing is a process in %hich a the dra%bac)s of "anua testing
are addressed propery and provides speed and accuracy to the e&isting testing process.
,ra%bac)s of *uto"ation Testing:
Toos are e&pensive
Cannot auto"ate a the area
2ac) of e&perts
*uto"ated Too:
*uto"ated too is an assistant of a test engineerA %hich %or)s based on the
instructions and infor"ation given by a test engineer.
8enera 7ra"e Wor) to earn any auto"ated Too:
* test engineer shoud earn the foo%ing to %or) %ith any auto"ated too
=o% to give the instructions?
=o% to give the infor"ation?
=o% to use its recording faciity?
=o% to use its pay bac) faciity?
=o% to anayBe the resuts?
Types of *uto"ated Toos:
* bac) bo& testing toos are broady divided in to Three types
1. 7unctiona toos .CT-A Win runner1
2. 0anage"ent Toos .Test ,irector'Cuaity Center1
crp.testing@gmail.com 43
!. -erfor"ance toos .2oad 6unner1
CT- .Cuic) Test -rofessiona1
Type (f The Too: 7unctiona Too
Co"pany: 0ercury $nteractive incorporation
Scripting 2anguage: 53> Script
5ersion: D;.;AD<.;ADE.?ADE.<AD@.?AD@.2.2??;1ADF.?ADF.1ADF.2
*nato"y of CT-:
Ib*indo*(NempO).vbedit(NenameO).set O0ri ,ala!iO
5b%indo%.Ge"pH1.vbedit.GeageH1.setH2EH
5b%indo%.Ge"pH1.vbedit.GesaI1.setH2????H
5b%indo%.Je"pH1.vbedit.GedeisigH1.setHT/H
5b%indo%.Ge"pH1.vbedit.Gsub"itH1.set cic).
5bWindo%.K5bWindo%K1.5b/dit.K5b/ditK1.Set K1?K
5bWindo%.K5bWindo%K1.5b/dit.K5b/ditL2K1.Set K2?K
5bWindo%.K5bWindo%K1.5b3utton.K*,,K1.Cic)
5bWindo%.K5bWindo%K1.5b3utton.KS:3K1.Cic)
5bWindo%.K5bWindo%K1.5b3utton.K0:2K1.Cic)
5bWindo%.K5bWindo%K1.5b3utton.K,$5K1.Cic)
5bWindo%.K5bWindo%K1.5b3utton.KC2/*6K1.Cic)
*dding 0anager:
4dding manager is a feature provided by QTP *hich is used for
sho*ing all the list of addingBs *hile opening the QTP so that the user can select the
desired addingBs and then enter in to the QTP) ,efore the user access the QTP the
adding manager *ill ma.e the QTP compatible *ith all the selected environments.
,y default QTP is al*ays compatible *ith standard *indo*Bs
environment.
crp.testing@gmail.com 44
/ na"e
$ age

$ 0al


$ &esig

0ubmit
$/P
=henever *e purchase QTP *e get Three builtin addingBs.
2. 4ctive1
3. Iisual ,asic
5. =eb.
4 part from the above addins one needs to purchase the addinns by paying e1tra
cost.
QTP screen can be divided in to seven parts
2. Test Pane
3. 4ctive screen
5. &ata Table
6. &ebug Iie*er Pane
7. Tool #ptions
8. Information pane
>. /issing resources pane
2.Test Pane:
Test pane is an area provided by QTP) *hich is used for developing)
vie*ing) and modifying the test screen. It represents the test scripts in t*o vie*s
(a). $1pert vie*
(b). -ey *ord vie*
(a). $1pert vie*: It represents the script in I, script format
(b). -ey*ord vie*: -ey*ord vie* represents the script using a graphical user
interface (G(I) *hich is further divided in to four parts.
Item
#peration Ialue
&ocumentation
3.4ctive 0creen:
4ctive screen is an area provided by QTP) *hich holds the snapshots of each
and every script statements and used for the follo*ing.
$asily understanding the script
$asily enhancing the script.
5.&ataTable:
The date table is originally called as formula2 sheet developed by third party
and integrated *ith QTP.
:eatures:
It is used for holding the test data
It isolates the test script from the data source.
It provides the facility to import the test data from
different data sources li.e e1cel files) data base and flat
files (a file *ith out having format)
It allo*s the user to interact *ith the data directly
"ote: QTP maintains t*o copies of data tables
i. &esign time data table
ii. 9un time data table
6. &ebug Iie*er Pane:
crp.testing@gmail.com 45
&efinition of &ebugging: &ebugging Is a process of e1ecuting the script or a
program in a user desired passion *ith some temporary brea.s in order to identify
the errors.
&ebug vie*er pane is an area provided by QTP *hich is used for vie*ing)
modifying or setting the current values of variables or e1pressions during the
e1ecution brea. *ith the help of three Tabs by name =atch e1pression) Iariables
and Command
7.Tool #ptions:
4ll the options available in the menu bar) file tool bar and testing tool bar
are .no*n as tooloptions.
9$C#9&I"G 4"& 9(""I"G
9ecord and 9un 0ettings:
:or every ne* test one has to compulsorily do this settings before recording
or running. These settings *ill ma.e to understand on *hich applications it need to
concentrate *hile recording or running.
"avigation:
4ctivate the menu item test
0elect the option record and run settings
0elect one of the follo*ing options
9ecord and run test on any opened *indo*s based application
9ecord and run on these application (opened on session start)
If at all second option is selected then clic. on add button
,ro*se the desired application part
Clic. on #-
Clic. on apply + #-.
#perational overvie* of 9ecording:
&uring recording QTP *ill do the follo*ing..
2. It *ill generate corresponding script statements for every
user action on the application.
3. It *ill store the required related information in the ob!ect
repository.
#perational overvie* of 9unning:
&uring running QTP *ill doing the follo*ing..
2. It *ill read the script statement and understands *hat
action to be performed on *hich ob!ect.
3. Then it reali;es it need to identify the ob!ect first to
perform the action
5. To identify the ob!ect it requires some information for that
information it *ill go the ob!ect repository and search.
6. #nce the information is found using this information it *ill
try to identify the original ob!ect.
7. #nce the ob!ect is identified it *ill perform the action on it.
9ecording /odes:
crp.testing@gmail.com 46
There are there types of recording mode
(a). Conte1t sensitive recording mode or "ormal recording
mode
(b). 4nalog 9ecording /ode
(c). 'o*level 9ecording mode.
(a). Conte1t sensitive 9ecording mode:
It is used for recording the operations performed on the standard
G(I ob!ect in different situations
(b). 4nalog 9ecording /ode:
It is a special recording mode provided by QTP) *hich is used for
recording the continuous operations
"avigation:
-eep the tool under normal recording mode
4ctivate the menu item test
0elect the option analog recording
0elect one of the follo*ing option
o 9ecord relative to the screen
o 9ecord relative to the follo*ing *indo*
If at all second option is selected specify the *indo*
title *ith the help of the <and Icon
Clic. on start analog record
(c). 'o*'evel 9ecording:
It is a special recording mode provided by QTP) *hich is used for
recording at least some minimum operations on the nonsupported environments
also.
#,Q$CT 9$P#0IT#9J
#b!ect 9epository:
#b!ect repository is a storage place *here one can store the ob!ects
information and it also acts as interface bet*een
n the test script and the 4(T(application under test) in order to identify the original
ob!ects during e1ecution
Types of #b!ect 9epository:
There are t*o types of ob!ect repository they are
2. local 9epository
3. 0hared 9epository
(2). 'ocal 9epository:
If at all this type is selected as an ob!ect repository then the QTP *ill
be automatically creating and managing an individual repository for every action.
(3). 0hared 9epository:
crp.testing@gmail.com 47
0hared repository has to be created and managed manually once a
shared repository to created it can be shared among number of tests
4dvantages:
$asy to maintain
9eusability
"avigation for creating a shared 9epository or Converting a per action in to shared:
Collect the ob!ects information in to the ob!ect
repository
Clic. on e1port
,ro*se the desired location
0pecify the file name *ith .T09 e1tension
Clic. on save button
"avigation for Creating the 0hared 9epository to the currant test:
4ctivate the menu item test
0elect the option settings
0elect the resources tab
0elect the option shared in the ob!ect repository type
section
,ro*se the desired repository file
Clic. on apply + #-
0ote: .T,R means Test ,hared Repository
#P$94TI#"0 #" #,Q$CT 9$P#0IT#9J
"avigation for adding the ob!ects in to the ob!ect repository:
(pen the object repository
Cic) on add objects button
Cic) on the tite bar of the %indo%
Cic) on o)
Seect one of the foo%ing options
o (ny the seected objects
o Seected objects and a its direct chidren
o Seected objects and a its descendents
Cic) on (M
Navigation for deeting the objects for" the object repository:
Seect the desired object to be deeted in the object
hierarchy
6ight cic) on it
Seect the option deete
Confir" the deeting by cic)ing on
Navigation for 6e na"ing the objects:
Seect the desired object in the object hierarchy
6ight cic) on it
Seect the option 6ena"e
crp.testing@gmail.com 48
J$0
Specify the desired na"e
Navigation for updating the properties ist:
Seect the desired object in the object hierarchy
Cic) on add'6e"ove button
Seect the desired properties to be added in to the
properties ist
,eseect the properties to be re"oved fro" the properties
ist
Cic) on (M
=ighight:
<ighlight button is used for highlighting the corresponding ob!ect in
the 4(T so that a test engineer can clearly understand *hich ob!ects information is
that.
#,Q$CT I&$"TI:IC4TI#"
(bject identification:
(bject identification is based on four types of properties and an ordina
identifier
Types of properties:
1. 0andatory -roperties
2. *ssistive properties
!. 3ase>7iter -roperties
#. (ptiona 7iter properties
* test engineer can specify the ist of "andatory propertiesA 2ist of assistive propertiesA
2ist of base fiter propertiesA ist of optiopna fiter properties and an ordina identifier.
CT- earns the infor"ation in the foo%ing in case ony nor"a brain:
7irst of a the CT- %i earn a the "andatory properties at a ti"e and then thin) %eather
these properties are sufficient to identify the object uni+uey. $f it fees sufficient then it
%i stop earning other%ise it %i earn the first assistive property and once again stops
and thin)s %eather these properties are sufficient to identify the object uni+uey. $f it fees
sufficient then it stops earning other%ise earns the second assistive property and chec)s
%eather these properties are sufficient or not. This process continuous ti the CT-
satisfies or up to the end of the assistive properties ist. *t the end of the assistive
properties ist aso if it fees not satisfied then it %i finay earn the ordina identifier and
stops earning.
CT- earns the infor"ation in the foo%ing %ay in case of s"art brain aso:
=hile learning the mandatory properties along *ith them it *ill learn
the base filter properties) optional filter properties and stores them in the secret
place.
It considers the mandatory properties only and chec. *eather these
properties are sufficient to identify the ob!ect uniquely. and repeats the above
process.
Note: $n the above earning process e&cept base fiter properties and optiona fiter
properties a the re"aining infor"ation earnt %i be stored in the object repository.
CT- %i use the infor"ation in the foo%ing %ay to identify the object during
e&ecution:
crp.testing@gmail.com 49
7irst of a CT- %i use a the properties present in the object repository
e&cept ordina identifier and try to identify the object. $f at a the object is not identified
then it %i forget about a these properties and freshy enters in to the secret pace.
CT- %i consider a the base fiter properties and try to identify the object
and for"s a ist of a the objects that are "atched %ith the base fiter properties.
$f the ist contains ony one object then that is the object other%ise it %i ta)e the support
of first optiona fiter property and try to "atch %ith a the object present in the ist and
for"s a ne% ist of a the objects that are "atched %ith that property and then chec)
%eather the ist is containing one object or "ore that one object. $f the ist is containing
"ore than one object then it %i consider the second optiona fiter property and repeats
the %hoe procedure ti the ist contains on object or up to the end of the optiona
properties ist.
*t the end of the optiona fiter properties ist aso if the ist is containing "ore than one
object then it %i finay go to the object repository and chec) %eather the ordina
identifier is avaiabe or not. $f at a the ordina identifier is avaiabe it %i identify the
object roughy using that other%ise =*N,S:-.
(rdina $dentifiers:
There are three types of ordina identifiers
1.2ocation
2.$nde&
!.Creation ti"e
1.2ocation:
$f at a the ocation is seectedA as an ordina identifier then the CT- %i
generate a se+uence of nu"bers fro" ?A1A2A! based on the se+uence of the objects
ocated in *:T.
2.$nde&:
$f at a the inde& is seected as an ordina identifier than the CT- %i
generate the nu"bers fro" ?A1A2A!N. 3ased ob the se+uence of the progra"s of the
objects.
!.Creation Ti"e .speciay for %eb pages1:
If at all creation time is selected as an ordinal identifier the QTP *ill
generate the number from A)2)3)5)F based on the loading time of the *eb pages
S"art $dentification:
When ever the CT- is unabe to identify the objects %ith the hep of the properties
present in the object repository then the specia "echanis" provided by CT- to identify
the object s"arty %ith so"e other properties is )no%n as s"art identification.
Navigation for (bject identification Configuration:
*ctivate the "enu ite" toos
Seect the option object identification
Seect the desired environ"ent
Seect the desired object type
Specify the desired ist of "andatory properties and assistive
properties %ith the hep of corresponding add' re"ove buttons
Seect the ordina identifier
S"art identification
Seect the chec) bo& enabe s"art identification
Cic) on configure button
Specify the desired ist of base fiter properties and optiona fiter
properties %ith the hep of add're"ove buttons
Cic) on (M
Cic) once again on ()
crp.testing@gmail.com 50
(bject Spy:
#b!ect spy is a handy feature provided by QTP *hich is used for
sho*ing the complete ob!ects information li.e list of properties and their values) list
of methodology) synta1 for methodology and description of methods then and there
on the spot immediately of both test ob!ects as *ell as runtime ob!ects.
Navigation for (bject S-4:
*ctivate the "enu ite" toos
Seect the option object spy
Cic) on the hand icon
Cic) on the desired object
Types (f (bjects:
There are t%o types of objects 1.6un ti"e objects
2.Test objects
1.6un ti"e objects:
* the origina objects present in the *:T are )no%n as run ti"e objects
2.Test (bjects:
Test objects are the reference objects created by the CT- for run ti"e
objectsA stored in object repository and used by the CT- for the origina objects
CT- 2$7/ C4C2/
QTP life cycle contains 0i1 phases
$. Test panning
$$. 8enerating the basic test
$$$. /nhancing the test
$5. ,ebugging the test
5. /&ecuting the test
5$. *naysis the 6esuts
$. Test -anning:
$n this phase the auto"ation test ead %i do the foo%ing
1. :nder standing the re+uire"ents
2. $dentifying a the areas to be auto"ated
!. *nayBing both the negative and positive fo% of the appication
#. -reparing the auto"ation test pan docu"ent based on the
anaysis
;. -reparing the too ready %ith a the pre configurationa settings
for the further operations
crp.testing@gmail.com 51
$$. 8enerating the basic test:
$n this phase the auto"ation test engineer %i generate the basic test
engineer %i generate the basic test for both the Ove and Pve fo% of the appication
"$$$. /nhancing the Test:
#ne can enhance the script in the follo*ing *ays
1. $nserting the chec) points
2. SynchroniBing the test
!. -ara"eterising the test .,ata ,riven Testing1
#. $nserting the out put vaue state"ents
;. $nserting the transactiona points for "easuring
transactions
<. $nserting the progra""atic state"ents
E. *dding co""ents
@. $nserting the script state"ent "anuay
1.Chec) -oint:
Chec)point is defined as vaidation pointer test point %hich chec)s the
objects state or bit"ap state or data state during e&ecution at any point of ti"e
(perationa over vie% of chec)point:
Chec)point %or)s in t%o phases
i. -re>e&ecution -hase:
$t captures the e&pected vaue
8enerates the corresponding test script state"ent
ii. Whie>e&ecution phase:
$t captures the actua vaue
Co"pared the actua vaue %ith the e&pected vaue
,ispays the resut
Types Of Checkpoints:
a. Standard chec)points
b. 3it"ap chec)point
c. Te&t chec)point
d. Te&t area chec)point
e. ,ata base chec)point
f. Q02 chec)point
g. -age chec)point
h. Tabe chec)point
i. $"age chec)point
j. *ccessibiity chec)point
a. Standard Chec)points:
0tandard
chec.point is used for chec.ing the standard G(I ob!ects properties
value) it can be inserted in t*o *ays
i. Through application
ii. Through 4ctive 0creen
"avigation through application:
-eep the cursor in the desired location
crp.testing@gmail.com 52
;i//en *8ec2points
?or !e3 *8ec2points
-eep the tool under recording mode
4ctivate the menu item insert
Go to chec.point
0elect the option standard chec.point
Clic. on the desired ob!ect in the 4(T
Clic. on #-
0elect the desired properties to be chec.ed
0pecify the desired e1pected values
Clic. on #-
0top 9ecording
"avigation through active screen:
-eep the cursor on the desired statement so that the
corresponding snapshot is displayed in the active screen
Go to active screen right clic. on the desired ob!ect
0elect the option insert standard chec. point
Clic. on #-
0elect the desired properties to be chec.ed
0pecify the desired e1pected values
0elect one of the follo*ing options
0elect one of the follo*ing options
o ,efore current step
o 4fter current step
o Clic. on #-
(b) ,itmap chec.points:
,itmap
chec.point is used for chec.ing the complete bitmap or apart of a bitmap.
It can be inserted in t*o *ays
i. Through application
ii. Through 4ctive 0creen
"avigation through application:
-eep the cursor in the desired location of the screen
-eep the tool under recording mode
4ctivate the menu item insert
0elect the option bitmap chec. point
Clic. on the desired bitmap
Clic. on #-
If at all one need select a part of bitmap then select it using the
select area button
If at all one need save only the selected part then select the chec.
bo1 save only selected area
Clic. on #-
"avigation Through 4pplication:
crp.testing@gmail.com 53
-eep the cursor on the desired statement so that the
corresponding is displayed in the active screen
Go to the active screen
9ight clic. on the bit map
0elect the option insert bitmap chec. point
Clic. on #-
If at all one need to select a part of bitmap then select it using
select area button
I: alt all one need to save only the selected part select the chec.
bo1 save only selected area
0elect one of the follo*ing option
o ,efore currant step
o 4fter currant step
Clic. on #-
(C). Te1t Chec.point:
Te1t
chec.point is used for chec.ing the te1t present on a specified ob!ect. It
can be inserted in t*o *ays
i. Through application
ii. Through 4ctive
"avigation through application:
-eep the cursor in the desired location of the screen
-eep the tool under recording mode
4ctivate the menu item insert
Clic. on chec. point
Clic. on te1t chec.point
Clic. on the desired te1t
0elect the follo*ing option
o /atch case
o $1act match
o Ignore space
o Te1t not displayed
Clic. on #-
"avigation through 4ctive 0creen:
-eep the cursor on the desired location so that the
corresponding snapshot is available in the active screen
9ight Clic. on the desired position
Clic. on insert te1t chec.point
Clic. on desired te1t
0elect the follo*ing option
o /atch case
o $1act match
o Ignore space
Te1t not displayed
crp.testing@gmail.com 54
Clic. on o.
(d) Te1t 4rea Chec. Point:
Test
area chec.point is used for chec.ing the test presenting a specified area.
It can be inserted only through the application but not through the active
screen
"avigation through application:
-eep the cursor on the desired location of the screen
-eep the tool under recording mode
4ctivate the menu item insert
0elect the opinion te1t area chec.point
0elect the e1act area through cross hair pointers
Choose the follo*ing options
o /atch case
o $1act match
o Ignore space
o Te1t not displayed
Clic. on #-
0top 9ecording
(e) &ata ,ase Chec.point:
&ata base chec.
point is used for chec.ing the contents of the data base
"avigation:
4ctivate menu item insert
Go to chec. point
0elect the option data base chec.point
0elect the option specify 4Q' statement manually
Clic. on meet
Clic. on create
Clic. on ne*
0elect the desired driver
0lic. on ne1t
Clic. on finish
Clic. on select
0elect the desired database
Clic. on o.
Clic. on o.
Clic. on o.
0pecify the designed query statement
Clic. on finish
0elect the desired contents to be chec.ed
0elect one of the follo*ing option
o ,efore current step
crp.testing@gmail.com 55
o 4fter current step
Clic. on o.
(f) R/' Chec. Point:
R/'
is an universally understandable language *hich is mainly used for data
information
"ote: R/' chec. point is used fro chec.ing the contents of an R/' file
"avigation:
4ctivate the menu item insert go to chec. point
0elect the option R/' chec. point
,ro*se the desired R/' file
Clic. on #-
0elect the desired contents to de chec.ed
0elect one of the follo*ing option
o ,efore current step
o 4fter current step
Clic. on #-
(g) Table Chec. Point:
This is
used for chec.ing the contents of a table
"avigation:
-eep the cursor on the desired statements) so that the
corresponding page *ill be displayed in the active
screen
Go to active screen
9ight clic. on the page
0elect the option) Insert standard chec. point
0elect the desired table in the ob!ect hierarchy
Clic. on o.
0elect the desired properties to be chec.ed
0elect one of the follo*ing option
o ,efore currant step
o 4fter currant step
Clic. on o.
.h1 $"age Chec) -oint:
This is used for chec)ing the properties of an i"age
Navigation:
Meep the cursor on the desired state"entA so that the corresponding page %i be
dispayed in the active screen
8o to the active screen
6ight cic) on the page
Seect desired i"age in the object hierarchy
crp.testing@gmail.com 56
Cic) on o)
Seect on o)
Seect the desired properties to be chec)ed
Seect the one of the properties to be chec)ed
o 3efore currant step
o *fter currant step
Cic) on o)
.i1 *ccessibiity Chec) point:
*ccessibiity chec) point is used for chec)ing the %!c standards. for %eb
consortiu" standards1 in order to confir" %eather the page can be accessed a over the %ord or not
Navigation:
Meep the cursor on the desired state"ent sot heat the corresponding page is
dispayed in the active screen
8o to the active screen
6ight cic) on the page
Seect one of the foo%ing options
o 3efore currant step
o *fter currant step
Cic) on o)
2. SynchroniBtion:
SynchroniBation is a process of "atching the speeds of both the too and the appication
in order to )eep the" in sync %ith each other to obtain proper testing resuts
=ere the "ain concept is "a)ing the too to %ait ti the appication finishes its %or) it can
be done in three %ays
1. $nserting the synchroniBation point
2. $ncreasing the defaut ti"e
!. $nserting the %ait state"ent
Navigation for inserting the synchroniBation point:
Meep the cursor in the desired ocation
Meep the too under recording "ode
*ctivate the "enu ite" insert
8o to step seect the option sync point
Cic) on desired object
Cic) on o)
Seect the desired property
Specify the desired property vaue
Specify desired e&tra ti"e
Cic) on o)
Stop recording
$n order to avoid above navigation one can directy type the state"ent in the desired
ocation %ith the foo%ing synta&:
S4NT*Q: (bject hierarchy. Wait property H-roperty na"eH property vaueA e&tra ti"e in
"iiseconds
/&a"pe: Windo% .Gfight reservationH1.%in button.Gdeete orderH1.%ait
propertyHenabedHAtrueA1E???
Navigation for increasing the defaut ti"e:>
*ctivate the "enu ite" test
Seect the option settings
Seect the run tab
Specify the desired ti"e in "iiseconds in the object synchroniBation ti"e
out fied
crp.testing@gmail.com 57
Cic) on appy and o)
Synta& for Wait State"ent:
Wait .ti"e in seconds1
$1ample: =ait (2>)
&ata &riven Testing:
&ata driven testing is a concept introduced in the automation in order to implement
re testing
'teps to 3e =ollo1e/ to per=orm /ata /ri5en testingE
Collect the test data in to the data table
Generate the basic test
Parameteri;e the test
$1ecute the Test
4naly;e the result
Parameteri;ation:
Parameteri;ation is a process of replacing the constant values *ith parameters or
variables in order to increase the scope of the test. Parameteri;e can be done in three *ays
2.Through data driver *i;ard
3.Through .ey *ord vie*
5./anually
"avigation Through &ata &river =i;ard:
4ctivate the menu item tools
0elect the option data driver
Clic. on parameteri;e
Clic. on ne1t
Clic. on the parameter option button
0elect the desired column name
Clic. on o.
Clic. on ne1t
Clic. on finish
:inally clic. on o.
"avigation Through -ey *ord vie*:
Go to .ey *ord vie*
0elect the desired constant value
Clic. on configure the value button
0elect the option parameter
0elect the desired column name
Clic. on o.
To avoid the above navigation one can directly type manually as follo*s:
4L datatable(Nv2O)2)
Ib*indo*(Nform2O).vbedit(Nval2O).set 4
,L datatable(Nv3O)2)
Ib*indo* (Nform2O).vbedit(Nval3O).set datatable(Nv3)2)
Ib*indo*(Nform2O).vbbutton(N4ddO).Clic.
crp.testing@gmail.com 58
Ib*indo*(Nform2O).vbedit(NresO).chec. chec.point(N9$0O)
"avigation for parameter ;ing the chec. point:
9ight clic. on the chec. point statement
0elect the option chec. point properties
0elect the option parameter
Clic. on the parameter options button
0elect the desired column name
Clic. on o.
#nce again clic. on o.
6.#(T P(T I4'($:
#ut put value is a feature provided by QTP) *hich is used for capturing a value
from an application or from a database or from a R/' file and stores it under specified column in
the runtime data table
#perational overvie* of out put value:
The out put value feature *or.s in t*o phases
2. Pre$1ecution Phase
3. =hile H$1ecution Phase
2.Pre$1ecution phase:
It *ill capture the field name from *hich it need to capture the value
It *ill generate the corresponding script
3.=hile$1ecution phase:
Captures the actual value from the field
0tores it under a specified column in the run time data table
Types of #ut Put Ialues:
There are five types of out put valuesF
2.0tandard #ut Put Ialue: It is used for capturing property value of a standard G(I
ob!ect
3.Te1t #ut Put Ialue: It is used for capturing the te1t present on a specified ob!ect
5.Te1t4rea #ut Put Ialue: It is used for capturing the Te1t present in a specified area
6.&ata ,ase #ut Put Ialue: It is used for capturing a value from the database
7.R/' #ut put Ialue: It is used for capturing a value from the R/' file
"avigation for 0tandard #ut put value through application:
-eep the cursor in the desired location
-eep the tool under recording mode
4ctivate the menu item insert
Go to out put value
0elect the option standard out put value
Clic. on the desired ob!ect in the 4(T
Clic. on #-
0elect the desired property to be captured
Clic. on modify
0pecify the desired column name
crp.testing@gmail.com 59
Clic. on #.
#nce again clic. on o.
0top recording
"avigation :or standard chec. point through 4ctive 0creen
-eep the cursor under the desired location
Clic. on active screen
9ight clic. on desired location
Clic. on insert output value
Clic. on o.
0elect the desired property
Clic. on modify
0pecify the desired column name
Clic. on o.
#nce again clic. on o..
7.Inserting the transaction points for measuring the transaction:
It is a concept introduced in QTP *hich is used for calculating the time ta.en by an
application to perform a specific tas. or the e1ecution time of a bloc. of statement
To do the same QTP has provided t*o options
2.0tart transaction
3.$nd transaction
"avigation for inserting transaction points:
-eep the cursor in the desired location
4ctivate the menu item insert
0elect the option start transaction
0pecify the transaction name
0elect one of the follo*ing option
o ,efore currant step
o 4fter currant step
Clic. on o.
To avoid the above navigation one can directly type the follo*ing statements
manually in the desired location
0ervices.start transaction Otransaction nameO

0ervices.end transaction Otransaction nameO


8.Inserting the Programmatic statements:
There are five types of programmatic statements in the I., script
2."ormal statements (or) #b!ect calls
3.Conditional statements
5.'ooping statements
6.Comments
crp.testing@gmail.com 60
7.(tility statements
9eporter utility ob!ect:
It is used for reporting an user defined message to the result *indo*
0J"T4R: 9eporter.reportevent status)Oob!ect nameO)OmessageO
$1ample:9eporter.reporevent micdone)Omy reportO)Oadd button is *or.ing fineO.
0tatus:
Pass A
:ail 2
&one 3
=arning 5
II. &ebugging The Test:
&ebugging:
&ebugging is a process of e1ecuting the script or aprogram in a user desired passion
*ith some temporary brea.s in order to identify the errors
To do the same QTP has provided step commands and brea. point feature.
0tep commands:
There are three step commands
2.0tep into
3.0tep #ut
5.0tep over
2.0tep into:
0tep into is used for e1ecuting a single statement then it *ill step in to the function
or action and stops the e1ecution.
3.0tep #ut:
0tep out is used for e1ecuting all the remaining statements from the position of
pointer in the function of the action and comes out of the function or action and stops e1ecution
5.0tep #ver:
0tep over is used for e1ecuting the single statement if that statement is a function
call or action call then it *ill e1ecute all the statements in side the function or action once and
stops the e1ecution
,rea. Point:
,rea. point is the feature provided by QTP) *hich is used for brea.ing the
e1ecution temporarily
"avigation:
4ctivate the menu item debug
0elect the desired option
$1ample
:unction my func( )
crp.testing@gmail.com 61
/sg bo1 N<aiO
/sg bo1 Nhello*O
/sg bo1 N<o* r uO
$nd function
/y func
/sg bo1 NbyeO
/y func
/sg bo1Osee uO
/y func
/sg N*elcomeO
&ebug vie*er Pane:
&ebug vie*er pane is used for vie*ing) modifying or setting the currant
value of the variables or e1pressions during the e1ecution brea. *ith the help of three tabs by
name
2.*atch e1pressions
3.Iariables
5.Command
&im a
4L 2A
,L 3A
/sg bo1 a
/sg bo1 b
/sg bo1 a
I. $1ecuting the Test:
In this phase one *ill e1ecute the test
II. 4naly;ing the results:
In this phase one *ill analy;e the results..
crp.testing@gmail.com 62
4&I4"C$& C#"C$PT0
9egular $1pressions:
=hen ever the QTP is unable to identify the ob!ects due to the regular changes in
the ob!ects properties values dynamically during the e1ecution then to overcome this problem one
need to replace the corresponding property value in the ob!ect repository *ith a suitable regular
e1pression
"avigation:
#pen the ob!ect repository
0elect the desired ob!ect in the ob!ect hierarchy
0elect the desired property in the properties list
Clic. on the constant value options button
9eplace the constant value *ith suitable regular e1pression
0elect the chec. bo1 regular e1pression
Clic. on o.
Clic. on o.
,atch Testing #r ,atch e1ecution:
$1ecuting a group of script files at a time is .no*n as batch e1ecution. To do the
same QTP has provided a special tool by name test batch runner
,efore using the test batch runner one need to do the follo*ing settings in QTP
4ctivate the menu item tools
0elect the opt option
0elect the run tab
0elect the chec. bo1 allo* other mercury products to run tests
and components
Clic. on o.
crp.testing@gmail.com 63
"avigation for test batch runner:
'tart Programs>@ic2 test Pro=essional$ools$est 3atc8 r@nner
+nce t8e test 3atc8 r@nner is opene/ a// all t8e /esire/ script =iles an/ sa5e it as
a 3atc8 =ile 1it8 .mt3 e4tension
=hen ever required open the batch file and e1ecute it
9ecovery 0cenarios:
&uring the e1ecution QTP may face some problematic situation *here in it needs to
recover by itself and continue the e1ecution. To do the same a test engineer *ould have defined a
solution *ell in advance and made it available to the currant test before starting the e1ecution.
QTP may face four types of problematic situations
2.Problems related to popup *indo*
3.Problems related to ob!ect state
5.Problems related to test e1ecution
6.Problems related to application crash
To define the solution for the above problems QTP has provided four trigger events
2.Pop up *indo*
3.#b!ect state
5.Test run error
6.4pplication crash
"avigation for ob!ect test:
4ctivate the menu item tools
0elect the option recovery scenario manager
Clic. on ne* scenario button
Clic. on ne1t
0elect the trigger event as ob!ect state
Clic. on ne1t
Cli1. on ne1t
Clic. on the hand icon
Clic. on the desired ob!ect in the 4(T
Clic. on o.
Clic. on ne1t
0pecify the desired properties *ith the help of addMremove
button
Clic. on ne1t
#nce again clic. on ne1t
0elect the recovery operation as function call
Clic. on ne1t
,ro*se the desired library file
0elect the option define ne* function
0pecify the desired function name
=rite the body of the function
crp.testing@gmail.com 64
Clic. on ne1t
&eselect the chec. bo1 add another recovery operation
Clic. on ne1t
0pecify the desired scenario name
Clic. on ne1t
0elect the desired chec. bo1es
o 4dd scenario to the currant test
o 4ss scenario to default test settings
Clic. on finish
Clic. on save
,ro*se the desired location and save the file by specifying a
file name *ith .Q90 e1tension
Clic. on close
$nvironment Iariables:
The variables that may be varied in different environments and need to be
used in the multiple scripts) should not be directly used in the scripts. They need to be declare
separately in an environment file that file need to be associated to the test and then the variables in
that file need to be used in those test so that *hen ever the values need to be updated in different
environments one can update them very easily in the environment
0o all the tests using those variables *ill be automatically updated such .ind
of variables separately declared in the environment file are .no*n as environment variables
There are t*o types of environment variables
2.,uilt in variables
3.(ser defined variables
2.,uilt in variables:
These variables *ill be by default available *ith all the tests so that on can
directly use them in any test *ith the follo*ing synta1
0J"T4R: environment.value(Nbuilt invariable nameO)
$1ample: var L environment.value(NA7O)
/sg bo1 var
3.(ser defined variables:
These variables need to e declared by us according tour need and need to be
stored in a separate environment file. =henever required one need to associate these files to the
currant test and use those variables
"avigation for creating an environment file *ith environment variables:
4ctivate the menu item test
0elect the option settings
0elect the environment tab
0elect the variable type as user defined
Clic. on ne*
0pecify the variable name and the value
Clic. on o.
Clic. on e1port
,ro*se the desired location
crp.testing@gmail.com 65
0pecify the desired file name *ith .R/' e1tension
Clic. on save
To avoid the above navigation one can directly develop the R/' file as follo*s
SenvironmentT
SvariableT
SnameT flight path SMnameT
SvalueTOd:Uprogram filesUmercuryO SMvalueT
SMvariableT
SvariableT
SnameT b SMnameT
SvalueT3A5SMvalueT
SMvariableT
SMenvironmentT
"avigation for associating an environment file to the currant test:
4ctivate the menu item test
0elect the option settings
0elect the environment tab
0elect the variable types as user defined
0elect the chec. bo1 load variables and value from ecternal
files
,ro*se the path of the environment file
Clic. on apply and o.
In order to avoid the above navigation one can directly type the follo*ing script
statement in the starting of the script
0ynta1: environment. 'oad from file Npath of the env fileO
$1ample: environment. 'oad from fileOd:Uenvfile233.1mlO invo.e application
environment. Ialue(Nflight PathO)
Iirtual ob!ect configuration:
Iirtual ob!ect configuration is a process of ma.ing the QTP t treat a specified area
or an user defined ob!ect as a specific ob!ect
"avigation:
4ctivate the menu item tools
Go to virtual ob!ects
0elect the option ne* virtual ob!ect
Clic. on ne1t
0pecify the desired class(type) of the ob!ect
crp.testing@gmail.com 66
Clic. on ne1t
/ar. the area in the application *ith the help of mar. ob!ect button
Clic. on ne1t
0elect one of the follo*ing options
o $ntire parent hierarchy
o Parent only
Clic. on ne1t
0pecify the desired ob!ect name
0pecify the desired collection name
Clic. on finish
Iirtual ob!ect manager:
Iirtual ob!ect manager is a feature provided by QTP *hich is used for
creating and managing the virtual ob!ects
#nce a virtual ob!ect is created it *ill be available to all the tests unless until *e delete
it.
:rame*or.:
:rame*or. is a generic *or. (outline *or.) or a set of guidelines designed by an
e1pert to perform a tas. in an effective) efficient and optimi;ed *ay
Types of frame *or.s: (/ainly)
2. 'inear frame *or.
3. /odular frame *or.
5. -ey*ord driven frame *or.
6. <ybrid frame *or.
7. &ata frame *or.
2.'inear :rame*or.
Generate the basic test
$nhance the test
&ebug the test
$1ecute the test
4naly;e the test
3./odular :rame*or.:
&evelop the individual components for each and every tas.
/a.e them as reusable components
Prepare the required drivers based on the end to end scenarios
$1ecute the drivers
4naly;e the result
4ctions
4CTI#"0: 4ction is a set of script statements used for performing a specific tas.
Types of 4ctions:
There are three types of actions
2."ormal actions
3.9eusable actions
crp.testing@gmail.com 67
5.$1ternal actions
"ote: $1ternal actions are not editable .The reusable actions called in another test are .no*n as
e1ternal actions
#perations #n 4ctions:
"avigation for inserting a ne* action:
4ctivate the menu item insert
0elect the option call to ne* action
9ename the desired action
0elect the one of the follo*ing options
o 4t the end of the test
o 4fter the currant step
Clic. on o.
"avigation for splitting an action in to t*o actions:
0ave the action
-eep the cursor on the first statement of the second path
4ctivate the menu item step
0elect the option split action
0elect one of the follo*ing options
o Independent of each other
o "ested
0pecify the desired action name
Clic. on o.
"avigation for ma.ing an action as reusable action:
0elect the desired action
4ctivate the menu item step
0elect the option action properties
0elect the chec. bo1 reusable action
Clic. on o.
"avigation for renaming the action:
4ctivate the menu item step
0elect the option action properties
0pecify the desired name
Clic. on o.
"avigation for calling on e1isting action:
4ctivate the menu item insert
0elect the option call to e1isting action
,ro*se the desired test
0elect the desired action
0elect one of the follo*ing options
o 4t the end of the test
o 4fter the currant step
Clic. on o.
-ey *ord driven frame*or.:
crp.testing@gmail.com 68
Create the folder structure as follo*s
Crate the required test data file and save them in the
corresponding folders
Create the required shared repository files and save them in
the corresponding folder
Create the required library files and save them in the
corresponding folder
Create the required environment files and save them in the
corresponding folder
Create the required recovery files and save them in the
corresponding folder
#pen the main test and associate all the required files to each
&evelop the script in such a *eather it e1ecutes based on the
.ey *ords specified in the data table
$1ample:
IarL data table (N.eysO)2)
0elect case var
Case N'2O
'ogin( )
Ins ord( )
'ogout( )
CaseO'3O
#penord( )
'ogout( )
Case N'5O
'ogin( )
'ogout( )
$nd select
0pecify the desired .ey *ords under the corresponding column in the data
table and save the test in the corresponding folder
When ever required open the test and execute it and analyze the result
/ethods
:irst method H Capture bitmap:
It is used for capturing a snap shot of an ob!ect or an *indo* during
e1ecutin and stores it in the desired location
crp.testing@gmail.com 69
0ynta1: #b!ect hierarchy.capturebitmap NPath of the location *ith a file name.bmpe1tensionO
$1ample:
=indo*(Nflight
9eservationO).dailog(NopenorderO).*inbutton(No.O).capturebitmapO&:UflVautomationUb2.bmpO
0econd /ethod $1ist method:
It is used for chec.ing the ob!ects e1istence if the ob!ect is e1isting then it *ill
return a value True) and ma.e the QTP to continue the e1ecution) If at all the ob!ect
is not e1isting it *ill ma.e the tool to *ait till ob!ect e1ists. #nce the ob!ect e1ists it
*ill return true and ma.e the QTP to continue the e1ecution. If at all the ob!ect is
not e1isting up to the ma1imum time then it *ill return false and ma.e the QTP to
continue the e1ecution
0ynta1: variableLob!ect hierarchy.e1ists(time in seconds)
$1ample: IarL *indo*(Nflight reservationO).e1ists(23)
=ait property:
=ait property is used for ma.ing the tool to *ait based on the ob!ect properties
value
0ynta1: ob!ect hierarchy.*ait property Nproperty nameO) property value) e1tra time in mille
seconds
=ait: it is used for ma.ing the tool to *ait till the specified time is elapsed.
0ynta1: =aitO Time in secondsO
0imple and regularly used methods:
The first method among those is clic. method.
2. Clic. method:
Clic. method is used for clic.ing on specified ob!ect
0ynta1: #b!ect hierarchy.clic.(1)y)WbuttonX )
3. &ouble clic.:
It is used for double clic.ing on a specified ob!ect
0ynta1: #b!ect hirerarchy.dblclic.(1)y) WbuttonX)
5.0et /ethod: 0et method is used for setting a value in to an edit bo1 or selecting or deselecting
achec. bo1 or selecting a radio button
0ynta1: #b!ect hirerearchy.setOvalueO
#b!ect hierarchy of chec. bo1.set NonMoffO
#b!ect hierarchy of radiobutton.set
Case study2:
&evelop the script customer id) custname) currant age) cust phone number and clic.ing
on submit button
Cust
crp.testing@gmail.com 70
*@st "/E
Cust "ame:
Cust 4ge:
Cust Ph no:
0ubmit
.b#in%o#89c!st:;2vbe%it89c!st:;2set2:C!sti%:
.b#in%o#89c!st:;2vbe%it89c!stnae:;2set:nae:
.b#in%o#89c!st:;2vbe%it89c!stage:;2set:age:
.b#in%o#89c!st:;2vbe%it89c!stphno:;2set:phoneno:
.b#in%o#89c!st:;2vb!tton89s!bit:2click
6econ% Case st!%y
&evelop the script of selecting Testing tools) sql server) live pro!ects chec. bo1es and
clic.ing on ne1t button..
Ib*indo*(NmindqO).vbchec.bo1(YtestingtoolsO).setOonO
5b%indo%.G"ind+H1.vbchec)bo&.Gs+serverH1.setHonH
5b%indo%.G"ind+I1.vbchec)bo&.GiveprojectH1.set GonH
5b%indo%.G"ind+H1.vbbutton.Gne&tH1cic)
Third Case 0tudy
&evelop the script for deselecting the testing tools chec. bo1)selecting the QTP and live
pro!ect chec. bo1es and clic.ing on ne1t button
crp.testing@gmail.com 71
$esting $ools
'>L 'er5er
QTP
Li5e ProAect
"$RT
$esting $ools
'>L 'er5er
QTP
Li5e ProAect

5b%indo%.G"ind+H1.vbchec)bo&.Gtesting toosH1.set GoffH


5b%indo%.G"ind+H1.vbchec)bo&.GCT-H1.setH(NH
5b%indo%.G"ind+H1.vbchec)bo&.GiveprojectsH1.setHonH
5b%indo%.G"ind+H1.vbbutton.Gne&tH1.cic)
7ourth Case Study:
,eveop the script for entering the na"eA ageA countryA and seecting the genderA seecting the chec)
bo& photo profies ony and cic)ing on search button
0atri"ony
Ib*indo*(NmatrimonyO).vbedit(NnameO).setOsri bala!iO
5b%indo%.G"atri"onyH1.vbedit.GageH1.setH2;H
Ib*indo*(NmatrimonyO).vbedit(NcountryO.set NIndiaO
5b%indo%.G"atri"onyH1.vbradiobutton.Gfe"aeH1.set
5b%indo%.G"atri"onyH1.vbchec)bo&.Gphoto profie onyH1.set GonH
5b%indo%.G"atri"onyH1.vbbutton.GsearchH1.cic)
Seect 0ethod:
0elect method is used for selecting an item in a combo bo1 or a list bo1
Synta&:(bject hierarchy.seectHite" na"eH
7ifth Case Study:
,eveop the script for entering train nu"berA train na"eA date of journeyA seecting starting pointA
seecting destination pointA seecting berthA seecting cass
6/S
crp.testing@gmail.com 72
"ame
4ge
Country
o /ale
o :emale
Photo profiles
only
0$49C<
$rain #oE
$rain #ameE
Date o= Go@rne.E
?rom
To
(, :irst 4Mc
', 0econd 4MC
/, $8ir/ %0*
'leeper
Brea2 ?ast
'unch
&inner
N/QT
Ib*indo*(NresO).vbedit(OtrainnoO).setO3A?7O
5b%indo%.GresH1.vbedit.HTrainna"eH1.setH8odavariH
5b%indo%.GresH1.vbedit.H,ate of journeyH1.setH1;>aug>?@H
5b%indo%.GresH1.vbco"bobo&.Gfro"H1.seect GSecH
5b%indo%.GresH1.vbco"bobo&.GToH1.seectHTpgH
5b%indo%.GresH1.vbradiobutton.G23H1.set
5b%indo%.GresH1.vbradiobutton.GseeperH1.set
5b%indo%.GresH1.vbchec)bo&.Gbrea)fastH1.set on
5b%indo%.GresH1.vbchec)bo&.GdinnerH1.set on
5b%indo%.GresH1.vbbutton.Gne&tH1.cic)
*ctivate 0ethod:
"t is @se/ =or acti5ating a 1in/o1 or a /ialog.
Synta&: (bject hierarchy. *ctivate
Cose 0ethod:
$t is used for cosing the %indo% or a bro%ser
Synta&: (bject hierarchy. Cose
Set Secure:
Set secure "ethod is used for setting an encrypted data in to an edit bo&
Type 0ethod:
Type "ethod is used for perfor"ing any )ind of )ey board reated operation
Synta&: (bject hierarchy. Type )ey vaue
/&a"pe:
,iaog .GoginH1. Winedit.Gagent na"eH1.type "ic tab
,escriptive -rogra""ing: >
$f at a the objects description is specified in the progra" itsef then that type of progra""ing is )no%n
as descriptive progra""ing
,iaog.Gte&t:RoginHAH%idth:R!2?H1.%indedit.Gattached test:R *gent Na"e:H1
,iaog.Gte&t:RoginH1.%inedit.Gattachedte&t:Rpass%ord:H1.setsecure &&&&&&
,iaog .Gte&t:RoginH1.%inbutton.Gte&t:Ro)H1.cic)
Windo%.Gte&t:Rfight reservationI1.cose
8et6o-roperty:
$t is used for getting the currant vaue of the runti"e objects property
Synta&: 5ariabeR(bject hierarchy.getroproperty.Gproperty na"eH1
Si&th Case Study:
,eveop the script for cic)ing on a o) button if it is e&isting and enabed other%ise the corresponding
"essage shoud be reported to the resut %indo%
7or" 1
crp.testing@gmail.com 73
#-
IarL vb*indo*.(Yform2O).vb button(No.B).e1i1ts
$f. varRtrue1 then
5ar2R vb%indo%..Gfor"1H1.vbbutton.Go)H1.getroproperty.HenabedH1
$f.var2Rtrue1 then
5b%indo%..Gfor"1H1.vbbutton.Go)H1.cic)
$lse
6eporter.report editA!AH"y reportHAH() button is visibeH
$nd if
/se
6eporter.report editA!AH"y reportHAHfor" do%snot e&istsH
/nd if
0eventh Case study:
,eveop the script for seecting the product idA entering +uantityA cic)ing on ca button and chec)ing
%eather it is %or)ing fine or not
-6(,:CT
Ib*indo*(NproductO).vbcombobo1(NpidO).select NAA>O
CR;
6Rvb%indo%.GproductH1.vbedit.GprateH1.getroproperty GTe&tH
/5Rr*+
5b%indo%.GproductH1.vbedit.G+uantityH.set +
5b%indo%.GproductH1.vb button.GcaH1.cic)
*5Rvb%indo%.GproductH1.vbedit.Ga"ountH1.getroproperty Gte&tH
$f ./5R*51 then
6eporter.reporteventA ?AH"y reportHAHca button is %or)ingH
/se
6eporter.report eventA!AH"y reportHAHca button is not %or)ingH
/nd if
0imple I, script functions used for comparisons and calculation:
1. C$NT: :sed for converting a vaue in to integer vaue
2.CST6: $t is used for converting a vaue in to string
!.C,32: $t is used for converting a vaue in to 3ooean vaue
#.C3((2:$t is used for converting any vaue in to 3ooean vaue
;.2T6$0: $t is used for tri""ing the eft side spaces
crp.testing@gmail.com 74
PI&
P"4/$
P94T$
Q(4"TITJ
4/#("T
C*2
<.6T6$0: $t is used for tri""ing the right side spaces
E.T6$0: $t is used for tri""ing the both side spaces
@.2/7T: $t is used for getting the eft side sub string
S4NT*Q::varReft.string or variabeA no of chars1
F.6$8=T: $t is used for getting for right side sub string
S4NT*Q::varR 6ight.string or variabeA no of chars1
1?.0$,: $t is used for getting the "idde sub string
S4NT*Q: varR"id .string or variabeA starting char noA no of chars1
11.:C*S/: $t is used for converting a string in to upper case
12.2C*S/: $t is used for converting a sting in to o%er case
1!.6ound: $t is used for rounding any deci"a vaue to nearest highest integer
$ightcase study:
,eveop the script for seecting product idA +uantityA cic)ing on ca buttonA $f it is e&isting and enabed
and chec)ing %eather it is %or)ing fine or not
-roduct
5b%indo%.GprocuctH1.vbco"bobo&.GproductidH1.seect G??EH
CR1?
5b%ind%o.GproductH1.vbeditFHprateH1.getroproperty.Te&tH1
6R vb%ind%o.GproductH.vbedit.GprateH.getroproperty.Gte&tH1
/vR6*C
5ar1R vb%indo%.GproductH1.vbbutton.GcaH1.e&ists
$f cstr.var11Rcstr.true1 then
5ar2Rvb%indo%.GproductH1.vbbutton.GcaH1.getropropertyHe&istsH
$f cstr.var21Rcstr.true1 then
5b%indo%.GproductH1.vbbutton.GcaH1.cic)
*vRvb%indo%.GproductH1.vbedit.Ga"ountH1.getroproperty.Gte&tH1
$f cint.*v1Rcint./v1 then
6eporter.report event "icpassAH"yreportHAHresut is passH
/se
6eporter.reportevent "ic faiAH"y reportHAHresut is faiH
/nd if
/se
6eporter.reportevent "ic %arningAH"y reportHAHca button does not e&istsH
/nd if
/se
6eporter.reportevent "ic %arningAH"y reportHAHca button is disabedH
/nd if
crp.testing@gmail.com 75
PI&
P"4/$
P94T$
Q(4"TITJ
4/#("T
C*2
8et to property:
Gettoproperty is used for getting the te1t ob!ects properties value
S4NT*Q: varR object hierarchy.gettoproperty .Gproperty na"eH1
/&a"pe: varR vb%indo%FHfor"1H1.vbbutton.GaddH1.gettopropery.Gte&tH1
Note: Te&t objects property "eans the properties present in the object repositoryOproperties present in
the secret pace
Set to property:
Settoproperty $s used for setting the te&t objects properties vaue te"porariy during the e&ecution
S4NT*Q: (bject hierarchy.settoproperty Gproperty na"eHAHproperty vaueH
Tenth case study:
,eveop a script for cic)ing ona button for three ti"es %hose te&t property vaue %i be dyna"icay
changing fro" start to stop and stop to start
(6
7or" 1
5b%indo%.Jfor"1H1.vbbutton.GspbH1.cic)
5b%indo%.Gfor"1H1.vbbutton.GspbH1.settoproperty Gte&tHAHstopH
5b%indo%.Gfor"1H1.vbbutton.GspbH1.cic)
5b%indo%.Gfor"1H1.vbbutton.GspbH1.settoproperty Gte&tHAHstartH
5b%indo%.Gfor"1H1.vbbutton.GspbH1.cic)
,*T* T*32/ 0/T=(,S
&ata table methods:
,ata tabe "ethods are used for perfor"ing the operations on the runti"e data tabe
1. *dd> sheet: $t is used for adding the ne% sheet for the runti"e data tabe
S4NT*Q: ,ata tabe.add sheetHsheet na"eH
2.,eete> sheet: $t is used for deeting a specified sheet fro" the run ti"e data tabe
S4NT*Q: ,ata tabe.deete sheetHsheet na"eH
!.$"port: $t is used for i"porting the data present in a the sheets in an e&ce fie to the runti"e data tabe
S4NT*Q: ,ata tabe.i"port Hpath of the e&ce fieH
#. $"port Sheet: $t is used for i"porting specified sheet of data fro" the e&ce fie to the specified sheet in
the runti"e data tabe
S4NT*Q: ,ata tabe. $"port sheet Gpath of the e&ce fieA source sheet idA destination sheet idH
;./&port: $t is used for e&porting the co"pete data present in the run ti"e data tabe to a specified
ocation
S4NT*Q: ,ata tabe. e&port G-ath of the ocation %ith a fie na"e.&s e&tension
<./&port Sheet: $t is used for e&porting the data present in a specified sheet in the run ti"e data tabe to a
specified ocation
crp.testing@gmail.com 76
0T49T
S-3
"C:,utton
Te1t:start
S4NT*Q: ,ata tabe .e&port sheet Gpath of the ocation %ith a fie na"e.&s e&tensionHA sheet id to be
e&ported.
E.Set currant ro%: $t is used for "a)ing the CT- focus on a specified ro%
S4NT*Q: ,ata tabe. Set currant ro% .ro% nu"ber1
@.Set ne&t ro%: $t is used for "a)ing the CT- focused on the ne&t of the currenty focused ro%
S4NT*Q: ,ata tabe. Set ne&t ro%
F.Set -rev 6o%: $t is used for "a)ing the CT- focus on the previous ro% of the currenty focused to%
S4NT*Q: ,ata tabe. Set prev ro%
1?. 5aue 0ethod: $t is used for getting a vaue fro" a specified sheetA specified cou"n and currenty
focused ro%.
S4NT*Q: 5ariabeR ,ata Tabe. 5aue . Gcou"n na"eHA sheet id1
11. 8et Sheet: $t is used for "a)ing the CT- to focus on a specified sheet
S4NT*Q: ,ata tabe. 8et sheet .sheet id1
128et 6o% Count: $t is used for getting the ro% count of a goba sheet
$f at a one %ants to get the ro% count of a specified sheet first of a they need to "a)e the CT- to focus
on a specified sheet and then get the ro% count
S4NT*Q 1: 5ariabeR ,ata Tabe. 8et ro% count
S4NT*Q 2: 5ariabeR ,ata Tabe. 8et sheet .Gsheet idH1. 8et ro% count
/&a"pe:
,ata tabe. *ddsheet G SriH
,ata tabe.i"port sheet Ge:SSriStd122.&sA1A!
NR,ata tabe.get sheet. !1.getro%count
7or iR 1 to n
,ata tabe. Set currant ro%. i 1
5b%indo%.Gfor"1H1.vbedit.Gva1H1.set data tabe.Gv1HA!1
5b%indo%.Gfor"11.vbedit.Jva2I1.set data tabe.Gv2HA!1
5b%indo%.Hfor"1H1.vbbutton.GaddH1.cic)
/&p vaR data tabe.vaue.GevHA!1
*ct vaR vb%indo%.Gfor"1H1.vbedit.GresH1.getroproperty.Gte&tH1
$f .e&p vaR act va1 then
,ata tabe .GresHA!1R GpassH
/se
,ata tabe .GresHA!1R GfaiH
/nd if
Ne&t
,ata tabe.e&port sheet G,TSfLauto"ationSogSfie2.&sHA!
,ata tabe.deete JSriH
$nput'(ut put -ara"eters:
#ne ca pass number of values in to the function *hile calling and a function can
return only one value.
/&a"pe:
7unction add.aAb1 0ain progra"
6esR aOb *dd.1?A2?1
*ddR res 0sg bo& var
/nd function
crp.testing@gmail.com 77
$nput'(ut put para"eters concept is used for passing so"e vaues in to the action to return so"e vaues
once the e&ecution is finish
To do the sa"e one has to decare the desired nu"ber of input para"eters and out put para"eters at the
actionA %hich is about to be caed
Navigation:
*ctivate the "enu ite" test
Seect the option action properties
Seect the para"eters tab
,ecare the desired nu"ber of input'output para"eters
:sing the corresponding add buttons
Cic) on (M
$1maple
vb%indo%.K7or"1K1.5b/dit .Kva1K1.set para"eter .KaK1
vb%indo%.K7or"1K1.5b/dit.Kva2K1.Set para"eter .KbK1
vb%indo%.K7or"1K1.5b3utton.K*,,K1.Cic)
varR vb%indo%.K7or"1K1.5b/dit.KresK1.8et6(-roperty Kte&tK
para"eter .KcK1R var
vb%indo%.K7or"1K1.5bbutton.KS:3K1.Cic)
var1Rvb%indo%.K7or"1K1.5b/dit.KresK1.8et6(-roperty Kte&t*K
para"eter .KdK1Rvar1
vb%indo%.K7or"1K1.5b3utton.KC2/*6K1.Cic)
*t the caing point one need to specify the input vaues in a se+uence separated by
co""as and the variabe na"es in a se+uence in order to catch the return vaue
$1ample: Ta.e the ne* test
6un action Kaction1Uinout122VKA one iterationA2?A!?Ar1Ar2
"sg bo& r1
"sg bo& r2
*uto"ation (bject 0ode
4utomation ob!ect model: (4#/)
4utomation ob!ect model is a concept provided to automate the operations on QTP
through scripting
&im qtapp
&im qttest
0et qtappL createob!ect (Nquic.test.applicationO)
Qtapp.launch
Qtapp.visibleL true
Qtapp.openOd:Uaom2O) true
0et qttestLqtapp.test
Qttest.run
Qttest.close
Qtapp.open Nd:Uaom233O) true
crp.testing@gmail.com 78
0et qttestL qtapp.test
Qttest.run
4ttest.close
Qtapp.quit
,ata 3ase Connection
0.S *ccess Connection:
,i" conA rs
Set con R createobject.Kadodb.connectionK1
Set rsR createobject.KadodbArecordsetK1
con.providerR K"icrosoft.jet.oedb.#.?H1
con.open Kd:Stest data."bdK
rs.open Kseect * fro" infoKA con
,o %hie not rs.eof
vb%indo%.K7or"1K1.5b/dit.Kva1K1.Set rs.fieds.Kv1K1
vb%indo%.K7or"1K1.5b/dit.Kva2K.set rs.fieds.Kv2K1
vb%indo%.K7or"1K1.5b3utton.KaddK1.Cic)
rs."ovene&t
2oop

(race connection:
Con .open Nprovider Loraoledb.2%serverLlocal
host%uidLscott%p*dLtiger%databaseLtestdata%O
SC2Server connection:
Con.open providerL sqloledb.2% serverLlocal host% uidLsa% p*dL% databaseL test data%O
CT- F.?AF.1AF.2
QTP @.A:
Test "enu ite" is rena"ed as *uto"ation
Settings option is "oved fro" test "enu ite" to fie "enu ite"
crp.testing@gmail.com 79
Cuaity center connection option is "oved fro" toos "enu ite" to fie "enu ite"
Step "enu ite" is re"oved and a the options present under it are )ept in the edit
"enu ite"
* ne% "enu ite" %indo% is introduced used for "anaging the %indo%
* ne% option by na"e function definition generator is introduced %hich is used for
creating the functions easiy
Ne% options are provided for co""enting and un co""enting the boc) of
state"ents
* ne% option by na"e chec) synta& is introduced under toos "enu ite" used for
chec)ing the synta& of script
So"e of the options reated to the resources i)e object repositoryA recovery
scenario "anager are "oved fro" toos "enu ite" to a ne% "enu ite" resources
* ne% "enu ite" resourced is introduced %ith so"e ne% options i)e object
repository "anager and associate repositories
(bject repository "anager is used for creating and "anaging the shared
repositories %ith out having any connection to the test
*nato"y of CT- F.?:
QTP @.A screen can be divided in to > parts
1. Test pane
2. *ctive screen
!. ,ata tabe
#. ,ebug vie%er pane
;. Too (ptions
<. $nfor"ation screen
E. 0issing resources screen
<.$nfor"ation screen:
$nfor"ation pane is used for vie%ing the synta& reated infor"ation during the synta&
Chec)
0ain change: (ne can associate one or "ore shared repositories to an action a part fro" its oca
repository
E.0issing resources:
When the test is being open if at a any associate resources i)e repositoriesA ibrary fiesA recovery fies
are "issing then the co"pete infor"ation reated to that %i be sho%n in the "issing resource pane
CT- F.1:
* ne% feature by na"e navigate and earn is introduced present in "utipe pages
or %indo%s continuousy by navigating
* ne% feature by na"e object repository co"parison too is introduced %hich is
used for co"paring t%o shared repositories
CT- F.1 is co"patibe %ith %indo%s vista operating syste" and .net fra"e 2.?
environ"ent
The script editor is "ade user friendy
The co"pany has announced that they %i provide icense for a the add ins aso
CT- F.2:
* ne% feature by na"e screen recorder is provided %hich is used for recording the
"ovie of the e&ecution and that can be payed bac) during the resut anaysis for
better understanding
(ne can hande the object repositories dyna"icay through scripting %ith the hep
of an utiity object repositories coection
crp.testing@gmail.com 80
/&a"pe:
6epathR Gd:Sr1.tsr
6epositories coection.re"ove a. 1
6epositories coection.add.repath1
vb%indo%.K7or"1K1.5b/dit .Kva1K1.set G1?H
vb%indo%.K7or"1K1.5b/dit.Kva2K1.Set G2?H
vb%indo%.K7or"1K1.5b3utton.K*,,K1.Cic)
-osR repositories coection.find.repath1
6epositories coection.re"ove.pos1
(bject spy functionaity is enhanced in such a %eather one can vie% "utipe
objects infor"ation continuousy by )eeping the "ouse pointer over the object
CT- F.2 is co"patibe %ith the foo%ing bro%ser
$nternet e&porer E.?
0oBia fire fo&2.?
Net space navigation @.1.?
dyna"ic handing repositories
6epositories
coection6e"ove*
repositoriescoection.addKC:S,ocu"ents and SettingsSsrssS,es)topSasa.tsrK
5bWindo%.KC*2C:2*T(6K1.5b/dit.K5*2:/1K1.Set K1?K
5bWindo%.KC*2C:2*T(6K1.5b/dit.K5*2:/2K1.Set K2?K
5bWindo%.KC*2C:2*T(6K1.5b3utton.K*,,K1.Cic)
database connections
,i" conA rs
Set con R createobject.Kadodb.connectionK1
Set rsR createobject.Kadodb.recordsetK1
con.providerR .K"icrosoft.jet.oedb.#.?K1
con.open Kd:Sdbc."dbK
rs.open Kseect * fro" dbc1KA con
,o %hie not rs.eof

5bWindo%.K7or"1K1.5b/dit.K5*2:/1K1.Set rs.fieds.Kv1K1
5bWindo%.K7or"1K1.5b/dit.K5*2:/2K1.Set rs.fieds.Kv2K1
5bWindo%.K7or"1K1.5b3utton.K*,,K1.Cic)
rs."ovene&t
oop
input output para"eters
vb%indo%.K7or"1K1.5b/dit .Kva1K1.set para"eter .KaK1
vb%indo%.K7or"1K1.5b/dit.Kva2K1.Set para"eter .KbK1
vb%indo%.K7or"1K1.5b3utton.K*,,K1.Cic)
var R vb%indo%.K7or"1K1.5b/dit.KresK1.8et6(-roperty.Kte&tK1
para"eter .KcK1R var
crp.testing@gmail.com 81
vb%indo%.K7or"1K1.5bbutton.KS:3K1.Cic)
var1Rvb%indo%.K7or"1K1.5b/dit.KresK1.8et6(-roperty.Kte&tK1
para"eter .KdK1Rvar1
vb%indo%.K7or"1K1.5b3utton.KC2/*6K1.Cic)
descriptive
,iaog.K2oginK1.*ctivate
,iaog.Kte&t:RoginKAK%idth:R!2?K1.%inedit.Kattached te&t:R *gent Na"e:K1.setKa)hiK
,iaog.Kte&t:RoginK1.%inedit.Kattachedte&t:Rpass%ord:K1.setsecureK"ercuryK
,iaog .Kte&t:RoginK1.%inbutton.Kte&t:Ro)K1.cic)
C:*2$T4 C/NT/6
$ntroduction:
Type of the tool< =anageent tool
Copany< Intro%!ce% by erc!ry 5 taken over by >*
6cripting lang!age< there is no script lang!age
.ersion< /21
Definition< ?!ality center is a anageent tool #hich is !se% for anaging the #hole
testing process 5also provi%e the follo#ing facilities2
Coon repository facility
A!toation tractability facility
B!g tracking tool facility
A!toatic reports 5 graphs generation facilities
?!ality center Architect!re<
6ite a%inistrator B!siness coponents
@e7!ireents
?!ality center Test plan
Test lab
Defects
Dash boar%
6ite a%inistrator< site a%inistrator is !se% for the follo#ing creating' o%ifying'
%eleting the %oains
i2 creating' o%ifying' %eleting the projects
ii2 creating' o%ifying' %eleting the roles
iii2 assigning roles to the project 5 all the other a%inistrative activities2
?!ality Center< it has ) o%!les
12 B!siness o%!le< this o%!le is !se% by the s!bject atter eAperts 86=+; to
%esign the coponents for all the en% to en% scenario of an application #hich
belongs to a critical %oain2 Once the b!siness coponents %esigne% base% on
than the test engineers #ill %evelop the test 5 perfor testing on the application2
This type of testing is kno#n as B!siness process testing2
crp.testing@gmail.com 82
"2 @e7!ireents< this o%!le is !se% for the follo#ing
It is !se% for a%%ing the ain re7!ireents
It is !se% for a%%ing the chil% re7!ireents
It is !se% for vie#ing the %irect cover stat!s
It is !se% for !se% for vie#ing the revie# stat!s etcB
$2 Test plan< this o%!le is !se% for the follo#ing
Creating the fol%er str!ct!re
Creating the epty tests
It provi%es the provision to la!nch the correspon%ing a!toate% tool for
%eveloping the tests
It provi%es the provision to #rite the test cases
It provi%es the provision to establish a link bet#een tests 5 re7!ireents
&2 Test Lab< It is !se% for the follo#ing
It is !se% for creating the fol%er str!ct!re
It provi%es the provision to b!il% the test sets
It provi%es the provision to eAec!tes test sets 5 in%ivi%!al test
Once the eAec!tion is %one' analy4ing the res!lts than there is chance
%o i%entifying
The %efects' if at all any %efects are fo!n% then one #ill !se the neAt o%!le2
(2 Defect =o%!le< this o%!le is very !ch siilar to a b!g tracking tool #hich
provi%es all the facilities for b!g tracking 5 reporting2
)2 Dash Boar%< %ash boar% is a special o%!le provi%e% by ?!ality Center #hich is
!se% by the anager ca%re people for generating coon reports access
!ltiple projects2
3avigation<
Open ?!ality center
6ite a%inistrator
A%%Cins page
crp.testing@gmail.com 83
3avigation of 6ite a%inistrator<
User nae
*ass#or%
login
3avigation for site !sers<
Usernae
D!ll nae
+ail a%%ress
*hone n!ber
Designation
Ok
3avigation for Create no of !sers<
*ass#or%
Change pass#or%
3avigation for 6ite project<
Create %oain
3ae
Create project
Click on neAt b!tton
*roject nae
Doain
Click on neAt
3avigation for Assigning<
Click arro# b!tton
Create
Logo!t
crp.testing@gmail.com 84
3avigation for ?C re7!ireents<
3ae
*ass#or%
A!thenticate
Doain
*roject
Login
A%% ne# re7!ireent
3ae
Login
Invoke login
Ok
3avigation for test plan<
3e# fol%er
3e# teAt
Login
invoke
T/60$N(2(84
1. Defect pro%!cts< if at all the pro%!ct is not j!stifying soe of the re7!ireents b!t
it is still !sable' Then s!ch type of pro%!ct kno#n as %efect pro%!cts2
2. Defective pro%!cts< if at all the pro%!ct is not j!stifying soe of the re7!ireents as
#ell as it is not !sable then s!ch type of pro%!ct kno#n as %efective pro%!cts2
!. ?!ality Ass!rance< ?A is a %epartent #hich checks each 5 every role in the
organi4ation in or%er to confor #hether they are %oing their #ork accor%ing to
copany process g!i%e lines or not2
#. ?!ality Control< ?C is a %epartent #hich checks the %evelope% pro%!cts or its
relate% parts in or%er to confor #hether they are #orking accor%ing to the
eApectations or not2
;. 3C@83on Conforance @ate;< 3on conforance raise% is a #henever the role is
not follo#ing the process then the penalty given for hi is kno#n as 3C@2
<. Inspection< It is a process of s!%%en checking con%!cte% on the roles or %epartents
#itho!t any prior intiation2
E. A!%it< it is a process of checking con%!cte% on the roles an% %epartent #ith prior
intiation #ell in a%vance2
crp.testing@gmail.com 85
i. Internal a!%it< if at all a!%it is con%!cte% by the internal reso!rce of the
organi4ation then it is kno#n as internal a!%it2
ii. +Aternal a!%it< if at all a!%it is con%!cte% by the eAternal people then it
is kno#n as eAternal a!%it2
@. CA*A8Corrective Actions *reventive Action;<
CA< if at all the role has coe to a reparable sit!ation then CA #ill be taking care in
or%er to connect the istake2
*A< #henever roles coe its irreparable istake then the previe# the action
sho!l% taking care in or%er to prevent s!ch type of istakes in f!t!re2
/2 6C= 86E# Config!ration =anageent;< Config!ration anageent is a process
in #hich one #ill ainly prefer t#o tasks
i2 Change Control< it is a process of !p%ating all the relate% %oc!ents
#henever soe changes are a%e to the application in or%er to keep the
%oc!ents an% the application in sink #ith each other2
ii2 .ersion Control< it is a process of aintaining the naing conventions 5
version n!bers2
+A< >=6 C A%l F TC 111 121
112 Coon @epository<C@ is a basically a server #hich can access by only a!thori4e%
*eople #here in they can store the inforation 5 re7!ire the inforation2
Check in is a process of !ploa%ing in the inforation into coon repository2
Check o!t is a process of %o#nloa%ing the inforation fro the coon
repository2
+A< .668.is!al 6o!rce 6afe;
C.68Conc!rrent version syste;
112 Baseline< it is a process of finali4ing the %oc!ent2
1"2 *!blishing< It is a process of aking the finali4e% %oc!ents available to the relevant
reso!rce by !ploa%ing the into C@ #ith special icon representation2
1$2 @elease< It is a process of sen%ing the application fro the %evelopent %epartent
to the testing %epartent or fro the copany to the arket2
1&2 Delivery< it is a process of han%over the application fro the copany to the client or
fro the arket to the client2
1(2 6@3 86E# @elease% 3ote;< it is not prepare% by the technical %epartent 5 sent to
the testing %epartent contains of the follo#ing inforation
12 B!il% path inforation
"2 Test Date *I
$2 Deployent %oc!ent *I
&2 Gno#n iss!es *I
(2 @elease% anager nae
)2 @elease% %ate
,2 B!il% 3!ber
-2 .esrion n!ber
/2 *roject nae
112 =o%!le nae etc22'
1)2 6D386E# %elivery 3ote;< it is a %oc!ent #hich contains the follo#ing inforation
i2 !ser an!al
ii2 Gno#n iss!es
it is a prepare% by the tea of ebers !n%er the project anager
g!i%ance 5 #ill given to the c!stoer %!ring the %elivery2
1,2 @evie#< it is %efine% as in the process of st!%ying or process of cheating %epen%ing
!pon the role involve% in it2
1-2 @evie# report< it is an o!tcoe %oc!ent of revie# #hich ay contain either list of
%o!bles or list of coents %epen%ing !pon the involve% in it2
1/2 *eer H revie#< it is a process of checking con%!cte% by the colleag!es at the sae
level2
crp.testing@gmail.com 86
"12 *eerC revie# report< it an o!tcoe %oc!ent of peer revie# #hich contains the list
of all the coents given %!ring the peerCrevie#2
"12 6lip age< the eAtra tie to accoplish a task is kno#n as slippage2
""2 +scalation< it is a process of intiating the iss!e relate% inforation to the neAt level
of a!thorities !s!ally if #ill be %one level by level2
"$2 =etrics< it is %efine% as clear eas!reent of task2
"&2 Traceability =atriA< it is a %oc!ent #hich contains a table of linking inforation
!se% for tracing back for the reference in any kin% of conf!sion or ?!estionable sit!ation2
"(2 *rototype< it is a ro!ghly 5 rapi%ly %evelope% o%el #hich is !se% for %eonist
rating to the client in or%er gather the clear re7!ireents 5 also to #in the confi%ence of
a c!stoers2
")2 Benchark< it is a %efine% as the stan%ar% it #hich !s!ally #e copare%2
",2 Change @e7!est< it is a process of re7!esting the changes by the c!stoers to the
copany to %o the sae !s!ally the c!stoer !se change re7!est %oc!ent2
+A< change re7!est teplate
"-2 Ipact Analysis< it is processes of analysis ho# !ch ipact #ill fall on the alrea%y
%evelope% part if at all accept those ne# changes at that point of tie2
"/2 Test s!ite< it is a cobination of %ifferent types of test cases2
+A< i2 regress test case ii2 @etest test case
$12 Test Be%< it is a cobination of test s!ite 5 test environent
$12 Defect age< the tie gap bet#een the opening %ate 5 the closing %ate is kno#n as
%efect age2
$"2 Latent Defect< the %efect fo!n% %ate after soe releases is kno#n as a latent %efect2
$$2 0alkthro!gh< it is %efine% as inforal eeting con%!cte% #ith the roles either
transfer the kno#le%ge or to check soething2
$&2 Co%e #alkthro!gh< it is a process of checking con%!cte% on the so!rce co%e
%oc!ent in or%er to confor #hether it is %evelope% accor%ing to the co%ing stan%ar%s
or not2
$(2 Co%e Optii4ation or fine t!ning< it is a process of rea%ing the no2of lines of co%e or
the copleAity in the co%e in or%er to increase the perforance of the application2
$)2 **=8perio%ic project eeting;< it is a eeting con%!cte% perio%ically in or%er to
%isc!ss the stat!s of the project !s!ally they %isc!ss the follo#ing points2
12 I covere% in the project %!ring perio%
"2 I not covere% in the project %!ring the perio%
$2 tasks coplete% %!ring the perio%
&2 total %efects etrics
(2 6lippages
)2 @easons for the slippages
,2 Technical iss!es
-2 >@ relate% iss!es
$,2 **@ 8*erio%ic project report;< it is a report prepare% by the tea lea% before the
**= is con%!cte% by %isc!ssing #ith all of his tea ebers relate% to all of the above
sai% points2
$-2 =O= 8=in!tes of eeting;< =O= is a the o!tcoe %oc!ent of any eeting #hich
contains the list of all the iportant points %isc!sse% %!ring that eeting2
$/2 =@= 8=anageent representation eeting;< it is eeting con%!cte% in or%er to
%isc!ss the stat!s of the copany2 Us!ally they %isc!s the follo#ing points
12 s!ccess rate 5 gro#th rate of the copany
"2 projects that are recently signe% off
$2 projects that are in a pipeline
&2 c!stoers appraisals
crp.testing@gmail.com 87
(2 c!stoers negative coents
)2 D!t!re plans
,2 internal a!%it reports
-2 In%ivi%!al appraisals
&12 *atch< #henever the test engineer s!spen%s the b!il% then the %evelopers #ill rectify
the probles 5 release the sae b!il% as patch2
2(*, 6:NN/6
*erforance for the Loa% r!nner< there are " categories of testing #here !s!ally the
block boA test engineers #ill involve2
12 D!nctionally testing "2 3on f!nctionally testing
12 D!nctionally testing< in this category one #ill perfor testing on the f!nctionality of
the application
"2 3on f!nctionality testing< In this category of testing one #ill perfor testing on the
non H f!nctional areas follo#e%2
I2 Coparability testing
II2 Installation testing
III2 Usability testing
I.2 .ol!e testing
.2 *erforance testing
*erforance testing< it can be %ivi%e% in to $ types
I2 Loa% testing
II2 Deat!re perforance testing
III2 6tress testing
Loa% testing< it is a type of testing in #hich one #ill apply soe initial loa%' gra%!ally
increases the loa% in or%er to fin% the critical loa%2 Once the critical loa% is fo!n% then
they #ill coparative #ith the target loa%2 If at all the critical loa% gather than are e7!al
to target loa% then it is concl!%e% by the loa% test is pass other #ise fail2
Critical Loa%< the loa% beyon% #hich application start %egra%e #ith perforance is
kno#n as critical loa%2
Target Loa%< the c!stoer eApecte% loa% is kno#n as target loa%2
crp.testing@gmail.com 88
Deat!re perforance test< it is a type of testing in #hich one #ill apply pre%efine%
7!antifie% re7!est an% calc!late the respon%s tie2 If at all the response tie less than
or e7!al eApecte% tie than the feat!re perforance testing is pass other#ise fail2
6tress testing< it is a type of testing in #hich one #ill perfor soe abnoral action or
!se the application contin!es for long perio% of tie in or%er to check the stability of the
application2
Dra# backs of an!al loa% testing<
=ore n!ber of h!an reso!rces re7!ire%
6i!ltaneo!s action are iportant
Co operation an% co or%ination are issing
CanJt repeat the sae task again an% again in sae task2
*roper onitoring syste is b!sy2
Intro%!ction of Loa% @!nner<
Type of the tool perforance tool
Copany Intro%!ce by erc!ry interactive corporation 5 taken over by >*
. !ser scripting lang!age version -21
Deat!res provi%e% by the loa% r!nner it over coes the %ra#backs of an!al loa%
testing<
. !sers concept over coes the h!an reso!rces proble
@en%e4vo!s point over coes the siony tentative proble2
Loa% r!nner controller over coes the coC operation an% coC or%inate
proble2
@ecor%ing 5 playback facility over coes the repetitiveness proble
Loa% r!nner agent overcoe the onitoring syste proble
Loa% @!nner Architect!re<

>ost
. H User generator< it is !se% for generating the basic script enhancing the script
checking #hether the scripts properly or not an% saving the script in ters of a task2
L2@ controller< it is vital copo!n% of a l2r #hich is !se% for the follo#ing2
Controlling the #hole loa% of a loa% testing process
Designing the scenario
+Aec!ting the scenario
6cenario< it is %efine% as a sit!ational package #hich %escribes ho# any no2of .C!sers
nee% to be generate to #hich achine perfor #hat task an% for ho# long %!ration2
8or;
6cenario is %efine% a si!late% real tie sit!ation2
L2G 1
crp.testing@gmail.com 89
<C@ser generator
L6 C controller
%nal.sis
< C @sers
Loa/ r@nner agent
L 6C %gent process

"( .C!ser
=ain achine
T1
L2G$
L2G "
11 . C!sers 1(
.C!ser
T1
T1
Loa% @!nner agent process< it #ill receive a re7!est fro the L@ controller an% la!nch
the L@ agent2
L@ agent< he is also #i%ely it #hich #ill %o the follo#ing
It #ill generate no2of re7!ireents
It #ill ake the re !se the perfor the re7!ire% task
It #ill onitor each an% re !ser %!ring the eAec!tion
It #ill sen% the observe% inforation back to the L@ control seantically
Dinally one the #ork is %one it #ill kill the reC!sers2
Analysis< the analysis coponent #ill receive the cons!l %ate% ra# res!lt fro the L2@
controller an% converts the in to easy !n%erstan%able report 5 graph so that one can
easily analy4e the res!lts2
Loa% @!nner Life Cycle<
12 Loa% test planning
"2 Creating the tasks
$2 Designing the scenario
&2 +Aec!ting the scenario
(2 Analy4ing the res!lt
1. Loa% test planning< in this phase the loa% test lea% #ill %o the follo#ing2
>e #ill i%entify the coponents of loa% testing lab
>e #ill estiate ho# !ch ini! loa% can be generate% by each
achine
>e #ill analysis the coponents
>e #ill analy4e the peek tiing 5half peek tiing of the application
>e #ill analy4e the cliate con%itions
>e #ill plan the no2of scenarios nee% to be %esigne% 5 eAec!te%
crp.testing@gmail.com 90
>e #ill plan the initial loa% to be applie%
>e #ill plan the loa%s to be gra%!ally increase%
>e #ill %o the reso!rce planning
>e #ill %o the sche%!ling
>e #ill prepare loa% test plan %oc!ent #ith all the above analy4e%
inforation2
2. Creating the Task< in this phase one #ill generate the basic script' enhance the
script5 save it in ters of a task !sing virt!al !ser generator2
Once a ne# test is opene% in virt!al !ser generator #e can fin% $ blocks in it
12 .C !ser init
"2 Action
$2 .C!ser H en%
.C!ser in it< #henever any task to be perfore% only once in the starting of eAec!tion
then the relate% script nee% to be generate% in the vC!ser init block2
Action< #henever sae task nee% to be perfore% repeate%ly again 5again for sae
long %!ration then the correspon%ing script can be generate% in the action block2
.C!ser +n%< #henever a task nee% to be perfore% only once at the en% of the
eAec!tion then the relate% script nee% to be generate% in the .C!ser en% block2
Operational over vie# of r!nning< %!ring the eAec!tion Loa% @!nner #ill not %o any
actions on the front en% applications2 It #ill sen% the e7!al ant re7!est %irectly to the
server2
3avigation for sho#ing the bro#ser %!ring replay<
Activate the en! ite tool
6elect the option general option
6elect the %isplay tab
6elect the check boA sho# bro#ser %!ring replay
Click on ok
+nhanceents<
Transaction points< transaction points are provi%e% for eas!ring re7!est or gro!p of
re7!est2
3avigation<
Geep the c!rsor in %esire% location
Activate the en! ite insert
6elect the option start transaction
6pecify the transaction nae
Click on ok
crp.testing@gmail.com 91
@en%e4vo!s point< ren%e4vo!s point is !se% for aking all the .C!sers to perfor an
action si!ltaneo!sly2
3avigation<
Geep the c!rsor in the %esire% location
Activate the option @en%e4vo!s
6pecify the ren%e4vo!s point nae
Click on ok
Coents< coents are !se% for increasing the rea%ability of script
+A< EK Khai Khello Kbye KE
Break point< break point is a feat!re provi%e% by Loa% @!nner #hich is !se% for
breaking the eAec!tion tea par ally2
3avigation<
Geep the c!rsor on the %esire% stateent
Activate the en! ite insert
6elect the option toggle break point
Check points< there are t#o check points inn Loa% @!nner
12 TeAt check
"2 Iage check
12 TeAt check< it is !se% for checking #hether the eApecte% teAt is respon%ing by the
server #henever it is !n%er loa%2
3avigation<
Beep the c!rsor in the %esire% location
Activate the en! ite insert
6elect the option ne# step
+Apan% the #eb checks
6elect the option teAt check
Click on ok
6pecify the eApecte% teAt
If re7!ire% specify the right of 5 neAt of teAt
Click on ok
"2 Iage check point< it is !se% for checking #hether th e eApecte% iage is
respon%e% by the server #henever it is !n%er loa%
3avigation<
Geep the c!rsor in the %esire% location
crp.testing@gmail.com 92
Activate the en! ite insert
6elect the option ne# step
+Apan% #eb checks
6elect the option Iage check
Click on ok
6pecify the after native iage nae
6pecify the iage server file nae
Click on ok
*araeteri4ation< it is a process of replacing the constant val!es in the script #ith
variables
or paraeters in or%er to increase the scope of the test2
3avigation<
1
st
style<
6elect the %esire% constant val!e in the script
@ight click on it
6elect the option replace #ith a paraeter
6pecify the paraeter nae
Click on ok
6elect the paraeter 5 right click on it
6elect the option paraeter properties
6pecify the %esire% val!e #ith the help of e%it #ith note pa%
6pecify the col!n setting
6pecify ho# to select the neAt ro#
6pecify #hen to !p%ate val!e
Click on close
3avigation< "
Activate the en! ite .C!ser
6elect the option 9paraeter list:
Click on ne#
6pecify the paraeter nae
Click on create a table
crp.testing@gmail.com 93
6pecify the val!es #ith the help of e%it #ith note pa%
6pecify the col!n settings
6pecify the no# to select neAt ro#
6pecify #hen to !p%ate val!e
Close the paraeter list #in%o#
6elect the constant val!e in script
@ight click on it
Go to !se eAisting paraeters
6elect the %esire% paraeter nae2
CoC@elation< correlation is a process of capt!ring the %ynaic %ata generate% by the
server 5 !sing that %ata2 In the script #hen ever re7!ire% in or%er to a%e the script
eAec!tion s!ccessf!l on the highly sec!re% applications also correlation can be %one in
$ stages2
12 A!toatic correlation %!ring recor%ing
"2 A!toatic correlation after eAec!ting the script at least once
$2 =an!al correlation
1. 3avigation for a!toatic correlation %!ring recor%ing<
Activate the en! ite tools
6elect the option recor%ing option
6elect correlation option
6elect the check boA enable correlation %!ring recor%ing
Click on ok
2. 3avigation for correlation after eAec!ting the script at least once<
Activate the en! ite .C!ser
6elect the option scan action for correlations
Go to correlation res!lts #in%o#
Click on correlation all b!tton
!. 6teps for =an!al correlation<
@ecor% t#o i%entical steps
crp.testing@gmail.com 94
Copare those scripts #ith 9# %iff: tool 8tool L copare #ith .C!ser;
@eplace the re7!ire% constant #ith variable 5 #rite the follo#ing steps on
top of that #ebCre7CsaveC para89M variable naeN:' LB O BBB22:' 9@O O 2:'
LA6T;P
Think tie< think tie is j!st like #ait stateent in ?T* #hich akes the .C!sers #ait
bet#een re7!est 5 re7!est In or%er to si!late the real !sage of server by real !sers2
6yn< lrCthinkCTie81,;P
3avigation for replaying the think tie<
2activate the en! ite .C!ser
6elect the option r!ntie settings
6elect the option think tie
6elect the option replay think tie 5 also s!b options
Click on ok
Design the scenario< are can %esign the scenario !sing the %esign tab in the controller
3avigation<
Click on a%% gro!p
6pecify the gro!p nae
6pecify the .C!ser 7!antity
6pecify the loa% generator nae
6pecify the task
Click on ok
Click on e%it sche%!le
6elect the one of follo#ing options
o 6che%!le by scenario
o 6che%!le by gro!p
If at all sche%!le by scenario is selecte% %o the rap !p' %!ration' rap %o#n
settings
If at all sche%!le by gro!p is selecte% %o the start tie' rap !p' %!ration 5 rap
%o#n
6ettings in%ivi%!ally for every gro!p
6et the scenarios start tie
crp.testing@gmail.com 95
Click on ok
+Aec!ting the scenario< it can be %one !sing the r!n tab in controller
Analy4ing the res!lts< analy4ing the res!lts can be %one #ith the help of analy4e is
coponent2
Once the analysis is %one the loa% r!nner is provi%es facility to create the reports2
3avigation<
Activate the en! ite reports
6elect the option =icrosoft #or% report
Dill all the re7!ire% fiel%
Click on ok2
Once the reports is prepare a%% the re7!ire% concl!sion to it an%
sen% to the technical %epartent2
crp.testing@gmail.com 96
crp.testing@gmail.com 97

You might also like