You are on page 1of 102

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 technologies.
3. Testing remains forever
4. I want to be consistent through out my life

Why explicitly the s/w companies are recruited the test


engineers?
1. One person cannot efficiently perform two tasks at a time
2. Sentimental attachment.

Who can do the course?


Any graduate can do this course at this point of time

 What exactly we require to get a job?


1. Stuff
2. Communication skills
3. Confidence
4. Dynamism

 Project:
Project is some thing that is developed based on the particular customers requirements
and used by that customer only ( E.g.: Marriage laddu)

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 justification of all the


requirements of customer in a product.
NOTE: Quality is not defined in the product; it is defined in the customers mind

Defect: - Defect is defined as deviation from the requirements

Latest definition for quality: - quality is defined as not only the justification of
requirements but also the presence of value (User friendliness)
 Testing:

crp.testing@gmail.com 1
Testing is processes, in which the defects are identified, isolated, subjected
for rectification & ensure that the product is defect free. In order to produce the
quality product in the end and hence customer satisfaction.

 Bidding the Project:


Bidding the project is defined as request for proposal, estimation and signing
off (Official agreement).

 Kick Off Meeting:


It is an initial meeting conducted in the soft ware company soon after the
project is signed off. In order to discuss the overview of the project and to select a
project manager for the project.

Usually high level management, Project managers, team managers, quality


managers, team leads and quality leads will be involved in this meeting.

PIN (Project Initiation Note):-


It is a mail prepared by the project manager and sent to the CEO of the soft
ware company in order to get the permission to start the project developments.

 Software Development Life Cycle (SDLC):-


SDLC contains six phases they are

1. Initial phase or requirements phase.

2. Analysis phase

3. Design phase

4. Coding Phase

5. Testing Phase

6. Delivery & Maintenance Phase.

I. Initial Phase or Requirements Phase :

(a) Tasks: Interaction with the customer and gathering the requirements.

(b) Roles: Business Analyst (B.A), Engagement Manager (E.M)


Process: First of all the business analyst will take an appointment from the
customer, collects the templates from the company, meets the customer on
appointed day, gathers the requirements with the help of template and comes back
to the company with the requirements documents.

Once the requirement document has come to the company the


engagement manager will check whether the customer gives any extra requirements
or confused requirements. In case of extra requirements he deals the excess cost of

crp.testing@gmail.com 2
the project. 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 Requirements Document. This is


called with different names in different companies.

1. FRS (Functional Requirements Specification)

2. CRS (Customer Requirement Specification)

3. URS (User Requirement Specification)

4. BDD (Business Design Document)

5. BD (Business Document)

6. BRS (Business Requirement Specification)

Some companies may maintain the over all business flow information in one
document and the detailed functional requirement information in the other
document

Templates: It is a pre defined format, which contains the predefined fields, and
used for preparing a document in an easy, comfort and perfect manner.

Prototype: -Defined as a roughly & Rapidly developed model which is used for
demonstrating to the client, In order to gather the clear requirements and to win the
confidence of a customer.

II. Analysis Phase:

(a) Tasks:
1. Feasibilty Study

2. Tentative planning

3. Technology Selection

4. Requirement Analysis
(b) Roles: System Analyst, Project Manager, and Team Manager.

Process

1. Feasibility Study: - It is detailed study of the requirements in order to


check weather the requirements are possible or not.

2. Tentative Planning: In this section the resource planning and the time
planning (scheduling) is done temporarily.

crp.testing@gmail.com 3
3. Technology Selection: - The list of all the technologies that are required
to accomplish this project. Successfully will be analyzed and listed out in this
section.

4. Requirement Analysis: - The list of all the requirements that are


required to accomplish this project. Successfully will be analyzed and listed
out here in this section.

SRC- System requirement specification

Proof: - The proof of this phase is system Requirement specification.

III. Design Phase: -


Tasks:

1. High level designing

2. Low level designing

Roles: High-level designing is done by the chief Architect & Low level
designing is done by the Technical Lead

Process: The Chief architect will be drawing some diagrams using unified
modeling language in order to divide the whole project in to modules.

The Technical lead will also draw some diagrams in order to divide the
modules in to sub modules.

The technical lead will also develop the PSEUDO code in order to make
developers comfortable while de3veloping the actual code.

Proof: The proof document of this phase is Technical design document.

IV. Coding phase:

(a) Task: Developing or Programming

(b) Roles: Developers or Programmers

Process: Developers will develop the actual code by using the technical design
document as well as following the coding standards like Proper indentation, color
coding, proper commenting and etc..,

Proof: The proof document of this phase is source code Document.


E.g.: The programmer will develop some programs every one will develop his
program in different colors but the soft ware companies will ask the developers to
develop the program according to the company standards using proper color,
coding, commenting. So as to understand it easily.
crp.testing@gmail.com 4
V. Testing Phase:

(a) Task: Testing

(b) Roles: Test engineers

Process:
1. First of all the test engineers will collect the requirements
document and try to understand all the requirements

2. While understanding it at all they get any doubts they will


list out all of them in a review report.

3. They will send the review report to the author of the


requirements document for clarifications.

4. Once the clarifications are given and after understanding


all the requirements clearly, they will take the test case
template and writes the test cases.

5. Once the first build is released then they will execute the
test cases

6. If at all any defects are found. They will list out all of them
in a defect profile template then

7. They will sent the defect profile document to the


development department and then will be waiting for the
next build to be released.

8. Once the next build is released then they re-execute the test
cases.

9. If at all any defects are found they will update the profile
document and sent it to the development department and
will be waiting fro the next build to be released.

10. 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 customer’s
requirements in order to test a particular feature or a function.

crp.testing@gmail.com 5
VI. Delivery & Maintenance Phase:

Delivery:
(a) Task: - Installing the application in the client’s environment

(b) Rolls: -Deployment engineer or senior test engineers.


Process: - The senior test engineer or deployment engineer will be going to the
clients place and install the application in their environment with the help of the
guidelines provide in the deployment document.

Maintenance:
After delivering the soft ware while using if at all any problem occurs
then that problem becomes a task, based on that problem corresponding roles will
be appointed, the roles will defined the process and solve that problem.

Some clients may request for the continuous maintenance in such situations a
group of people from the software company will be continuously working on the
clients place and taking care of the soft ware.

************************^^^^^^^^^^^^^^^^^^^************************

Where exactly the testing comes in to picture?

Which sort of testing you are expecting?

How many sorts of testing are there?

 There are two sorts of testing….

1. Un-conventional testing

2. Conventional testing

1.Un-conventional Testing: -Unconventional testing is a sort of testing done by


the quality assurance people, in which they test each and every out come document
right from initial phase of the SDLC (Soft ware development life cycle)

2. Conventional Testing: It is sort of testing done by the test engineers on the


application in the testing phase of SDLC.

crp.testing@gmail.com 6
Testing Methodology or Testing techniques:
There are three methods of testing

(a) Black-Box Testing

(b) White-Box Testing

(a) Grey-Box Testing

(a) Black-Box Testing: If one performs testing only on the functional part of
an application with out having any structural knowledge then tat method of
testing is known as Black-Box testing, usually the test engineers perform it.

(b) White-Box Testing: If one performs testing on the structural part of an


application then that method of testing is known as white box testing, usually
the developers or white box testers perform it.

(c) Grey-Box Testing: If one performs testing on both the functional part as
well as the structural part of an application then that method of testing as
known as gray box testing using the test engineers who have structural
knowledge will perform gray- box testing.

Levels of Testing:
There are five levels of testing

1. Unit Level Testing

2. Module Level Testing

3. Integration Level Testing

4. System Level Testing

5. User Acceptance Testing (U.A.B)

1. Unit Level Testing: -


It is a level of testing in which one will perform testing on the units. It is a
white box testing and usually developers or white box testers will perform.

2. Module Level Testing: -

Module: Module is defined as a group of related functionalities to perform a major


task
crp.testing@gmail.com 7
It is a level of testing in which one will perform testing on the modules. It is a black
box testing and usually test engineers perform it.

3. Integration Level Testing: -


It is a level of testing in which the developers will develop some interfaces to
integrate the modules and test whether the interfaces are working fine or not. It is a
white box testing usually developers or white box tasters perform.

The developers may follow one of the following approaches while integrating
the modules.

1. Top-down approach

2. Bottom –up approach

3. Hybrid or Sandwich approach

4. Bigbang approach

1. Top-down approach: - In this approach one will develop the parent modules
first and then integrate them with the related child modules

2. Bottom-up approach: - In this approach one will develop the child modules
first and integrate them to the parent modules

3. Hybrid approach Or Sandwich approach:- This is a mixed approach of


both the top down and bottom up approaches

4. Big bang approach:-In this approach one will wait till all the modules are
ready and finally they will integrate all the modules at a time

STUB: - While integrating the modules in top down approach if at all any
mandatory module is missing then that module is replace with a temporary
program known as STUB

DRIVER: -While integrating the modules in bottom up approach. If at all any


mandatory module is missing then that module is replaced with a temporary
program known as DRIVER

4. System Level Testing:


It is a level of testing in which one will install the complete application in to
the environment and then perform testing on it. At this level different types of
testing will be done one among those is system integration testing.

5. System integration Testing: -


It is a type of testing in which once the complete application is developed one
will perform an action at one module and checks for the reflections at the

crp.testing@gmail.com 8
corresponding modules. It is a black box testing and usually test engineers
perform.

6. User- Acceptance Testing: -


It is the level of testing in which one will perform the same system testing in
the presence of the user in order to make him accept the application. It is a black
box testing and usually Test engineer performs it.

Environment: - Environment is a combination of three layers (e.g.: Yahoo)

a. Presentation layer

b. Business layer

c. Data base Layer

System: The application installed in to an environment combinable called as system.

a. Presentation Logic: The logic that is used for viewing application is


known as presentation logic

b. Business Logic: - The logic that is used for performing the operations on
the application is known as business logic.

c. Data Base Logic: - The logic that is used for sharing and retrieving the
data is known as database logic.

Types of Environment: - 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. Stand Alone environment: -


In this type of environment all the three layers that is presentation
layer, Business layer& Database layer will be present in al single tier.
This type of environment is suitable for single user application.

One-Tier Architecture
PL

BL One tier Architecture


DBL

crp.testing@gmail.com 9
b. Client –server environment:
In this type of environments there will be two tiers, one tier is for
clients and other tier is for database servers. The presentation layer
and the business layer will be present in each and every client . The
database layer will be present in the database server. This type of
environment is suitable for multi user application in a single or a
limited area.

Two tier Architecture

PL+BL DBL

PL+BL

PL+BL

Clients Server

c. Web environment: - In his type of environment three tiers will be there. One is
for client’s the middle one is for application server and the other one is for
database servers. Presentation layer will be present at clients, Business layer
will be present in the application server, and database layer will be present at
the database servers. This type of environment is suitable for the applications
that are used all over the world by limited number users

Three-tier Architecture:

PL
DBL
BL
PL

DBL
PL

Clients
crp.testing@gmail.com Appl Server Database10server
Web server: -
It is software, which provides web services to the clients.
E.g.: - Internet Information service (IIS).

Example for Application servers: Tom pact, Web logic, web sphere etc..,

d. Distributed environment: -
It is similar to the web 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 will be distributed.

N-tier Architecture:
W
PL DBL

BL BL BL
PL

PL

PL

Clients Apl server1 Apl server2 Apl server2 Database server

******************^^^^^^^^^^^^^^^^^^^^^^^********************************

crp.testing@gmail.com 11
Software Development Models: -

1.Water Falling Model

PHAS ACTIVIT OUTCO

INITIAL Req.gathering BRS

ANALYSIS SRS
Sys.design

DESIGN TDD, GUI


S/w design

UTR
CODING
Implementation Unit test
Int. test UTR

TESTING Mod Test UTR


Black box testing Sys.Test.
UAT UTR

DEL&MAINT UTR
Delivery to
client

Advantages:
It is a simple model
Project monitoring & maintenance is very easy
Drawbacks:
crp.testing@gmail.com 12
Con not accept the new requirements in the middle of the project

(b) Prototype Model: -

Unclear Req SRS Doc Client environment


Base lined confirmation

H/Wprototype H/Wprototype
Prototype

S/WPrototepe H/Wprototype

REQ.are
Advantages: - BRS DOC
Refined
Baseclear
Whenever the customer is not Lined
with 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
 User may limit his requirements by sticking to the prototype.

(B) Evolutionary Model: -

Initial Req

N Feed back with


Dev. new Req.

User
Application User
validation acce
pt

Appl is Base lined


Y
Advantages: -
Whenever the customer is evolving the requirements this is the best
Suitable model.
Drawbacks: -
 Cannot define the dead lines
 Project monitoring & maintenance is very difficult
 No Transparency (No clear)

crp.testing@gmail.com 13
Spiral Model: -
Defining the objectives/WA/Constraints

Refining & Risk Root cause


planning for analysis
the next cycle Estimation
Contingencies

Implementation
Advantages: -
This is the best suitable for developing the highly risk based project
(scientific projects)

Drawbacks: -
 Risk analysis and estimation is not an easy task
 It is a costly model
 It is a time consuming model

(C) Fish Model: -


Delivery &
Analysis Design Coding Maintenance
Req.
Gathering    
Sys testing

SRS HLD
LLD SCD
 Black Box
BRS testing
Review
   
SRS Review TDD Review White box Test S/W
testing Changes

Advantages: -

This is the best suitable for developing the highly risk based project(scientific projects)

Drawbacks: -
o Time consuming Model
o Costly model

crp.testing@gmail.com 14
Verification: -
It is a process of checking conducted on each and every role of the organization in order to
check whether they are working according to the guidelines or not right from the starting
of the process till the ending of the process

Validation: -
It is a process of checking conducted on the developed product in order to check whether it
is working according to the requirements or not.

(D) V-Model: -
Verification
Validation
BRS Preparing proj plan
Initial& design SRS Preparing Test plan
Phase Req.Phase testing

Design Phase testing


Design & TDD Program phase testing
coding
Test SCD

S/W Build System testing


Test management Process
Testing User acceptance testing

Port Testing
S/W efficiency
DRE=A/A+B
Delivery & Maintenance Test S/W changer

Advantages; -
AS verification and validation as well as test management process is done the out
come will be a quality product.

Drawbacks: -
o Time consuming mode
crp.testing@gmail.com 15
o Costly model

DRE: Defects removal efficiency

End of the Basic part…

Testing part to be continued………….

1. Build Acceptance Testing Or Build Verification Testing Or Sanity


Testing: -
It is a types of testing in which one will conduct over all testing on the released build
in order to check whether it is proper for further detailed testing or not. Even some
companies call it as smoke testing, but some companies says that just before releasing the
build the developers will conduct the overall testing on the build that is known as smoke
testing and once the build is released what ever the test engineers do in order to accept the
build is known as B.A.T or B.V.T or Sanity Testing.

2. Regression Testing: -
It is a type of testing in which one will perform testing on the already tested
functionalities again and again.
It is usually done in two scenarios.

1. Whenever the testers has raised the defects, rectified by the developers and next
build is released to the testing department then the test engineer’s will test the
defect functionality as well as the related functionality once again.
2. When ever some new features are incorporated by the developers, next build is
released to the testing department then the test engineers will once again test the
related functionalities of the new features in order to confirm that they are
working same as previous.

Note: - Testing the new functionalities for the first time is known as new testing but not
Regression Testing.

crp.testing@gmail.com 16
3. Re-Testing: -
It is a type of testing in which one will test the same functionality again and again
with different sets of values in order to come to a conclusion whether it is working or not.

4. - Testing (Alpha Testing): -


It is a type of user acceptance testing in which the test engineers will test the
application in our company, in the presence of the customer.

Advantage: - If at all any defects are found then there is a chance of rectifying them
immediately.

5. -Testing (Beta): -
It is a type of user acceptance testing done in the clients place either by the end-
users or by the third party testing experts before actual implementation.

Drawback: If at all any defects are found then there is no chance of rectifying them
immediately.

6. Static Testing: -
It is a type of testing in which one will perform testing on the application or
application related factors with out performing any action.
Eg:- Documentary testing, GUI testing, Code reviews and etc.,

7. Dynamic Testing: -
It is a type of testing in which one will perform in the application or its related
factors by doing some actions
Eg: - Functionality testing.

8. Installation Testing: -
It is a type of testing in which one will install the application in to the environment
by following the guide lines provided in the installation document and if the installation is
successful then he will come a conclusion that the given guide lines are correct other wise he
will come to a conclusion that the given guidelines are not correct.

9. Compatibility Testing: -
It is a type of testing in which one may have to deploy the application in to the
multiple number of environments prepared with different combinations of environmental
components in order to check whether the application is compatible with all that
environments. This type of testing is usually done to products.
crp.testing@gmail.com 17
10. Monkey Testing: -
It is a type of testing in which one will perform abnormal action on the application
intentionally in order to check the stability of the application.

11. Usability Testing: -


It is a type of testing in which one will check whether the application is user friendly
or not and it can be comfortably used by the end user or not.

12. Exploratory Testing: -


It is a type of testing in which one (Domain Experts) will perform testing on the
application with out having the knowledge of requirements but by exploring the
functionality.

13.End-To- End Testing: -


It is a type of testing in which one will perform testing on all the end- to-end
scenarios of the application.

14. Port Testing:-


It is a type of testing in which one will deploy the application in to the clients
environment and check whether it is compatible with that environment or not.

15. Reliability Testing: -


It is a type of testing I which one will perform testing on the application
continuously for long period of time in order to check the stability of the application

16. Security Testing: -


Its is a type of testing in which one will concentrate on the following 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 which one will enter different combinations of usernames


and passwords and try to access the home page in order to check whether only the
authorized persons are accessing the application or not.

(b) Direct URL Testing: -

crp.testing@gmail.com 18
It is a type of testing in which one will enter the URL of an unauthorized page
directly in the browser and try to access that page in order to check whether it is been
accessed or not.

(c) Firewall Leakage Testing: -

It is a type of testing in which one will enter as one level of user and try to access the
other level of unauthorized pages in order to check whether the firewalls are working
properly or not.

17. Mutation Testing: -


It is a type of testing in which one will perform testing on some thing by doing some
changes to it.

18. ADHOC Testing: -


It is a type of testing in which one will perform testing on the application in his own
style after understanding the requirements clearly.

The Soft Ware Testing Life Cycle Contains Six


Phases

They are…

 Test Planning
 Test Development
 Test Execution
 Result Analysis
 Bug Tracking
 Reporting

crp.testing@gmail.com 19
Plan: -
It is a strategic document, which describes how to perform a task in an effective,
efficient and optimized way.

Test Plan: -
It is a strategic document, which describes how to perform testing on an application
in an effective, efficient and optimized way.

Optimization: -
Optimization is a process of utilizing the available input resources to their max and
getting maximum possible out put.

1.0 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

1.0 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 will be
listed out her in the section.

2.0 Coverage Of Testing: -

2.1 Features to be tested: -


The list of all the features that are to be tested in this phase will be clearly
mentioned here in this section.

2.2 Features not to be tested: -


The list of all the features that are not planned for testing based on the
following criteria will be listed out here in this section
a. Out of scope features
b. Low risk features

crp.testing@gmail.com 21
c. The functionalities that are planned to be incorporated in future
d. The features that are to be skipped based on the time constraints.

3.0 Test Strategy: -

Test strategy is defined as an organizational level term, which is used for


testing all the projects in the organization.

Test Plan: -
It is defined as a project level term, which is used for testing a particular
project in the organization.

Note: - Test strategy is common for all the projects but the test plan is
specific for a particular project

3.1 Levels of Testing: -


The list of all the levels of testing that are followed 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 followed in that company will be
listed out here in this section.

3.3 Test Design Techniques: -


Technique: -
Technique is some thing i.e., used for accomplishing a complex task in an
easy manner.
A list of all the techniques that are used by that company while developing
the test cases will be listed out here in this section.

Eg: - BVA (Banded value analysis)


ECP (Equivalence Class Partition)

3.4 Configuration Management:- To be discussed later……

3.5 Test Metrics: -


The list of all the metrics that are maintained in that company will 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 will
be listed out here in this section

3.7 Automation Plan: -


The list of all the areas that are plan for automation in that company will be
listed out here in this section.

crp.testing@gmail.com 22
3.8 List Of Automated Tools: -
The list of all the automated tools that are used in that company will be listed
out here in this section.

4.0 Base Criteria: -


4.1 Acceptance Criteria: -
When to stop testing feeling that enough testing has been done on the
application is clearly described here in this section.

4.1 Suspension Criteria: -


When to suspend testing suddenly (abruptly) will be clearly mentioned here
in this section.

5.0 Test Deliverable: -

The list of all the documents that are to be prepared during the testing phase
will be listed out here in this section.
Eg: Test case, defects profile document.

6.0 Test Environment: -


The customer specified environment would be clearly described here in this
section. The same environment will be simulated in the company and will be used
for testing purpose.

7.0 Resource Planning: -

Who has to do what is clearly described here in this section.

8.0 Scheduling: -

The starting dates and the ending data of the each and every task is clearly
planned here in this section.

9.0 Staffing& Training: -

How much staff is to be recruited and what kind of training is to be provided


is clearly described here in this section.

10.0 Risks & contingencies (Solution Plans): -


The list of all the potential risks and the corresponding solution plans will be
listed out here in this section.

Example:

crp.testing@gmail.com 23
Risks:
i. Unable to deliver the soft ware with in dead lines.
ii. Employees may leave the organization in the middle of the
project
iii. Customer may impose the dead lines.
iv. Unable to test all the features with in the time.
v. Lack of expertisation

Contingencies (solution Plans):

i. Proper plan ensurance.


ii. Employees need to be maintained on the bench.
iii. What not to be tested has to be planned in case of imposed
dead lines.
iv. Severity & Priority based testing.
v. Proper Training needs to be provided.

11.0 Assumptions: -
The list of all the assumptions that are to be assumed by the test engineer will
be listed out here in this section.

12.0 Approval Information: -


Who has to approve what is clearly described here in this section.

FRS (Functional Requirement Specification)

HLI (High level


Information)

LLI (Low-level USE CASES


Information)

Screen Shots

Use Cases:
Use case is a description of functionality of certain features of an application
in terms of actors, actions& responses

crp.testing@gmail.com 24
Input information required for preparing the use case Document: -

i. Screen shot
ii. Functional requirements
iii. Special requirement/Business rules/Validation
iv. Template

i. Screen Shot: -
User name

Password

Connect to

Login Clear Cancel

ii. Functional Requirements: -


a. Login screen should contain username, password, Connects To fields
and login, clear, cancel buttons.
b. Connect to is not a mandatory field but when ever user requires it
should allow him to select a data base option.
c. Up on entering valid username, valid password and clicking on login
button corresponding page must be displayed.
d. Up on clicking 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. Up on clicking on the cancel button login screen must be closed.

iii. Special requirement/Business ruled/Validation: -

a. Initially whenever the login screen is Invoked Login, clear buttons must
be disabled.
b. Cancels Button must be always enable.
c. Up on entering user name and password the login button must be
enabled.
d. Up on entering some information in to any of the fields the clear button
must be enabled
e. The Tabbing order must be user name, Password, Connect to, Login,
clear, cancel.
iv. Use Case Template:
Name Of The Use Case :
Brief Description of Use Case :
Actor’s Involved :
crp.testing@gmail.com 25
Special Requirements :
Pre Condition :
Post-Conditions :
Flow of Events :

Use case: Use case is prepared by BA in the Functional Requirement Specification


(FRS), which are nothing, but a steps, which are given by the customer.

Test Case: It is prepared by the Test Engineer based on the use cases from FRS to
check the functionality of an application thoroughly.

Test Plan: Team Lead prepares Test plan, in it he represents the Scope of the test,
What to test and What not to test, Scheduling, What to test using automation etc.

v. Use Case Document:

Name of the use case: Login use case.

Brief Description of use case: It describes the functionalities of all the


features present in the login screen.

Actors Involved: Normal user, Admin User.

Special Requirements: There are two types of special requirements


1. Explicit requirements
2. Implicit requirements

1. Explicit Requirements: -
The Requirements that are directly given by the customer are known
as explicit requirement.

2. Implicit Requirement: -
The requirements that are analyzed by the business analyst feeling
that they will add the value (user friendliness) to the application are known
as implicit requirements.

List of Explicit requirements: -

 Initially whenever the login screen is Invoked Login, clear buttons


must be disabled.
 Cancels Button must be always enable.

crp.testing@gmail.com 26
 Up on entering user name and password the login button must be
enabled.
 Up on entering some information in to any of the fields the clear
button must be enabled
 The Tabbing order must be user name, Password, Connect to, Login,
clear, cancel.

List of Implicit Requirements: -

 Initially whenever the login screen is invoked the cursor must be available in
the user name field
 Upon entering in valid username, valid password and clicking on log in
button an error message should be displayed “Invalid username Please try
again”
 Upon entering valid username, In valid password and clicking on login
button an error message should be displayed “Invalid Password Please Try
again”
 Upon entering Invalid username, Invalid password and clicking on login
button an error message should be displayed “Invalid user name and
password Please try again”

Pre-Conditions: Login screen must be available

Post-Conditions: Either home page or admin page for the valid user and error
message for the invalid users

Flow of Events: There are three flows for the application

1. Main Flow
2. Alternative Flow
3. Exceptional Flow

1. Main Flow:
Action Response

crp.testing@gmail.com 27
1. Actor invokes the application. 1.Login Screen is displayed with the following fields
Username, Password, Connect to, Login, Clear&
cancel.

2. Actor enters valid user name, Valid 2. Either home page or admin page is displayed
password and clicks on login button. depending up on the actor entered by authenticating.

3. Actor enters valid user name, valid 3. Authenticates, Either home page or admin page is
password, selects a database option and displayed depending up on the action entered with
clicks on login button. mentioned data base connection.

4. Actor enters invalid user name Valid 4.Go to Alternative flow table 1
password and clicks on login button.

5. Actor enters valid user name, Invalid 5.Go to Alternative flow table 2
password and clicks on login button.

6. Actor enters both username and 6.Go to Alternative flow table 3


password invalid and clicks on login
button.

7. Actor enters some information in to any 7.Go to Alternative glow table 4


of the fields and clicks on clear button.

8. Actor clicks on the cancel button. 8. Go to Alternative flow table 5.

1. Alternative flow table 1: -(Invalid User name)


Action Response
Actor enters invalid user name, valid Authenticates an error message is
password and clicks on login button displayed “Invalid User name Please Try
again”.
2. Alternative Flow Table 2: -(Invalid Password)
Action Response
Actor enters valid user name, invalid Authenticates an error message is
password and clicks on login button displayed “Invalid User Password Please
Try again”.
3. Alternative Flow Table 3: - (Invalid username & Password)
Action Response
Actor enters invalid user name, invalid Authenticates an error message is
password and clicks on login button displayed “Invalid User name and
password Please Try again”.
4. Alternative Flow Table 4: - (Clear Click)
Action Response
Actor enters some information in any of All the fields are cleared and cursor is
the fields and clicks on clear button placed in the user name fields

5. Alternative Flow Table 4: - (Cancel click).


crp.testing@gmail.com 28
Action Response
Actor Clicks on the cancel button. Login screen is close

 Identify the module to which the use case belongs.


Security module.

 Identify the functionality of the use case with respect to the total
functionality
Authentication
 Identify the functional points and prepare the functional point document.

 Identify the input required to perform testing


Valid & invalid Inputs
 Identify the actors involved in the used case
Normal user & Admin user.
 Identify whether the use case is linked with any other use case.
Home page and Admin page use cases
 Identify the pre conditions
Login Screen mist be available
 Identify the post conditions
Either home page or admin page for valid users and error message for
invalid users
 Understand the main flow of the application
 Understand the alternative flow of the application
 Understand the special requirements
 Document the test cases for the main flow
 Document the test cases for the alternative flow
 Document the test cases for the special requirements
 Prepare the cross-reference matrix.

Functional Point: -
The point where an user can perform some action is known as
functional point.

crp.testing@gmail.com 29
Testing Process: -
FRS FPD MTCD DTCD DPD

UN-Entry Validate Login 1


VLD PW-Entry check 2
Login Click Validate Cancel 3
Cancel Click Check 4
Clear Click Validate Clear 5
Check 6
7

FRS- Functional Requirement Specification


FPD-Functional port Document
MTCD-Master Test Case Document
DTCD-Detailed Test Case Document
DPD-Defect Profile Document

Cross Reference Document: -(Traceably Document)

It is a document, which contains a table of linking information used for


tracing back for the reference in any kind of ambiguous (confusion) or questionable
situation.

VLD FPD MTCD DTCD DPD


2 7 3 28 1

8 22 5 5
47

Common Tracebility Matrix


Requirement Tracebility Matrix
TCID REQ ID

1 1
2 1
3 1
4 2
5 2
6 2
7 2
8 2

Defects Tracebility Document


crp.testing@gmail.com 30
DID TCID
1 28
2 32
3 65
4 96
5 48
6 52

Types Of Test Cases:

There are two types of test cases if we see broadly they are:
1. GUI Test Cases
2. Functional Test Cases

The Functional cases are further divided in to Two types

(a) Positive Test Cases,


(b) Negative Test Cases.

Guide Lines fro developing the GUI Test Cases:

 Check for the availability of all the objects


 Check for the alignments of all the objects up on customer requirements
 Check for the consistency of all the objects
 Check for the spellings and grammar
 Apart from the above guide lines any thing else that can be tested just by
looking with out doing any actions will fall under GUI test cases

Guide Lines for Positive Test Cases:

 A test engineer should have positive mind set up


 He should consider the positive flow of the application
 He should use only the valid Input

Guidelines for developing Negative Test Cases:

 A test engineer should have negative mind set up


 He should consider the negative flow of the application
 He should use at least one invalid input per a set of data

crp.testing@gmail.com 31
Test Case Template: -

(a) Test Objective


(b) Test scenario
(c) Test procedure
(d) Test Data
(e) Test Cases

(a) Test Objective: -


The main purpose of the document is described here in this section
(b) Test Scenarios: -
The list of all the scenarios that are to be tested will be listed out here
in this section.
(c)Test Procedure: -
DEF: It is a functional level term, which describes how 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 below


TCID TC DESCRIPTION EV AV Result Severity Priority Reference
TYPE

Test case Table


crp.testing@gmail.com 32
TC
ID TYPE Description Expected Value Actual Value Result Severity Priority Reference

Check for the availability All the objects must be All the objects
of all the objects as per available as per the are available as
the Login Obj Tab login obj tab per the login obj
1 GUI tab Pass      

All the objects must be


consistent with each All the objects
Check for the constancy of other are consistent
2 GUI all the objects with each other Pass      
Check for the spellings of
all the objects as per the All the objects must be All the objects
spelled properly as per
Login obj TabLogin Obj are spelled
the login obj tab
3 GUI Tab.xls properly Pass      
Initially login, clear
Check for the enable must be disabled and Login, clear and
property of login, clear and cancel button must be cancel buttons
4 GUI cancel buttons enabled are enabled Fail      

Initially the cursor must


be positioned in the Initially the cursor
Check for the initial user name field is present in the
5 GUI position of the cursor username field Pass      
Enter some information in
to user name and
Login button must be
password field and check
enabled
for the enabled property of Login button is
6 Positive login button enabled Pass      
Enter some info in to any
of the fields and check for Clear button must be
the enabled property of enabled Clear button is
7 Positive clear button enabled Pass      

Corresponding page Corresponding


Enter user name, must be displayed as pages are
Password as per the VIT per the VIT displayed as per
8 Positive and click on login button valid in puts table Pass      
Corresponding
Corresponding page
pages are
must be displayed as
Enter username, displayed as per
per the VIT With the
Password as per the VIT the VIT with the
mentioned data base
and select a data base mentioned data
connection
9 Positive option and click on login base connection Pass      
All the fields are
All the fields must be
cleared but the
cleared and the Cursor
Enter some information in cursor is not
should be placed in the
to any of the fields and placed in the
user name fields
10 Positive clear button user name field. Fail      

Login screen should be


closed Login screens
11 Positive Click on the cancel button closed Pass      
12 Positive Check for the tabbing Tabbing order must be Tabbing order is Pass      
order of all the objects as follows User name, as follows
Password, Connect to, Username,
Login, Clear, Cancel Password,
Connect to

crp.testing@gmail.com 33
Login, clear,
Cancel

Corresponding Corresponding
Enter username, messages should be error messages
Password as per the IVIT displayed as per IVIT are not displayed
13 Negative and click on login button as per IVIT Fail      
Enter some information
only in to the user name
Login button must be
field and check for the
disabled
enabled property of login Login button is
14 Negative button enabled Fail      
Enter some information
only in to the password
Login button must be
field and check for the
disabled
enabled property of login Login button is
15 Negative button enabled Fail      

LOGIN OBJ TAB


Sno Obj Name Type

1 User name Text Box

2 Password Text Box

3 Connect To Combo box

4 Login Button

5 Clear Button

6 Cancel Button

Valid Inputs Table


Sno User Name Password Expected Page Actual value Result

1 Suresh qtp Admin Admin Pass

2 Raja rani Home page Home page Pass

3 Chiru mbbs Home page Home page Pass

4 Praveen puppy Home page Home page Pass

5 NTR illu Home page Home page Pass

6 Admin Admin Admin Admin Pass

crp.testing@gmail.com 34
Valid Inputs Table (IVIT)
Sno User Name Password Expected Page Actual value Result

1 Suresh1 qtp Invalid User name Plz try again Admin Fail
Invalid User name Plz try
2 Raja2 rani Invalid User name Plz try again again Pass
Invalid password Plz try Invalid password Plz
3 Chiru DADA again try again Pass
Invalid password Plz try Invalid password Plz
4 Praveen TOPI again try again Pass
Invalid user name & Invalid user name &
5 NTR1 illu4 password Plz try again password Plz try again Pass
Invalid user name & Invalid user name &
6 Admin5 Admin6 password Plz try again password Plz try again Pass

A test Engineer will do the following during the test execution

1. He will perform the action that is described in the description column


2. He will observe the actual behavior under the actual value column.
3. He will document the observed value under the actual value column.

In this phase the test engineer will compare the expected values with the actual
values and if both are matched they will document the result as pass other wise they
will document the result as fail.

Bug Tracking is a process in which the defects are identified, Isolated and managed

Defect –ID: -

crp.testing@gmail.com 35
The lists of defect numbers are mentioned here in this section.

Defect Description: -
What exactly the defect is clearly described here in this section.

Steps for reproducibility: -


The list of all the steps that are followed by the test engineer to identify the defect
will be listed out here in this section.

Submitter: -
The name of the test engineer who has submitted the defect will be mentioned here
in this section.

Date Submission: -
The date on which the defect is submitted is mentioned here in this section.

Version No: -
Corresponding Version number is mentioned here in this section.

Build No: -
Corresponding build number is mentioned here in this section.

Assigned To: -
The development lead will fill the developers name for whom the defect is assigned.

Defect Steps for Date Of Version Build Assign


Defect Id Description Reproducibility Submitter Submission NO No to SeverityPriority Status
Initially Login, cear
buttons are
Not Applicable
enabled instead of
1 being disabled Sri Balaji 11-Feb-08 1.0.0 1        

crp.testing@gmail.com 36
1.Enter some
information in to any
Upon Clicking on of the fields
clear button all the 2.Click on clear
fields are cleared button
but the cursor is not 3.Observe that the
placed in the user cursor is not placed
name field in the username
fields after clearing
all the fields
2 Sri Balaji 11-Feb-08 1.0.0 1        
1.Enter Suresh1 in
to the user name
Upon entering
field 2.Enter
Suresh1 as
qtp in to the
username and qtp
password field
as password and
3.Click on login
clicking on login
button
button admin page
4.Observe admin
is displayed instead
page is displayed
of error message
instead of error
message.
3 Sri Balaji 11-Feb-08 1.0.0 1        
1. Enter some
information in to
Up on entering the username field
information only in 2.Check for the
to the user name enabled property of
field login button is login button. 3.
enabled instead of Observe that login
being disabled button is enabled
instead of being
disabled.
4 Sri Balaji 14-Feb-08 1.0.0 1        
1.Enter some
information in tho
Upon entering the password field
information only in 2.Check for the
to the password enabled property of
field login button is login button
enabled instead 3.Observe that login
being disabled button to enable
instead of being
disabled
5 Sri Balaji 11-Feb-08 1.0.0 1        

Defect- Id: -
The list of defect numbers are mentioned here in this section

Defect Description: -
What exactly the defect is clearly described here in this section

crp.testing@gmail.com 37
Steps for reproducibility: -
The list of all the steps that are followed by the test engineer to identify
the defect will be listed out here in this section

Submitter: -
The name of the test engineer who has submitted the defect will be
mentioned here in this section.

Date Of Submission: -
The date on which the defect is submitted is mentioned here in this
section.

Version No: -
Corresponding Version number is mentioned here in this section.

Build No: -
Corresponding build number is mentioned here in this section.
Assigned To: -
The development lead will fill the developers name for whomthe defect
is assigned.
Severity: -
How serious the defect is defined in terms of severity, Severity is
classified in to four types:

1. Fatal (Sev1) or S1 or 1
2. Major (Sev2) or S2 or 2
3. Minor (Sev3) or S3 or 3
4. Suggestion (Sev4) or S4 or 4

1. Fatal:
If at all the problems are related to the navigational blocks or unavailability
of functionality then such type of defects are treated to be fatal defect.

Val1
Main Menu Val2

Result UN
ADD AVAILA
BLE
Next
Next Next

2. Major: -

crp.testing@gmail.com 38
If at all the problems are related to the working of major functionalities
then such types of defects are treated to be major defects.

Val1 10

Val2 20

Result -10

ADD

3. Minor: -
If at all the problems are related to the Look & Feel of the application
then such type of defects are treated to be minor defects

Val1

Val2

Result

BAD

4. Suggestions: -
If at all the problems are related to the value of the application then such
type defects are treated to be suggestions.

Some Invalid
+Ve integer Box alphabets Entry
Plz Try
again

Priority: -
Priority defines the sequence in which the sequence in which defects has to be
rectified. It is classified in to four types

crp.testing@gmail.com 39
1. Critical (Pri1) or P1 or 1
2. High (Pri2) or P2 or 2
3. Medium (Pri3) or P3 or 3
4. Low (Pri4) or P4 or 4
Usually the Fatal defects are given critical priority, Major defects are
given High priority, Minor defects are given Medium Priority and suggestions are
given Low Priority, But depending up on the situations the priority will be
changing.

I - Case:
Low severity-High Priority Case: -
Up on customer visit to the company all the look and feel defects are
given highest priority.

II - Case:
High severity –Low Priority Case: -
When ever 80% of the application is released to testing department as
20% is missing the test engineers will treat them as Fatal defect but the development
lead will give least priority for those defects as features are under development.

Bug Life Cycle: -


HOL
D

Testers
REQ error

As per
No design

Is it OP
DEV Rectific
Reall EN
ation
y
Defe
ct

M1
Build #1 Fixed for
verification

Build #2
TESTING

Yes
If STOP TESTING
Def
No ect
Ne
w Is
defect
is
RE really
ope verifie Clos
crp.testing@gmail.com ed 40
n d
Yes

No

Status: -

New: - When ever the defect is found for the first time the test engineer will set the
status as New.

Open: -When ever the developer accepts the raised defect then he will set the status
as open.

Fixed for verification Or Fixed for rectified: - When ever the developer rectifies the
raised defect then he will change the status to fixed.

Re open and Closed: -When ever the defects are rectified, next build is released to
the testing dept then the test engineers will check whether the defects are rectified
properly or not. If the defect is rectified properly then the test engineer will set the
status as “Closed”. If the defect is not rectified properly then the test engineer will
set the status as “Re open”.

Hold: - When ever the developer is confused to accept or reject the defect then he
will set the status of the defect as hold.

Testers Error or Testers Mistake Or Rejected: - When ever the developer is


confirmed it is not at all a defect hen he will set the status of the defect as
“Rejected”.

As Per Design: - When ever the test engineer is not aware of new requirements and
if he raises defects related to the new features then the developer will set the status
“ As Per Design”.
Note: This is a rare case not usually Occurs

crp.testing@gmail.com 41
Ways of Testing:
There are two ways of Testing
1. Manual Testing
2. Automation Testing
1. Manual Testing:
It is a way of testing in which one will perform all the phases of software
testing life cycle like Test planning, Test development, Test execution, Result analysis, Bug
tracking, and Reporting are accomplished manually, successfully with human efforts
Drawbacks of Manual Testing:
 More number of people are required
 Time consuming
 Human mistakes (no accuracy)
 Tiredness
 Simultaneous action are not possible
 Cannot repeat the same task again and again in a
perfect manner.
2. Automation Testing:
Automation testing is a process in which all the drawbacks of manual testing
are addressed properly and provides speed and accuracy to the existing testing process.
Drawbacks of Automation Testing:
 Tools are expensive
 Cannot automate all the area
 Lack of experts
Automated Tool:
Automated tool is an assistant of a test engineer, which works based on the
instructions and information given by a test engineer.

General Frame Work to learn any automated Tool:


A test engineer should learn the following to work with any automated tool

 How to give the instructions?


 How to give the information?
 How to use its recording facility?
 How to use its play back facility?
 How to analyze the results?

Types of Automated Tools:


A black box testing tools are broadly divided in to Three types
1. Functional tools (QTP, Win runner)

crp.testing@gmail.com 42
2. Management Tools (Test Director/Quality
Center)
3. Performance tools (Load Runner)

QTP (Quick Test Professional)


Type Of The Tool: Functional Tool
Company: Mercury Interactive incorporation
Scripting Language: VB- Script
Version: #5.5,#6.5,#7.0,#7.6,#8.0,#8.2(2005),#9.0,#9.1,#9.2

Anatomy of QTP: EMP

E name

E age
E Sal
E Desig
Submit

Vbwindow(“emp”).vbedit(“ename”).set ”Sri Balaji”


Vbwindow(“emp”).vbedit(“eage”).set”27”
Vbwindow(“emp”).vbedit(“esal’).set”20000”
Vbwindow(‘emp”).vbedit(“edeisig”).set”TE”
Vbwindow(“emp”).vbedit(“submit”).set click.

VbWindow("VbWindow").VbEdit("VbEdit").Set "10"
VbWindow("VbWindow").VbEdit("VbEdit_2").Set "20"
VbWindow("VbWindow").VbButton("ADD").Click
VbWindow("VbWindow").VbButton("SUB").Click

crp.testing@gmail.com 43
VbWindow("VbWindow").VbButton("MUL").Click
VbWindow("VbWindow").VbButton("DIV").Click
VbWindow("VbWindow").VbButton("CLEAR").Click

Adding Manager:
Adding manager is a feature provided by QTP which is used for
showing all the list of adding’s while opening the QTP so that the user can select the
desired adding’s and then enter in to the QTP, Before the user access the QTP the
adding manager will make the QTP compatible with all the selected environments.

By default QTP is always compatible with standard window’s


environment.
Whenever we purchase QTP we get Three built-in adding’s.
1. Activex
2. Visual Basic
3. Web.
A part from the above add-ins one needs to purchase the add-inns by paying extra
cost.

QTP screen can be divided in to seven parts


1. Test Pane
2. Active screen
3. Data Table
4. Debug Viewer Pane
5. Tool Options
6. Information pane
7. Missing resources pane

1.Test Pane:
Test pane is an area provided by QTP, which is used for developing,
viewing, and modifying the test screen. It represents the test scripts in two views
(a). Expert view
(b). Key word view
(a). Expert view: It represents the script in VB script format
(b). Keyword view: Keyword view represents the script using a graphical user
interface (GUI) which is further divided in to four parts.
 Item
 Operation Value
 Documentation
2.Active Screen:
Active screen is an area provided by QTP, which holds the snapshots of each
and every script statements and used for the following.
 Easily understanding the script
 Easily enhancing the script.

3.Data-Table:
The date table is originally called as formula1 sheet developed by third party
and integrated with QTP.
Features:
 It is used for holding the test data
crp.testing@gmail.com 44
 It isolates the test script from the data source.
 It provides the facility to import the test data from
different data sources like excel files, data base and flat
files (a file with out having format)
 It allows the user to interact with the data directly

Note: QTP maintains two copies of data tables


i. Design time data table
ii. Run time data table

4. Debug Viewer Pane:


Definition of Debugging: Debugging Is a process of executing the script or a
program in a user desired passion with some temporary breaks in order to identify
the errors.
Debug viewer pane is an area provided by QTP which is used for viewing,
modifying or setting the current values of variables or expressions during the
execution break with the help of three Tabs by name Watch expression, Variables
and Command

5.Tool- Options:
All the options available in the menu bar, file tool bar and testing tool bar
are known as tool-options.

RECORDING AND RUNNING


Record and Run Settings:
For every new test one has to compulsorily do this settings before recording
or running. These settings will make to understand on which applications it need to
concentrate while recording or running.

Navigation:
 Activate the menu item test
 Select the option record and run settings
 Select one of the following options
Record and run test on any opened windows based application
Record and run on these application (opened on session start)
 If at all second option is selected then click on add button
 Browse the desired application part
 Click on OK
 Click on apply & OK.

Operational overview of Recording:


During recording QTP will do the following..
1. It will generate corresponding script statements for every
user action on the application.
2. It will store the required related information in the object
repository.
Operational overview of Running:
During running QTP will doing the following..

crp.testing@gmail.com 45
1. It will read the script statement and understands what
action to be performed on which object.
2. Then it realizes it need to identify the object first to
perform the action
3. To identify the object it requires some information for that
information it will go the object repository and search.
4. Once the information is found using this information it will
try to identify the original object.
5. Once the object is identified it will perform the action on it.

Recording Modes:
There are there types of recording mode
(a). Context sensitive recording mode or Normal recording
mode
(b). Analog Recording Mode
(c). Low-level Recording mode.

(a). Context sensitive Recording mode:


It is used for recording the operations performed on the standard
GUI object in different situations

(b). Analog Recording Mode:


It is a special recording mode provided by QTP, which is used for
recording the continuous operations

Navigation:
 Keep the tool under normal recording mode
 Activate the menu item test
 Select the option analog recording
 Select one of the following option
o Record relative to the screen
o Record relative to the following window
 If at all second option is selected specify the window
title with the help of the Hand Icon
 Click on start analog record

(c). Low-Level Recording:


It is a special recording mode provided by QTP, which is used for
recording at least some minimum operations on the non-supported environments
also.

OBJECT REPOSITORY

Object Repository:
Object repository is a storage place where one can store the objects
information and it also acts as interface between
n the test script and the AUT(application under test) in order to identify the original
objects during execution
crp.testing@gmail.com 46
Types of Object Repository:
There are two types of object repository they are
1. local Repository
2. Shared Repository
(1). Local Repository:
If at all this type is selected as an object repository then the QTP will
be automatically creating and managing an individual repository for every action.
(2). Shared Repository:
Shared repository has to be created and managed manually once a
shared repository to created it can be shared among number of tests

Advantages:
 Easy to maintain
 Re-usability

Navigation for creating a shared Repository or Converting a per action in to shared:


 Collect the objects information in to the object
repository
 Click on export
 Browse the desired location
 Specify the file name with .TSR extension
 Click on save button

Navigation for Creating the Shared Repository to the currant test:


 Activate the menu item test
 Select the option settings
 Select the resources tab
 Select the option shared in the object repository type
section
 Browse the desired repository file
 Click on apply & OK

Note: .TSR means Test Shared Repository

OPERATIONS ON OBJECT REPOSITORY

Navigation for adding the objects in to the object repository:

 Open the object repository


 Click on add objects button
 Click on the title bar of the window
 Click on ok
 Select one of the following options
o Only the selected objects
o Selected objects and all its direct children
o Selected objects and all its descendents
 Click on OK

crp.testing@gmail.com 47
Navigation for deleting the objects form the object repository:
 Select the desired object to be deleted in the object
hierarchy
 Right click on it
 Select the option delete
 Confirm the deleting by clicking on YES

Navigation for Re naming the objects:


Select the desired object in the object hierarchy
 Right click on it
 Select the option Rename
 Specify the desired name

Navigation for updating the properties list:


 Select the desired object in the object hierarchy
 Click on add/Remove button
 Select the desired properties to be added in to the
properties list
 Deselect the properties to be removed from the properties
list
 Click on OK

Highlight:
Highlight button is used for highlighting the corresponding object in
the AUT so that a test engineer can clearly understand which objects information is
that.

OBJECT IDENTIFICATION

Object identification:
Object identification is based on four types of properties and an ordinal
identifier

Types of properties:
1. Mandatory Properties
2. Assistive properties
3. Base-Filter Properties
4. Optional Filter properties
A test engineer can specify the list of mandatory properties, List of assistive properties,
List of base filter properties, list of optiopnal filter properties and an ordinal identifier.

QTP learns the information in the following in case only normal brain:

crp.testing@gmail.com 48
First of all the QTP will learn all the mandatory properties at a time and then think
weather these properties are sufficient to identify the object uniquely. If it feels
sufficient then it will stop learning otherwise it will learn the first assistive property and
once again stops and thinks weather these properties are sufficient to identify the object
uniquely. If it feels sufficient then it stops learning otherwise learns the second assistive
property and checks weather these properties are sufficient or not. This process
continuous till the QTP satisfies or up to the end of the assistive properties list. At the
end of the assistive properties list also if it feels not satisfied then it will finally learn the
ordinal identifier and stops learning.

QTP learns the information in the following way in case of smart brain also:
While learning the mandatory properties along with them it will learn
the base filter properties, optional filter properties and stores them in the secret
place.
It considers the mandatory properties only and check weather these
properties are sufficient to identify the object uniquely. and repeats the above
process.

Note: In the above learning process except base filter properties and optional filter
properties all the remaining information learnt will be stored in the object repository.

QTP will use the information in the following way to identify the object during
execution:
First of all QTP will use all the properties present in the object repository
except ordinal identifier and try to identify the object. If at all the object is not identified
then it will forget about all these properties and freshly enters in to the secret place.
QTP will consider all the base filter properties and try to identify the
object and forms a list of all the objects that are matched with the base filter properties.
If the list contains only one object then that is the object otherwise it will take the
support of first optional filter property and try to match with all the object present in the
list and forms a new list of all the objects that are matched with that property and then
check weather the list is containing one object or more that one object. If the list is
containing more than one object then it will consider the second optional filter property
and repeats the whole procedure till the list contains on object or up to the end of the
optional properties list.
At the end of the optional filter properties list also if the list is containing more than one
object then it will finally go to the object repository and check weather the ordinal
identifier is available or not. If at all the ordinal identifier is available it will identify the
object roughly using that otherwise HANDSUP.

Ordinal Identifiers:
There are three types of ordinal identifiers
1.Location
2.Index
3.Creation time

crp.testing@gmail.com 49
1.Location:
If at all the location is selected, as an ordinal identifier then the QTP will
generate a sequence of numbers from 0,1,2,3 based on the sequence of the objects
located in AUT.

2.Index:
If at all the index is selected as an ordinal identifier than the QTP will
generate the numbers from 0,1,2,3…. Based ob the sequence of the programs of the
objects.

3.Creation Time (specially for web pages):


If at all creation time is selected as an ordinal identifier the QTP will
generate the number from 0,1,2,3,… based on the loading time of the web pages

Smart Identification:
When ever the QTP is unable to identify the objects with the help of the
properties present in the object repository then the special mechanism provided by QTP
to identify the object smartly with some other properties is known as smart
identification.

Navigation for Object identification Configuration:

 Activate the menu item tools


 Select the option object identification
 Select the desired environment
 Select the desired object type
 Specify the desired list of mandatory properties and assistive
properties with the help of corresponding add/ remove buttons
 Select the ordinal identifier
 Smart identification
 Select the check box enable smart identification
 Click on configure button
 Specify the desired list of base filter properties and optional filter
properties with the help of add/remove buttons
 Click on OK
 Click once again on Ok

Object Spy:
Object spy is a handy feature provided by QTP which is used for
showing the complete objects information like list of properties and their values, list
of methodology, syntax for methodology and description of methods then and there
on the spot immediately of both test objects as well as runtime objects.
Navigation for Object SPY:

 Activate the menu item tools

crp.testing@gmail.com 50
 Select the option object spy
 Click on the hand icon
 Click on the desired object
Types Of Objects:
There are two types of objects 1.Run time objects
2.Test objects

1.Run time objects:


All the original objects present in the AUT are known as run time objects

2.Test Objects:
Test objects are the reference objects created by the QTP for run time
objects, stored in object repository and used by the QTP for the original objects

QTP LIFE CYCLE

QTP life cycle contains Six phases


I. Test planning
II. Generating the basic test
III. Enhancing the test
IV. Debugging the test
V. Executing the test
VI. Analysis the Results

I. Test Planning:
In this phase the automation test lead will do the following
1. Under standing the requirements
2. Identifying all the areas to be automated

crp.testing@gmail.com 51
3. Analyzing both the negative and positive flow of the
application
4. Preparing the automation test plan document based on the
analysis
5. Preparing the tool ready with all the pre configurational
settings for the further operations
II. Generating the basic test:
In this phase the automation test engineer will generate the basic test
engineer will generate the basic test for both the +ve and –ve flow of the application
IIII. Enhancing the Test:
One can enhance the script in the following ways
1. Inserting the check points
2. Synchronizing the test
3. Parameterising the test (Data Driven Testing)
4. Inserting the out put value statements
5. Inserting the transactional points for measuring
transactions
6. Inserting the programmatic statements
7. Adding comments
8. Inserting the script statement manually

1.Check Point:
Checkpoint is defined as validation pointer test point which checks the
objects state or bitmap state or data state during execution at any point of time

Operational over view of checkpoint:


Checkpoint works in two phases

i. Pre-execution Phase:
 It captures the expected value
 Generates the corresponding test script statement
ii. While-execution phase:
 It captures the actual value
 Compared the actual value with the expected value
 Displays the result

Types Of Checkpoints:

a. Standard checkpoints
b. Bitmap checkpoint
c. Text checkpoint
d. Text area checkpoint
e. Data base checkpoint
For Web
Checkpoints f. XML checkpoint
g. Page checkpoint
Hidden Checkpoints
crp.testing@gmail.com 52
h. Table checkpoint
i. Image checkpoint
j. Accessibility checkpoint

a. Standard Checkpoints:

Standard
checkpoint is used for checking the standard GUI objects properties
value, it can be inserted in two ways

i. Through application
ii. Through Active Screen

Navigation through application:

 Keep the cursor in the desired location


 Keep the tool under recording mode
 Activate the menu item insert
 Go to checkpoint
 Select the option standard checkpoint
 Click on the desired object in the AUT
 Click on OK
 Select the desired properties to be checked
 Specify the desired expected values
 Click on OK
 Stop Recording

Navigation through active screen:

 Keep the cursor on the desired statement so that the


corresponding snapshot is displayed in the active screen
 Go to active screen right click on the desired object
 Select the option insert standard check point
 Click on OK
 Select the desired properties to be checked
 Specify the desired expected values
 Select one of the following options
 Select one of the following options
o Before current step
o After current step
o Click on OK

p checkpoints:
Bitmap
checkpoint is used for checking the complete bitmap or apart of a bitmap.
It can be inserted in two ways
i. Through application

crp.testing@gmail.com 53
ii. Through Active Screen

Navigation through application:


 Keep the cursor in the desired location of the screen
 Keep the tool under recording mode
 Activate the menu item insert
 Select the option bitmap check point
 Click on the desired bitmap
 Click on OK
 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 check
box save only selected area
 Click on OK

Navigation Through Application:


 Keep the cursor on the desired statement so that the
corresponding is displayed in the active screen
 Go to the active screen
 Right click on the bit map
 Select the option insert bitmap check point
 Click on OK
 If at all one need to select a part of bitmap then select it using
select area button
 IF alt all one need to save only the selected part select the check
box save only selected area
 Select one of the following option
o Before currant step
o After currant step
 Click on OK

Checkpoint:
Text
checkpoint is used for checking the text present on a specified object. It
can be inserted in two ways
i. Through application
ii. Through Active

Navigation through application:


 Keep the cursor in the desired location of the screen
 Keep the tool under recording mode
 Activate the menu item insert
 Click on check point
 Click on text checkpoint
 Click on the desired text
 Select the following option
o Match case
o Exact match
o Ignore space

crp.testing@gmail.com 54
o Text not displayed

Click on OK

Navigation through Active Screen:


 Keep the cursor on the desired location so that the
corresponding snapshot is available in the active screen
 Right Click on the desired position
 Click on insert text checkpoint
 Click on desired text
 Select the following option
o Match case
o Exact match
o Ignore space
Text not displayed
Click on ok

a Check Point:
Test
area checkpoint is used for checking the test presenting a specified area.
It can be inserted only through the application but not through the active
screen

Navigation through application:

 Keep the cursor on the desired location of the screen


 Keep the tool under recording mode
 Activate the menu item insert
 Select the opinion text area checkpoint
 Select the exact area through cross hair pointers
 Choose the following options
o Match case
o Exact match
o Ignore space
o Text not displayed
 Click on OK
 Stop Recording

e Checkpoint:
Data base check
point is used for checking the contents of the data base

Navigation:
 Activate menu item insert
 Go to check point
 Select the option data base checkpoint
 Select the option specify AQL statement manually
 Click on meet
 Click on create
 Click on new
crp.testing@gmail.com 55
 Select the desired driver
 Slick on next
 Click on finish
 Click on select
 Select the desired database
 Click on ok
 Click on ok
 Click on ok
 Specify the designed query statement
 Click on finish
 Select the desired contents to be checked
 Select one of the following option
o Before current step
o After current step
 Click on ok

Check Point:
XML
is an universally understandable language which is mainly used for data
information
Note: XML check point is used fro checking the contents of an XML file

Navigation:
 Activate the menu item insert go to check point
 Select the option XML check point
 Browse the desired XML file
 Click on OK
 Select the desired contents to de checked
 Select one of the following option
o Before current step
o After current step

Click on OK
ble Check Point:
This is
used for checking the contents of a table
Navigation:
 Keep the cursor on the desired statements, so that the
corresponding page will be displayed in the active
screen
 Go to active screen
 Right click on the page
 Select the option, Insert standard check point
 Select the desired table in the object hierarchy
 Click on ok
 Select the desired properties to be checked
 Select one of the following option
o Before currant step

crp.testing@gmail.com 56
o After currant step

 Click on ok

(h) Image Check Point:


This is used for checking the properties of an image
Navigation:
 Keep the cursor on the desired statement, so that the corresponding page will be
displayed in the active screen
 Go to the active screen
 Right click on the page
 Select desired image in the object hierarchy
 Click on ok
 Select on ok
 Select the desired properties to be checked
 Select the one of the properties to be checked
o Before currant step
o After currant step
 Click on ok

(i) Accessibility Check point:


Accessibility check point is used for checking the w3c standards( for web
consortium standards) in order to confirm weather the page can be accessed all over the world or not

Navigation:
 Keep the cursor on the desired statement sot heat the corresponding page is
displayed in the active screen
 Go to the active screen
 Right click on the page
 Select one of the following options
o Before currant step
o After currant step
 Click on ok

2. Synchroniztion:
Synchronization is a process of matching the speeds of both the tool and the application
in order to keep them in sync with each other to obtain proper testing results
Here the main concept is making the tool to wait till the application finishes its work it can
be done in three ways
1. Inserting the synchronization point
2. Increasing the default time
3. Inserting the wait statement
crp.testing@gmail.com 57
Navigation for inserting the synchronization point:

 Keep the cursor in the desired location


 Keep the tool under recording mode
 Activate the menu item insert
 Go to step select the option sync point
 Click on desired object
 Click on ok
 Select the desired property
 Specify the desired property value
 Specify desired extra time
 Click on ok
 Stop recording
In order to avoid above navigation one can directly type the statement in the desired
location with the following syntax:
SYNTAX: Object hierarchy. Wait property ”Property name” property value, extra time in
milliseconds
Example: Window (“flight reservation”).win button(“delete order”).wait
property”enabled”,true,17000

Navigation for increasing the default time:-


 Activate the menu item test
 Select the option settings
 Select the run tab
 Specify the desired time in milliseconds in the object synchronization
time out field
 Click on apply and ok

Syntax for Wait Statement:


Wait (time in seconds)
Example: Wait (17)

Data Driven Testing: -


Data driven testing is a concept introduced in the automation in order to implement
re- testing
Steps to be followed to perform data driven testing:
 Collect the test data in to the data table
 Generate the basic test
 Parameterize the test
 Execute the Test
 Analyze the result
Parameterization:
Parameterization is a process of replacing the constant values with parameters or
variables in order to increase the scope of the test. Parameterize can be done in three ways
1.Through data driver wizard
2.Through key word view
3.Manually
crp.testing@gmail.com 58
Navigation Through Data Driver Wizard:
 Activate the menu item tools
 Select the option data driver
 Click on parameterize
 Click on next
 Click on the parameter option button
 Select the desired column name
 Click on ok
 Click on next
 Click on finish
 Finally click on ok

Navigation Through Key word view:


 Go to key word view
 Select the desired constant value
 Click on configure the value button
 Select the option parameter
 Select the desired column name
 Click on ok

To avoid the above navigation one can directly type manually as follows:

A= datatable(“v1”,1)
Vbwindow(“form1”).vbedit(“val1”).set A
B= datatable(“v2”,1)
Vbwindow (“form1”).vbedit(“val2”).set datatable(“v2,1)
Vbwindow(“form1”).vbbutton(“Add”).Click
Vbwindow(“form1”).vbedit(“res”).check checkpoint(“RES”)

Navigation for parameter zing the check point:


 Right click on the check point statement
 Select the option check point properties
 Select the option parameter
 Click on the parameter options button
 Select the desired column name
 Click on ok
 Once again click on ok

4.OUT PUT VALUE: -


Out put value is a feature provided by QTP, which is used for capturing a value
from an application or from a database or from a XML file and stores it under specified column in
the runtime data table

Operational overview of out put value: -


The out put value feature works in two phases
1. Pre-Execution Phase
2. While –Execution Phase
1.Pre-Execution phase:
It will capture the field name from which it need to capture the value

crp.testing@gmail.com 59
It will generate the corresponding script
2.While-Execution phase:
Captures the actual value from the field
Stores it under a specified column in the run time data table

Types of Out Put Values:


There are five types of out put values…

1.Standard Out Put Value: - It is used for capturing property value of a standard GUI
object
2.Text Out Put Value: - It is used for capturing the text present on a specified object
3.Text-Area Out Put Value: - It is used for capturing the Text present in a specified area
4.Data Base Out Put Value: - It is used for capturing a value from the database
5.XML Out put Value: - It is used for capturing a value from the XML file

Navigation for Standard Out put value through application:


 Keep the cursor in the desired location
 Keep the tool under recording mode
 Activate the menu item insert
 Go to out put value
 Select the option standard out put value
 Click on the desired object in the AUT
 Click on OK
 Select the desired property to be captured
 Click on modify
 Specify the desired column name
 Click on Ok
 Once again click on ok
 Stop recording

Navigation For standard check point through Active Screen

 Keep the cursor under the desired location


 Click on active screen
 Right click on desired location
 Click on insert output value
 Click on ok
 Select the desired property
 Click on modify
 Specify the desired column name
 Click on ok
 Once again click on ok.

5.Inserting the transaction points for measuring the transaction: -

It is a concept introduced in QTP which is used for calculating the time taken by an
application to perform a specific task or the execution time of a block of statement
To do the same QTP has provided two options
crp.testing@gmail.com 60
1.Start transaction
2.End transaction
Navigation for inserting transaction points:
 Keep the cursor in the desired location
 Activate the menu item insert
 Select the option start transaction
 Specify the transaction name
 Select one of the following option
o Before currant step
o After currant step
 Click on ok

To avoid the above navigation one can directly type the following statements
manually in the desired location
Services.start transaction ”transaction name”
-----------------------------------
-----------------------------------
------------------------------------
Services.end transaction ”transaction name”

6.Inserting the Programmatic statements: -

There are five types of programmatic statements in the V.B script


1.Normal statements (or) Object calls
2.Conditional statements
3.Looping statements
4.Comments
5.Utility statements

Reporter utility object: -

It is used for reporting an user defined message to the result window

SYNTAX: Reporter.reportevent status,”object name”,”message”


Example:Reporter.reporevent micdone,”my report”,”add button is working fine”.

Status:
Pass 0
Fail 1
Done 2
Warning 3

IV. Debugging The Test:

Debugging:
Debugging is a process of executing the script or aprogram in a user desired passion
with some temporary breaks in order to identify the errors
To do the same QTP has provided step commands and break point feature.

crp.testing@gmail.com 61
Step commands: -
There are three step commands
1.Step into
2.Step Out
3.Step over

1.Step into:
Step into is used for executing a single statement then it will step in to the function
or action and stops the execution.
2.Step Out:
Step out is used for executing 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 execution
3.Step Over:
Step over is used for executing the single statement if that statement is a function
call or action call then it will execute all the statements in side the function or action once and
stops the execution

Break Point:
Break point is the feature provided by QTP, which is used for breaking the
execution temporarily

Navigation:
 Activate the menu item debug
 Select the desired option

Example
Function my func( )
Msg box “Hai”
Msg box “hellow”
Msg box “How r u”
End function

 My func
Msg box “bye”
My func
Msg box”see u”
My func
Msg “welcome”

Debug viewer Pane:


Debug viewer pane is used for viewing, modifying or setting the currant
value of the variables or expressions during the execution break with the help of three tabs by
name
1.watch expressions
2.Variables
3.Command
Dim a
A= 10
B= 20
 Msg box a
crp.testing@gmail.com 62
 Msg box b
 Msg box a

V. Executing the Test:


In this phase one will execute the test

VI. Analyzing the results:


In this phase one will analyze the results..

ADVANCED CONCEPTS

Regular Expressions: -

crp.testing@gmail.com 63
When ever the QTP is unable to identify the objects due to the regular changes in
the objects properties values dynamically during the execution then to overcome this problem one
need to replace the corresponding property value in the object repository with a suitable regular
expression

Navigation:
 Open the object repository
 Select the desired object in the object hierarchy
 Select the desired property in the properties list
 Click on the constant value options button
 Replace the constant value with suitable regular expression
 Select the check box regular expression
 Click on ok
 Click on ok

Batch Testing Or Batch execution: -


Executing a group of script files at a time is known as batch execution. To do the
same QTP has provided a special tool by name test batch runner
Before using the test batch runner one need to do the following settings in QTP
 Activate the menu item tools
 Select the opt option
 Select the run tab
 Select the check box allow other mercury products to run tests
and components
 Click on ok

Navigation for test batch runner:

 Start ProgramsQuick test ProfessionalToolsTest batch runner


 Once the test batch runner is opened add all the desired script files and save it as
a batch file with .mtb extension

When ever required open the batch file and execute it

Recovery Scenarios:
During the execution QTP may face some problematic situation where in it needs to
recover by itself and continue the execution. To do the same a test engineer would have defined a
solution well in advance and made it available to the currant test before starting the execution.
QTP may face four types of problematic situations
1.Problems related to pop-up window
2.Problems related to object state
3.Problems related to test execution
4.Problems related to application crash

To define the solution for the above problems QTP has provided four trigger events
1.Pop up window
2.Object state

crp.testing@gmail.com 64
3.Test run error
4.Application crash

Navigation for object test:


 Activate the menu item tools
 Select the option recovery scenario manager
 Click on new scenario button
 Click on next
 Select the trigger event as object state
 Click on next
 Clixk on next
 Click on the hand icon
 Click on the desired object in the AUT
 Click on ok
 Click on next
 Specify the desired properties with the help of add/remove
button
 Click on next
 Once again click on next
 Select the recovery operation as function call
 Click on next
 Browse the desired library file
 Select the option define new function
 Specify the desired function name
 Write the body of the function
 Click on next
 Deselect the check box add another recovery operation
 Click on next
 Specify the desired scenario name
 Click on next
 Select the desired check boxes
o Add scenario to the currant test
o Ass scenario to default test settings
 Click on finish
 Click on save
 Browse the desired location and save the file by specifying a
file name with .QRS extension
 Click on close
Environment Variables:
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 when ever the values need to be updated in different
environments one can update them very easily in the environment

So all the tests using those variables will be automatically updated such kind
of variables separately declared in the environment file are known as environment variables
There are two types of environment variables
1.Built in variables
2.User defined variables
crp.testing@gmail.com 65
1.Built in variables:
These variables will be by default available with all the tests so that on can
directly use them in any test with the following syntax

SYNTAX: environment.value(“built invariable name”)


Example: var = environment.value(“05”)
Msg box var

2.User defined variables:


These variables need to e declared by us according tour need and need to be
stored in a separate environment file. Whenever required one need to associate these files to the
currant test and use those variables

Navigation for creating an environment file with environment variables:


 Activate the menu item test
 Select the option settings
 Select the environment tab
 Select the variable type as user defined
 Click on new
 Specify the variable name and the value
 Click on ok
 Click on export
 Browse the desired location
 Specify the desired file name with .XML extension
 Click on save

To avoid the above navigation one can directly develop the XML file as follows

<environment>
<variable>
<name> flight path </name>
<value>”d:\program files\mercury” </value>
</variable>
<variable>
<name> b </name>
<value>203</value>
</variable>
</environment>

Navigation for associating an environment file to the currant test:


 Activate the menu item test
 Select the option settings
 Select the environment tab
 Select the variable types as user defined

crp.testing@gmail.com 66
 Select the check box load variables and value from ecternal
files
 Browse the path of the environment file
 Click on apply and ok
In order to avoid the above navigation one can directly type the following script
statement in the starting of the script

Syntax: environment. Load from file “path of the env file”

Example: environment. Load from file”d:\envfile122.xml” invoke application


environment. Value(“flight Path”)

Virtual object configuration:

Virtual object configuration is a process of making the QTP t treat a specified area
or an user defined object as a specific object

Navigation:
 Activate the menu item tools
 Go to virtual objects
 Select the option new virtual object
 Click on next
 Specify the desired class(type) of the object
 Click on next
 Mark the area in the application with the help of mark object button
 Click on next
 Select one of the following options
o Entire parent hierarchy
o Parent only
 Click on next
 Specify the desired object name
 Specify the desired collection name
 Click on finish

Virtual object manager:


Virtual object manager is a feature provided by QTP which is used for
creating and managing the virtual objects

Once a virtual object is created it will be available to all the tests unless until we delete
it.

Framework:
Framework is a generic work (outline work) or a set of guidelines designed by an
expert to perform a task in an effective, efficient and optimized way

Types of frame works: - (Mainly)


1. Linear frame work
2. Modular frame work
3. Key-word driven frame work
4. Hybrid frame work
crp.testing@gmail.com 67
5. Data frame work

1.Linear Framework
 Generate the basic test
 Enhance the test
 Debug the test
 Execute the test
 Analyze the test
2.Modular Framework:
 Develop the individual components for each and every task
 Make them as reusable components
 Prepare the required drivers based on the end to end scenarios
 Execute the drivers
 Analyze the result

Actions
ACTIONS: Action is a set of script statements used for performing a specific task
Types of Actions:
There are three types of actions
1.Normal actions
2.Re-usable actions
3.External actions
Note: External actions are not editable .The re-usable actions called in another test are known as
external actions

Operations On Actions:

Navigation for inserting a new action:


 Activate the menu item insert
 Select the option call to new action
 Rename the desired action
 Select the one of the following options
o At the end of the test
o After the currant step
 Click on ok
Navigation for splitting an action in to two actions:
 Save the action
 Keep the cursor on the first statement of the second path
 Activate the menu item step
 Select the option split action
 Select one of the following options
o Independent of each other
o Nested
 Specify the desired action name
 Click on ok

Navigation for making an action as reusable action:


 Select the desired action
 Activate the menu item step
 Select the option action properties
crp.testing@gmail.com 68
 Select the check box reusable action
 Click on ok
Navigation for renaming the action:
 Activate the menu item step
 Select the option action properties
 Specify the desired name
 Click on ok
Navigation for calling on existing action:
 Activate the menu item insert
 Select the option call to existing action
 Browse the desired test
 Select the desired action
 Select one of the following options
o At the end of the test
o After the currant step
Click on ok

Key word driven framework:


 Create the folder structure as follows

 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
 Open the main test and associate all the required files to each
 Develop the script in such a weather it executes based on the
key words specified in the data table
Example:

Var= data table (“keys”,1)


Select case var
Case “L1”
Login( )
Ins ord( )
Logout( )

crp.testing@gmail.com 69
Case”L2”
Openord( )
Logout( )
Case “L3”
Login( )
Logout( )
End select

 Specify the desired key words 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

Methods
First method – Capture bitmap:
It is used for capturing a snap shot of an object or an window during
executin and stores it in the desired location

Syntax: Object hierarchy.capturebitmap “Path of the location with a file name.bmpextension”


Example:
Window(“flight
Reservation”).dailog(“openorder”).winbutton(“ok”).capturebitmap”D:\fl_automation\b1.bmp”

Second Method- Exist method:


It is used for checking the objects existence if the object is existing then it will
return a value True, and make the QTP to continue the execution, If at all the object
is not existing it will make the tool to wait till object exists. Once the object exists it
will return true and make the QTP to continue the execution. If at all the object is
not existing up to the maximum time then it will return false and make the QTP to
continue the execution

Syntax: variable=object hierarchy.exists(time in seconds)


Example: Var= window(“flight reservation”).exists(12)

Wait property:
Wait property is used for making the tool to wait based on the object properties
value
Syntax: object hierarchy.wait property “property name”, property value, extra time in mille
seconds

Wait: it is used for making the tool to wait till the specified time is elapsed.
Syntax: Wait” Time in seconds”

Simple and regularly used methods: -

crp.testing@gmail.com 70
The first method among those is click method.

1. Click method: -
Click method is used for clicking on specified object
Syntax: Object hierarchy.click(x,y,[button] )

2. Double click: -
It is used for double clicking on a specified object
Syntax: Object hirerarchy.dblclick(x,y, [button])

3.Set Method: - Set method is used for setting a value in to an edit box or selecting or deselecting
acheck box or selecting a radio button
Syntax: Object hirerearchy.set”value”
Object hierarchy of check box.set “on/off”
Object hierarchy of radiobutton.set

Case study-1:
Develop the script customer id, custname, currant age, cust phone number and clicking
on submit button
Cust
Cust Id:

Cust Name:

Cust Age:

Cust Ph no:

Submit

Vbwindow(“cust”).vbedit(“cust”).set.”Custid”
Vbwindow(“cust”).vbedit(“custname”).set”name”
Vbwindow(“cust”).vbedit(“custage”).set”age”
Vbwindow(“cust”).vbedit(“custphno”).set”phoneno”
Vbwindow(“cust”).vbutton(“submit”.click

Second Case study


Testing Tools
Develop the script of selecting Testing tools, sql server, live projects check boxes and
SQL Server
clicking on next button..
QTP
Live Project

crp.testing@gmail.com
NEXT 71
Vbwindow(“mindq”).vbcheckbox(‘testingtools”).set”on”
Vbwindow(“mindq”).vbcheckbox(“sqlserver”).set”on”
Vbwindow(“mindq’).vbcheckbox(“liveproject”).set “on”
Vbwindow(“mindq”).vbbutton(“next”)click

Third Case Study

Develop the script for deselecting the testing tools check box,selecting the QTP and live
project check boxes and clicking on next button

Testing Tools
SQL Server
QTP
Live Project

Vbwindow(“mindq”).vbcheckbox(“testing tools”).set “off”


Vbwindow(“mindq”).vbcheckbox(“QTP”).set”ON”
Vbwindow(“mindq”).vbcheckbox(“liveprojects”).set”on”
Vbwindow(“mindq”).vbbutton(“next”).click

Name
Fourth Case Study:
Age
Develop the script for entering the name, age, country, and selecting the gender, selecting the check
box photo profiles only and clicking on search button
Country

Matrimony
o Male
o Female
 Photo profiles
only
crp.testing@gmail.com
SEARCH 72
Vbwindow(“matrimony”).vbedit(“name”).set”sri balaji”
Vbwindow(“matrimony”).vbedit(“age”).set”25”
Vbwindow(“matrimony”).vbedit(“country”.set “India”
Vbwindow(“matrimony”).vbradiobutton(“female”).set
Vbwindow(“matrimony”).vbcheckbox(“photo profile only”).set “on”
Vbwindow(“matrimony”).vbbutton(“search”).click

Select Method:
Select method is used for selecting an item in a combo box or a list box

Syntax:Object hierarchy.select”item name”

Fifth Case Study:

Traintrain
Develop the script for entering No:number, train name, date of journey, selecting starting point,
selecting destination point, selecting berth, selecting class
Train Name:
RES Date of Journey:

From

To

UB First A/c
LB Second A/C
MB Third A/C
Sleeper

 Break Fast
 Lunch
 Dinner

crp.testing@gmail.com NEXT 73
Vbwindow(“res”).vbedit(”trainno”).set”2085”
Vbwindow(“res”).vbedit(”Trainname”).set”Godavari”
Vbwindow(“res”).vbedit(”Date of journey”).set”15-aug-08”
Vbwindow(“res”).vbcombobox(“from”).select “Sec”
Vbwindow(“res”).vbcombobox(“To”).select”Tpg”
Vbwindow(“res”).vbradiobutton(“LB”).set
Vbwindow(“res”).vbradiobutton(“sleeper”).set
Vbwindow(“res”).vbcheckbox(“breakfast”).set on
Vbwindow(“res”).vbcheckbox(“dinner”).set on
Vbwindow(“res”).vbbutton(“next”).click

Activate Method:
It is used for activating a window or a dialog.
Syntax: Object hierarchy. Activate

Close Method:
It is used for closing the window or a browser
Syntax: Object hierarchy. Close

Set Secure:
Set secure method is used for setting an encrypted data in to an edit box

Type Method:
Type method is used for performing any kind of key board related operation
Syntax: Object hierarchy. Type key value
Example:
Dialog (“login”). Winedit(“agent name”).type mic tab

Descriptive Programming: -
If at all the objects description is specified in the program itself then that type of programming is
known as descriptive programming

Dialog(“text:=login”,”width:=320”).windedit(“attached test:= Agent Name:”)


Dialog(“text:=login”).winedit(“attachedtext:=password:”).setsecure xxxxxx
Dialog (“text:=login”).winbutton(“text:=ok”).click

crp.testing@gmail.com 74
Window(“text:=flight reservation’).close

GetRoProperty:
It is used for getting the currant value of the runtime objects property
Syntax: Variable=Object hierarchy.getroproperty(“property name”)
Sixth Case Study:
Develop the script for clicking on a ok button if it is existing and enabled otherwise the corresponding
message should be reported to the result window

Form 1

OK

Var= vbwindow.(‘form1”).vb button(“ok’).exixts


If( var=true) then
Var2= vbwindow.(“form1”).vbbutton(“ok”).getroproperty(”enabled”)
If(var2=true) then
Vbwindow.(“form1”).vbbutton(“ok”).click
Else
Reporter.report edit,3,”my report”,”Ok button is visible”
End if
Else
Reporter.report edit,3,”my report”,”form dowsnot exists”
End if

Seventh Case study:


Develop the script for selecting the product id, entering quantity, clicking on cal button and checking
weather it is working fine or not

PRODUCT

PID

PNAME

PRATE

QUANTITY

AMOUNT

CAL

crp.testing@gmail.com 75
Vbwindow(“product”).vbcombobox(“pid”).select “007”
Q=5
R=vbwindow(“product”).vbedit(“prate”).getroproperty “Text”
EV=r*q
Vbwindow(“product”).vbedit(“quantity”.set q
Vbwindow(“product”).vb button(“cal”).click
AV=vbwindow(“product”).vbedit(“amount”).getroproperty “text”
If (EV=AV) then
Reporter.reportevent, 0,”my report”,”cal button is working”
Else
Reporter.report event,3,”my report”,”cal button is not working”
End if

Simple VB script functions used for comparisons and calculation: -

1. CINT: Used for converting a value in to integer value

2.CSTR: It is used for converting a value in to string

3.CDBL: It is used for converting a value in to Boolean value

4.CBOOL:It is used for converting any value in to Boolean value

5.LTRIM: It is used for trimming the left side spaces

6.RTRIM: It is used for trimming the right side spaces

7.TRIM: It is used for trimming the both side spaces

8.LEFT: It is used for getting the left side sub string


SYNTAX::var=left(string or variable, no of chars)
9.RIGHT: It is used for getting for right side sub string
SYNTAX::var= Right(string or variable, no of chars)

10.MID: It is used for getting the middle sub string


SYNTAX: var=mid (string or variable, starting char no, no of chars)

11.UCASE: It is used for converting a string in to upper case

12.LCASE: It is used for converting a sting in to lower case

13.Round: It is used for rounding any decimal value to nearest highest integer

crp.testing@gmail.com 76
Eight-case study:
Develop the script for selecting product id, quantity, clicking on cal button, If it is existing and enabled
and checking weather it is working fine or not

Product

PID

PNAME

PRATE

QUANTITY

AMOUNT

CAL

Vbwindow(“procuct”).vbcombobox(“productid”).select “007”
Q=10
Vbwindwo(“product”).vbedit9”prate”).getroproperty(Text”)
R= vbwindwo(“product”.vbedit(“prate”.getroproperty(“text”)
Ev=R*Q
Var1= vbwindow(“product”).vbbutton(“cal”).exists
If cstr(var1)=cstr(true) then
Var2=vbwindow(“product”).vbbutton(“cal”).getroproperty”exists”
If cstr(var2)=cstr(true) then
Vbwindow(“product”).vbbutton(“cal”).click
Av=vbwindow(“product”).vbedit(“amount”).getroproperty(“text”)
If cint(Av)=cint(Ev) then
Reporter.report event micpass,”myreport”,”result is pass”
Else
Reporter.reportevent mic fail,”my report”,”result is fail”
End if
Else
Reporter.reportevent mic warning,”my report”,”cal button does not exists”
End if
Else
Reporter.reportevent mic warning,”my report”,”cal button is disabled”
End if

Get to property:
crp.testing@gmail.com 77
Gettoproperty is used for getting the text objects properties value

SYNTAX: var= object hierarchy.gettoproperty (“property name”)


Example: var= vbwindow9”form1”).vbbutton(“add”).gettopropery(“text”)

Note: Text objects property means the properties present in the object repository+properties present
in the secret place

Set to property:
Settoproperty Is used for setting the text objects properties value temporarily during the execution
SYNTAX: Object hierarchy.settoproperty “property name”,”property value”

Tenth case study:


Develop a script for clicking ona button for three times whose text property value will be dynamically
changing from start to stop and stop to start
OR

Form 1 SPB

NC:Button
START Text:start

Vbwindow(‘form1”).vbbutton(“spb”).click
Vbwindow(“form1”).vbbutton(“spb”).settoproperty “text”,”stop”
Vbwindow(“form1”).vbbutton(“spb”).click
Vbwindow(“form1”).vbbutton(“spb”).settoproperty “text”,”start”
Vbwindow(“form1”).vbbutton(“spb”).click

DATA TABLE METHODS

Data table methods:


Data table methods are used for performing the operations on the runtime data table

1. Add- sheet: It is used for adding the new sheet for the runtime data table
SYNTAX: Data table.add sheet”sheet name”
2.Delete- sheet: It is used for deleting a specified sheet from the run time data table
SYNTAX: Data table.delete sheet”sheet name”

crp.testing@gmail.com 78
3.Import: It is used for importing the data present in all the sheets in an excel file to the runtime data
table
SYNTAX: Data table.import ”path of the excel file”
4. Import Sheet: It is used for importing specified sheet of data from the excel file to the specified
sheet in the runtime data table
SYNTAX: Data table. Import sheet “path of the excel file, source sheet id, destination sheet id”

5.Export: It is used for exporting the complete data present in the run time data table to a specified
location
SYNTAX: Data table. export “Path of the location with a file name.xls extension

6.Export Sheet: It is used for exporting the data present in a specified sheet in the run time data table
to a specified location
SYNTAX: Data table .export sheet “path of the location with a file name.xls extension”, sheet id to be
exported.

7.Set currant row: It is used for making the QTP focus on a specified row
SYNTAX: Data table. Set currant row (row number)

8.Set next row: It is used for making the QTP focused on the next of the currently focused row
SYNTAX: Data table. Set next row

9.Set Prev Row: It is used for making the QTP focus on the previous row of the currently focused tow
SYNTAX: Data table. Set prev row

10. Value Method: It is used for getting a value from a specified sheet, specified column and currently
focused row.
SYNTAX: Variable= Data Table. Value ( “column name”, sheet id)

11. Get Sheet: It is used for making the QTP to focus on a specified sheet
SYNTAX: Data table. Get sheet (sheet id)

12Get Row Count: It is used for getting the row count of a global sheet
If at all one wants to get the row count of a specified sheet first of all they need to make the QTP to
focus on a specified sheet and then get the row count

SYNTAX 1: Variable= Data Table. Get row count


SYNTAX 2: Variable= Data Table. Get sheet (“sheet id”). Get row count

Example:
Data table. Addsheet “ Sri”
Data table.import sheet “e:\Sri\td122.xls,1,3
N=Data table.get sheet( 3).getrowcount
For i= 1 to n
Data table. Set currant row( i )

crp.testing@gmail.com 79
Vbwindow(“form1”).vbedit(“val1”).set data table(“v1”,3)
Vbwindow(“form1).vbedit(‘val2’).set data table(“v2”,3)
Vbwindow(”form1”).vbbutton(“add”).click
Exp val= data table.value(“ev”,3)
Act val= vbwindow(“form1”).vbedit(“res”).getroproperty(“text”)
If (exp val= act val) then
Data table (“res”,3)= “pass”
Else
Data table (“res”,3)= “fail”
End if
Next
Data table.export sheet “D;\fl_automation\log\file2.xls”,3
Data table.delete ‘Sri”

Input/Out put Parameters:

One ca pass number of values in to the function while calling and a function can
return only one value.

Example:

Function add(a,b) Main program


Res= a+b Add(10,20)
Add= res Msg box var
End function

Input/Out put parameters concept is used for passing some values in to the action to return some
values once the execution is finish
To do the same one has to declare the desired number of input parameters and out put parameters at
the action, which is about to be called

Navigation:
 Activate the menu item test
 Select the option action properties
 Select the parameters tab
 Declare the desired number of input/output parameters
 Using the corresponding add buttons
 Click on OK

crp.testing@gmail.com 80
Exmaple
vbwindow("Form1").VbEdit ("val1").set parameter ("a")
vbwindow("Form1").VbEdit("val2").Set parameter ("b")
vbwindow("Form1").VbButton("ADD").Click
var= vbwindow("Form1").VbEdit("res").GetROProperty "text"
parameter ("c")= var
vbwindow("Form1").Vbbutton("SUB").Click
var1=vbwindow("Form1").VbEdit("res").GetROProperty "textA"
parameter ("d")=var1
vbwindow("Form1").VbButton("CLEAR").Click

At the calling point one need to specify the input values in a sequence separated by
commas and the variable names in a sequence in order to catch the return value

Example: Take the new test

Run action "action1[inout122]", one iteration,20,30,r1,r2


msg box r1
msg box r2

Automation Object Model

Automation object model: (AOM)


Automation object model is a concept provided to automate the operations on QTP
through scripting

Dim qtapp
Dim qttest
Set qtapp= createobject (“quicktest.application”)
Qtapp.launch
Qtapp.visible= true

Qtapp.open”d:\aom1”, true
Set qttest=qtapp.test
Qttest.run
Qttest.close

Qtapp.open “d:\aom122”, true


Set qttest= qtapp.test

Qttest.run
Attest.close

Qtapp.quit

crp.testing@gmail.com 81
Data Base Connection

M.S Access Connection:


Dim con, rs
Set con = createobject("adodb.connection")
Set rs= createobject("adodb,recordset")
con.provider= "microsoft.jet.oledb.4.0”)
con.open "d:\test data.mbd"
rs.open "select * from info", con
Do while not rs.eof
vbwindow("Form1").VbEdit("val1").Set rs.fields("v1")
vbwindow("Form1").VbEdit("val2".set rs.fields("v2")
vbwindow("Form1").VbButton("add").Click
rs.movenext
Loop

Oracle connection:
Con .open “provider =oraoledb.1;server=local
host;uid=scott;pwd=tiger;database=testdata;”

SQLServer connection:
Con.open provider= sqloledb.1; server=local host; uid=sa; pwd=; database= test data;”

QTP 9.0,9.1,9.2
crp.testing@gmail.com 82
QTP 9.0:
 Test menu item is renamed as Automation
 Settings option is moved from test menu item to file menu item
 Quality center connection option is moved from tools menu item to file menu
item
 Step menu item is removed and all the options present under it are kept in the
edit menu item
 A new menu item window is introduced used for managing the window
 A new option by name function definition generator is introduced which is used
for creating the functions easily
 New options are provided for commenting and un commenting the block of
statements
 A new option by name check syntax is introduced under tools menu item used
for checking the syntax of script
 Some of the options related to the resources like object repository, recovery
scenario manager are moved from tools menu item to a new menu item
resources
 A new menu item resourced is introduced with some new options like object
repository manager and associate repositories
 Object repository manager is used for creating and managing the shared
repositories with out having any connection to the test

Anatomy of QTP 9.0:

QTP 9.0 screen can be divided in to 7 parts


1. Test pane
2. Active screen
3. Data table
4. Debug viewer pane
5. Tool Options
6. Information screen
7. Missing resources screen

6.Information screen:
Information pane is used for viewing the syntax related information during the syntax
Check
Main change: One can associate one or more shared repositories to an action a part from its local
repository

7.Missing resources:

crp.testing@gmail.com 83
When the test is being open if at all any associate resources like repositories, library files, recovery files
are missing then the complete information related to that will be shown in the missing resource pane

QTP 9.1:
 A new feature by name navigate and learn is introduced present in multiple
pages or windows continuously by navigating
 A new feature by name object repository comparison tool is introduced which is
used for comparing two shared repositories
 QTP 9.1 is compatible with windows vista operating system and .net frame 2.0
environment
 The script editor is made user friendly
 The company has announced that they will provide license for all the add ins also

QTP 9.2:
 A new feature by name screen recorder is provided which is used for recording
the movie of the execution and that can be played back during the result analysis
for better understanding
 One can handle the object repositories dynamically through scripting with the
help of an utility object repositories collection
Example:

Repath= “d:\r1.tsr
Repositories collection.remove all( )
Repositories collection.add(repath)
vbwindow("Form1").VbEdit ("val1").set “10”
vbwindow("Form1").VbEdit("val2").Set “20”
vbwindow("Form1").VbButton("ADD").Click

Pos= repositories collection.find(repath)


Repositories collection.remove(pos)

 Object spy functionality is enhanced in such a weather one can view multiple
objects information continuously by keeping the mouse pointer over the object
 QTP 9.2 is compatible with the following browser
 Internet explorer 7.0
 Mozilla fire fox2.0
 Net space navigation 8.1.0

dynamic handling repositories

Repositories
collectionRemoveAll

crp.testing@gmail.com 84
repositoriescollection.add"C:\Documents and Settings\srss\Desktop\asa.tsr"

VbWindow("CALCULATOR").VbEdit("VALUE1").Set "10"
VbWindow("CALCULATOR").VbEdit("VALUE2").Set "20"
VbWindow("CALCULATOR").VbButton("ADD").Click

database connections

Dim con, rs
Set con = createobject("adodb.connection")
Set rs= createobject("adodb.recordset")
con.provider= ("microsoft.jet.oledb.4.0")
con.open "d:\dbc.mdb"
rs.open "select * from dbc1", con
Do while not rs.eof

VbWindow("Form1").VbEdit("VALUE1").Set rs.fields("v1")
VbWindow("Form1").VbEdit("VALUE2").Set rs.fields("v2")
VbWindow("Form1").VbButton("ADD").Click
rs.movenext
loop

input output parameters

vbwindow("Form1").VbEdit ("val1").set parameter ("a")


vbwindow("Form1").VbEdit("val2").Set parameter ("b")
vbwindow("Form1").VbButton("ADD").Click

var = vbwindow("Form1").VbEdit("res").GetROProperty("text")
parameter ("c")= var
vbwindow("Form1").Vbbutton("SUB").Click
var1=vbwindow("Form1").VbEdit("res").GetROProperty("text")
parameter ("d")=var1
vbwindow("Form1").VbButton("CLEAR").Click

crp.testing@gmail.com 85
descriptive

Dialog("Login").Activate
Dialog("text:=login","width:=320").winedit("attached text:= Agent Name:").set"akhil"
Dialog("text:=login").winedit("attachedtext:=password:").setsecure"mercury"
Dialog ("text:=login").winbutton("text:=ok").click

QUALITY CENTER
Introduction:
Type of the tool: Management tool
Company: Introduced by mercury & taken over by HP
Scripting language: there is no script language
Version: 9.0
Definition: Quality center is a management tool which is used for managing the
whole testing process &also provide the following facilities.
 Common repository facility
 Automation tractability facility
 Bug tracking tool facility
 Automatic reports & graphs generation facilities

Quality center Architecture:


Site administrator Business components
Requirements
Quality center Test plan
Test lab
Defects
Dash board
Site administrator: site administrator is used for the following creating,
modifying, deleting the domains
i. creating, modifying, deleting the projects
ii. creating, modifying, deleting the roles
iii. assigning roles to the project & all the other administrative activities.
Quality Center: it has 6 modules
1. Business module: this module is used by the subject matter experts (SME)
to design the components for all the end to end scenario of an application
which belongs to a critical domain. Once the business components
designed based on than the test engineers will develop the test & perform
crp.testing@gmail.com 86
testing on the application. This type of testing is known as Business
process testing.

2. Requirements: this module is used for the following


 It is used for adding the main requirements
 It is used for adding the child requirements
 It is used for viewing the direct cover status
 It is used for used for viewing the review status etc…

3. Test plan: this module is used for the following


 Creating the folder structure
 Creating the empty tests
 It provides the provision to launch the corresponding automated
tool for developing the tests
 It provides the provision to write the test cases
 It provides the provision to establish a link between tests &
requirements

4. Test Lab: It is used for the following


 It is used for creating the folder structure
 It provides the provision to build the test sets
 It provides the provision to executes test sets & individual test

Once the execution is done, analyzing the results than there is


chance do identifying

The defects, if at all any defects are found then one will use the
next module.
5. Defect Module: this module is very much similar to a bug tracking tool
which provides all the facilities for bug tracking & reporting.

6. Dash Board: dash board is a special module provided by Quality Center


which is used by the manager cadre people for generating common
reports access multiple projects.

Navigation:
 Open Quality center
 Site administrator
 Add-ins page

Navigation of Site administrator:

crp.testing@gmail.com 87
 User name
 Password
 login

Navigation for site users:


 Username
 Full name
 Email address
 Phone number
 Designation
 Ok

Navigation for Create no of users:


 Password
 Change password

Navigation for Site project:


 Create domain
 Name
 Create project
 Click on next button
 Project name
 Domain
 Click on next

Navigation for Assigning:


 Click arrow button
 Create
 Logout

Navigation for QC requirements:


 Name
 Password
 Authenticate
 Domain
 Project
 Login
 Add new requirement
 Name
 Login
 Invoke login
 Ok

crp.testing@gmail.com 88
Navigation for test plan:
 New folder
 New text
 Login
 invoke

TERMINOLOGY
1. Defect products: if at all the product is not justifying some of the
requirements but it is still usable, Then such type of product known as
defect products.
2. Defective products: if at all the product is not justifying some of the
requirements as well as it is not usable then such type of product known
as defective products.
3. Quality Assurance: QA is a department which checks each & every role in the
organization in order to conform whether they are doing their work
according to company process guide lines or not.
4. Quality Control: QC is a department which checks the developed products or
its related parts in order to conform whether they are working according
to the expectations or not.
5. NCR(Non Conformance Rate): Non conformance raised is a whenever the
role is not following the process then the penalty given for him is known
as NCR.
6. Inspection: It is a process of sudden checking conducted on the roles or
departments without any prior intimation.
7. Audit: it is a process of checking conducted on the roles and department
with prior intimation well in advance.
i. Internal audit: if at all audit is conducted by the internal
resource of the organization then it is known as internal audit.
ii. External audit: if at all audit is conducted by the external
people then it is known as external audit.

8. CAPA(Corrective Actions Preventive Action):


CA: if at all the role has come to a reparable situation then CA will be taking
care in order to connect the mistake.
PA: whenever roles come its irreparable mistake then the preview the
action should taking care in order to prevent such type of mistakes in
future.

crp.testing@gmail.com 89
9. SCM (S/w Configuration Management): Configuration management is a
process
in which one will mainly prefer two tasks
i. Change Control: it is a process of updating all the related documents
whenever some changes are made to the application in order to keep
the documents and the application in sink with each other.
ii. Version Control: it is a process of maintaining the naming
conventions & version numbers.
Ex: HMS - Adml _ TC 001  1.0
10. Common Repository:CR is a basically a server which can access by only
authorized
People where in they can store the information & require the information.
Check in is a process of uploading in the information into common
repository.
Check out is a process of downloading the information from the
common
repository.
Ex: VSS(Visual Source Safe)
CVS(Concurrent version system)
11. Baseline: it is a process of finalizing the document.
12. Publishing: It is a process of making the finalized documents available to the
relevant resource by uploading them into CR with special icon representation.
13. Release: It is a process of sending the application from the development
department to the testing department or from the company to the market.
14. Delivery: it is a process of handover the application from the company to the
client or from the market to the client.
15. SRN (S/w Released Note): it is not prepared by the technical department &
sent to the testing department contains of the following information
1. Build path information
2. Test Date PI
3. Deployment document PI
4. Known issues PI
5. Released manager name
6. Released date
7. Build Number
8. Vesrion number
9. Project name
10. Module name etc..,
16. SDN(S/w delivery Note): it is a document which contains the following
information
i. user manual
ii. Known issues

crp.testing@gmail.com 90
it is a prepared by the team of members under the project
manager guidance & will given to the customer during the delivery.
17. Review: it is defined as in the process of studying or process of cheating
depending upon the role involved in it.
18. Review report: it is an outcome document of review which may contain
either list of doubles or list of comments depending upon the involved in it.
19. Peer – review: it is a process of checking conducted by the colleagues at the
same level.
20. Peer- review report: it an outcome document of peer review which contains
the list of all the comments given during the peer-review.
21. Slip age: the extra time to accomplish a task is known as slippage.
22. Escalation: it is a process of intimating the issue related information to the
next level of authorities usually if will be done level by level.
23. Metrics: it is defined as clear measurement of task.
24. Traceability Matrix: it is a document which contains a table of linking
information used for tracing back for the reference in any kind of confusion or
Questionable situation.
25. Prototype: it is a roughly & rapidly developed model which is used for
demonist rating to the client in order gather the clear requirements & also to
win the confidence of a customers.
26. Benchmark: it is a defined as the standard it which usually we compared.
27. Change Request: it is a process of requesting the changes by the customers
to the company to do the same usually the customer use change request
document.
Ex: change request template
28. Impact Analysis: it is processes of analysis how much impact will fall on the
already developed part if at all accept those new changes at that point of time.
29. Test suite: it is a combination of different types of test cases.
Ex: i. regress test case ii. Retest test case
30. Test Bed: it is a combination of test suite & test environment
31. Defect age: the time gap between the opening date & the closing date is
known as defect age.
32. Latent Defect: the defect found date after some releases is known as a
latent defect.
33. Walkthrough: it is defined as informal meeting conducted with the roles
either transfer the knowledge or to check something.
34. Code walkthrough: it is a process of checking conducted on the source
code document in order to conform whether it is developed according to the
coding standards or not.

crp.testing@gmail.com 91
35. Code Optimization or fine tuning: it is a process of reading the no.of lines
of code or the complexity in the code in order to increase the performance of
the application.

36. PPM(periodic project meeting): it is a meeting conducted periodically in


order to discuss the status of the project usually they discuss the following
points.
1. % covered in the project during period
2. % not covered in the project during the period
3. tasks completed during the period
4. total defects metrics
5. Slippages
6. Reasons for the slippages
7. Technical issues
8. HR related issues

37. PPR (Periodic project report): it is a report prepared by the team lead before
the PPM is conducted by discussing with all of his team members related to all
of the above said points.

38. MOM (Minutes of meeting): MOM is a the outcome document of any


meeting which contains the list of all the important points discussed during that
meeting.

39. MRM (Management representation meeting): it is meeting conducted in


order to discuss the status of the company. Usually they discus the following
points
1. success rate & growth rate of the company
2. projects that are recently signed off
3. projects that are in a pipeline
4. customers appraisals
5. customers negative comments
6. Future plans
7. internal audit reports
8. Individual appraisals

40. Patch: whenever the test engineer suspends the build then the developers
will rectify the problems & release the same build as patch.

crp.testing@gmail.com 92
LOAD RUNNER

Performance for the Load runner: there are 2 categories of testing where
usually the block box test engineers will involve.
1. Functionally testing 2. Non functionally testing
1. Functionally testing: in this category one will perform testing on the
functionality of the application
2. Non functionality testing: In this category of testing one will perform testing
on the non – functional areas followed.
I. Comparability testing
II. Installation testing
III. Usability testing
IV. Volume testing
V. Performance testing

Performance testing: it can be divided in to 3 types


I. Load testing
II. Feature performance testing
III. Stress testing

Load testing: it is a type of testing in which one will apply some initial load,
gradually increases the load in order to find the critical load. Once the critical
load is found then they will comparative with the target load. If at all the critical
load gather than are equal to target load then it is concluded by the load test is
pass other wise fail.
Critical Load: the load beyond which application start degrade with performance
is known as critical load.
Target Load: the customer expected load is known as target load.

Feature performance test: it is a type of testing in which one will apply


predefined quantified request and calculate the responds time. If at all the
response time less than or equal expected time than the feature performance
testing is pass otherwise fail.
crp.testing@gmail.com 93
Stress testing: it is a type of testing in which one will perform some abnormal
action or use the application continues for long period of time in order to check
the stability of the application.
Draw backs of manual load testing:
 More number of human resources required
 Simultaneous action are important
 Co operation and co ordination are missing
 Can’t repeat the same task again and again in same task.
 Proper monitoring system is busy.

Introduction of Load Runner:


Type of the tool  performance tool
Company  Introduce by mercury interactive corporation & taken over by
HP
V user scripting language  version 8.0
Features provided by the load runner it over comes the drawbacks of manual
load testing:
 V users concept over comes the human resources problem
 Rendezvous point over comes the simony tentative problem.
 Load runner controller over comes the co- operation and co-
ordinate problem.
 Recording & playback facility over comes the repetitiveness
problem
 Load runner agent overcome the monitoring system problem

Load Runner Architecture:


L R- Agent process V-user generator

Load runner agent LR - controller

V - users
Analysis
Host
V – User generator: it is used for generating the basic script enhancing the script
checking whether the scripts properly or not and saving the script in terms
of a task.
L.R controller: it is vital compound of a l.r which is used for the following.
 Controlling the whole load of a load testing process
 Designing the scenario
 Executing the scenario

crp.testing@gmail.com 94
Scenario: it is defined as a situational package which describes how many no.of
V-users
need to be generate to which machine perform what task and for how long
duration. (or)
Scenario is defined a simulated real time situation.
L.G 1

25 V-user
Main machine
T1

L.G3
L.G 2

10 V -users 15
V-user
T1
T1

Load Runner agent process: it will receive a request from the LR controller and
launch the LR agent.
LR agent: he is also widely it which will do the following
 It will generate no.of requirements
 It will make them re use the perform the required task
 It will monitor each and re user during the execution
 It will send the observed information back to the LR control semantically
 Finally one the work is done it will kill the re-users.

Analysis: the analysis component will receive the consul dated raw result from
the L.R controller and converts them in to easy understandable report & graph
so that one can easily analyze the results.
Load Runner Life Cycle:
1. Load test planning
2. Creating the tasks
3. Designing the scenario
4. Executing the scenario
5. Analyzing the result

1. Load test planning: in this phase the load test lead will do the following.

 He will identify the components of load testing lab


crp.testing@gmail.com 95
 He will estimate how much minimum load can be generated by
each machine
 He will analysis the components
 He will analyze the peek timing &half peek timing of the
application
 He will analyze the climate conditions
 He will plan the no.of scenarios need to be designed & executed
 He will plan the initial load to be applied
 He will plan the loads to be gradually increased
 He will do the resource planning
 He will do the scheduling
 He will prepare load test plan document with all the above
analyzed information.

2. Creating the Task: in this phase one will generate the basic script,
enhance the script& save it in terms of a task using virtual user
generator.

Once a new test is opened in virtual user generator we can find 3 blocks
in it
1. V- user init
2. Action
3. V-user – end

V-user in it: whenever any task to be performed only once in the starting of
execution then the related script need to be generated in the v-user init
block.
Action: whenever same task need to be performed repeatedly again &again for
same long duration then the corresponding script can be generated in the action
block.
V-user End: whenever a task need to be performed only once at the end of the
execution then the related script need to be generated in the V-user end block.
Operational over view of running: during the execution Load Runner will not do
any actions on the front end applications. It will send the equal ant request
directly to the server.
Navigation for showing the browser during replay:
 Activate the menu item tool
 Select the option general option
 Select the display tab
 Select the check box show browser during replay

crp.testing@gmail.com 96
 Click on ok

Enhancements:
Transaction points: transaction points are provided for measuring request or
group of request.
Navigation:
 Keep the cursor in desired location
 Activate the menu item insert
 Select the option start transaction
 Specify the transaction name
 Click on ok

Rendezvous point: rendezvous point is used for making all the V-users to
perform an action simultaneously.
Navigation:
 Keep the cursor in the desired location
 Activate the option Rendezvous
 Specify the rendezvous point name
 Click on ok

Comments: comments are used for increasing the readability of script


Ex: /* *hai *hello *bye */
Break point: break point is a feature provided by Load Runner which is used for
breaking the execution team par ally.
Navigation:
 Keep the cursor on the desired statement
 Activate the menu item insert
 Select the option toggle break point

Check points: there are two check points inn Load Runner
1. Text check
2. Image check
1. Text check: it is used for checking whether the expected text is responding
by the server whenever it is under load.
Navigation:
 Beep the cursor in the desired location
 Activate the menu item insert
 Select the option new step
 Expand the web checks
 Select the option text check

crp.testing@gmail.com 97
 Click on ok
 Specify the expected text
 If required specify the right of & next of text
 Click on ok
2. Image check point: it is used for checking whether th e expected image is
responded by the server whenever it is under load
Navigation:
 Keep the cursor in the desired location
 Activate the menu item insert
 Select the option new step
 Expand web checks
 Select the option Image check
 Click on ok
 Specify the after native image name
 Specify the image server file name
 Click on ok

Parameterization: it is a process of replacing the constant values in the


script with variables
or parameters in order to increase the scope of the test.
Navigation:
1st style:
 Select the desired constant value in the script
 Right click on it
 Select the option replace with a parameter
 Specify the parameter name
 Click on ok
 Select the parameter & right click on it
 Select the option parameter properties
 Specify the desired value with the help of edit with note pad
 Specify the column setting
 Specify how to select the next row
 Specify when to update value
 Click on close

Navigation: 2
 Activate the menu item V-user
 Select the option “parameter list”
 Click on new
crp.testing@gmail.com 98
 Specify the parameter name
 Click on create a table
 Specify the values with the help of edit with note pad
 Specify the column settings
 Specify the now to select next row
 Specify when to update value
 Close the parameter list window
 Select the constant value in script
 Right click on it
 Go to use existing parameters
 Select the desired parameter name.

Co-Relation: correlation is a process of capturing the dynamic data generated


by the server & using that data. In the script when ever required in order to
made the script execution successful on the highly secured applications also
correlation can be done in 3 stages.
1. Automatic correlation during recording
2. Automatic correlation after executing the script at least once
3. Manual correlation

1. Navigation for automatic correlation during recording:

 Activate the menu item tools


 Select the option recording option
 Select correlation option
 Select the check box enable correlation during recording
 Click on ok

2. Navigation for correlation after executing the script at least once:

 Activate the menu item V-user


 Select the option scan action for correlations
 Go to correlation results window
 Click on correlation all button

3. Steps for Manual correlation:

 Record two identical steps


 Compare those scripts with “w diff” tool (tool < compare with V-user)

crp.testing@gmail.com 99
Replace the required constant with variable & write the following
steps on top of that web-req-save- para(“{ variable name}”, LB =
………..”, “RO = .”, LAST);

Think time: think time is just like wait statement in QTP which makes the V-
users wait between request & request In order to simulate the real usage of
server by real users.
Syn: lr-think-Time(17);
Navigation for replaying the think time:
 .activate the menu item V-user
 Select the option runtime settings
 Select the option think time
 Select the option replay think time & also sub options
 Click on ok

Design the scenario: are can design the scenario using the design tab in the
controller
Navigation:
 Click on add group
 Specify the group name
 Specify the V-user quantity
 Specify the load generator name
 Specify the task
 Click on ok
 Click on edit schedule
 Select the one of following options
o Schedule by scenario
o Schedule by group
 If at all schedule by scenario is selected do the ramp up, duration, ramp
down settings

 If at all schedule by group is selected do the start time, ramp up, duration
& ramp down
 Settings individually for every group
 Set the scenarios start time
 Click on ok

Executing the scenario: it can be done using the run tab in controller

crp.testing@gmail.com 100
Analyzing the results: analyzing the results can be done with the help of
analyze is component.
Once the analysis is done the load runner is provides facility to create the
reports.
Navigation:
 Activate the menu item reports
 Select the option Microsoft word report
 Fill all the required field
 Click on ok.

Once the reports is prepare add the required conclusion to it


and send to the technical department.

crp.testing@gmail.com 101
crp.testing@gmail.com 102

You might also like