Sei sulla pagina 1di 97

Soft Ware Testing:

Why did you choose this Course?


1. 2. 3. 4. Scope of getting job is very high. No need to depend up on any technologies. Testing remains forever 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. 2. 3. 4. Stuff Communication skills Confidence 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


crp.testing@gmail.com 1

Latest definition for quality: - quality is defined as not only the justification of
requirements but also the presence of value (User friendliness) Testing: 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. crp.testing@gmail.com 2

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 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

(b) Roles:
Process

4. Requirement Analysis System Analyst, Project Manager, and Team Manager.

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 customers
requirements in order to test a particular feature or a function.

crp.testing@gmail.com

VI. Delivery & Maintenance Phase:

Delivery:
(a) Task: - Installing the application in the clients 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

Testing

Methodology or Testing techniques:


(a) Black-Box Testing (b) White-Box Testing (a) Grey-Box Testing

There are three methods of 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 DBL crp.testing@gmail.com One tier Architecture

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 PL+BL DBL

PL+BL

Clients

Server

c. Web environment: - In his type of environment three tiers will be there. One is for clients 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

Database server 10

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: Ws PL BL PL PL PL BL BL DBL

Clients

Apl server1

Apl server2

Apl server2

Database server

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

crp.testing@gmail.com

11

Software Development Models: 1.Water Falling Model

PHAS INITIAL

ACTIVIT Req.gathering

OUTCOM BRS SRS

ANALYSIS

Sys.design

DESIGN

S/w design

TDD, GUI
UTR

CODING

Implementation

Unit test Int. test Mod Test Sys.Test. UAT

UTR UTR UTR UTR

TESTING

Black box testing

DEL&MAINT

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 Base lined H/Wprototype S/WPrototepe Client environment confirmation H/Wprototype H/Wprototype

Prototype

Advantages: -

REQ.are BRS DOC Refined Base Lined Whenever the customer is not clear 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 Dev.

Feed back with new Req.

Application

User validation

User

accept

Appl is Base lined

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) 13

crp.testing@gmail.com

Spiral Model: Defining the objectives/WA/Constraints

Refining & planning for the next cycle

Risk Root cause analysis Estimation Contingencies

Advantages: -

Implementation

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)
Req. Gathering

Fish Model: Analysis SRS Design HLD LLD


TDD Review

Coding
Sys testing

Delivery & Maintenance

SCD
BRS Review

Black

SRS Review

White box

Box testing

Test S/W Changes

testing

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)
Verification Initial& design Phase Design & coding Test

V-Model: Validation BRS SRS Preparing proj plan Preparing Test plan Req.Phase testing Design Phase testing Program phase testing

TDD SCD S/W Build

Testing

System testing Test management Process User acceptance testing Port Testing S/W efficiency

Delivery & Maintenance

Test S/W changer

DRE=A/A+B

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 engineers 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 endusers 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 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

2.0

crp.testing@gmail.com

20

4.0

Base criteria 4.1 Acceptance criteria 4.2 Suspension criteria Test Deliverable Test Environment Resource Planning Scheduling Staffing& Training

5.0 6.0 7.0 8.0 9.0

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 c. The functionalities that are planned to be incorporated in future crp.testing@gmail.com 21

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.

3.8 List Of Automated Tools: crp.testing@gmail.com 22

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:

Risks:
i. Unable to deliver the soft ware with in dead lines. crp.testing@gmail.com 23

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 Information) Screen Shots

USE CASES

Use Cases:
Use case is a description of functionality of certain features of an application in terms of actors, actions& responses Input information required for preparing the use case Document: i. Screen shot crp.testing@gmail.com 24

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. b. c. d. e.


Initially whenever the login screen is Invoked Login, clear buttons must be disabled. Cancels Button must be always enable. 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. : : : : : : 25

iv. Use Case Template:


Name Of The Use Case Brief Description of Use Case Actors Involved Special Requirements Pre Condition Post-Conditions crp.testing@gmail.com

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. Up on entering user name and password the login button must be enabled. 26

crp.testing@gmail.com

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. Either home page or admin page is displayed depending up on the actor entered by authenticating. 3. Authenticates, Either home page or admin page is displayed depending up on the action entered with mentioned data base connection. 4.Go to Alternative flow table 1 5.Go to Alternative flow table 2 6.Go to Alternative flow table 3

2. Actor enters valid user name, Valid password and clicks on login button. 3. Actor enters valid user name, valid password, selects a database option and clicks on login button. 4. Actor enters invalid user name Valid password and clicks on login button. 5. Actor enters valid user name, Invalid password and clicks on login button. 6. Actor enters both username and password invalid and clicks on login button. 7. Actor enters some information in to any of the fields and clicks on clear button. 8. Actor clicks on the cancel button.

7.Go to Alternative glow table 4 8. Go to Alternative flow table 5.

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


Actor enters invalid user name, valid password and clicks on login button

Response

Authenticates an error message is displayed Invalid User name Please Try again.

2. Alternative Flow Table 2: -(Invalid Password) Action


Actor enters valid user name, invalid password and clicks on login button

Response

Authenticates an error message is displayed Invalid User Password Please Try again.

3. Alternative Flow Table 3: - (Invalid username & Password) Action Response


Actor enters invalid user name, invalid password and clicks on login button Authenticates an error message is displayed Invalid User name and password Please Try again.

4. Alternative Flow Table 4: - (Clear Click)


Action
Actor enters some information in any of the fields and clicks on clear button

Response
All the fields are cleared and cursor is placed in the user name fields

crp.testing@gmail.com

28

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


Action
Actor Clicks on the cancel button.

Response
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 VLD FPD UN-Entry PW-Entry Login Click Cancel Click Clear Click MTCD Validate Login check Validate Cancel Check Validate Clear Check DTCD DPD 1 2 3 4 5 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.

Common Tracebility Matrix


VLD 2 8 7 22 FPD 3 5 47 MTCD DTCD 28 DPD 1 5

Requirement Tracebility Matrix


TCID REQ ID

1 2 3 4 5 6 7 8

1 1 1 2 2 2 2 2

crp.testing@gmail.com

30

Defects Tracebility Document


DID 1 2 3 4 5 6 TCID 28 32 65 96 48 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) (b) Test Objective: The main purpose of the document is described here in this section

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: Reference

The format of a test case template is given below TCID TC DESCRIPTION EV AV Result Severity Priorit TYPE y

crp.testing@gmail.com

32

Test case Table


TC ID

TYPE

Description
Check for the availability of all the objects as per the Login Obj Tab

Expected Value

Actual Value

Result Severity Priority Reference

GUI

All the objects must be All the objects are available as available as per the per the login obj login obj tab Pass tab All the objects are consistent with each other All the objects are spelled properly

GUI

GUI

All the objects must be consistent with each Check for the constancy of other all the objects Check for the spellings of all the objects as per the All the objects must be spelled properly as per Login obj TabLogin Obj the login obj tab

Pass

Tab.xls

Pass

GUI

Initially login, clear must be disabled and Login, clear and Check for the enable property of login, clear and cancel button must be cancel buttons enabled Fail cancel buttons are enabled Initially the cursor must Initially the cursor be positioned in the is present in the user name field username field Pass

Check for the initial position of the cursor Enter some information in to user name and Login button must be password field and check enabled for the enabled property of Positive login button GUI Enter some info in to any of the fields and check for Clear button must be enabled the enabled property of Positive clear button

Login button is enabled

Pass

Clear button is enabled

Pass

10

Corresponding pages are displayed as per 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 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 Positive clear button user name field. Fail Corresponding page Enter user name, must be displayed as Password as per the VIT per the VIT Positive and click on login button Login screen should be closed Login screens Positive Click on the cancel button closed

11

Pass

crp.testing@gmail.com

33

12

Check for the tabbing Positive order of all the objects Enter username, Password as per the IVIT Negative and click on login button Enter some information only in to the user name field and check for the enabled property of login Negative button Enter some information only in to the password field and check for the enabled property of login Negative button

Tabbing order is as follows Tabbing order must be Username, as follows User name, Password, Password, Connect to, Connect to Login, Clear, Cancel Login, clear, Pass Cancel Corresponding messages should be displayed as per IVIT Corresponding error messages are not displayed Fail as per IVIT

13

Login button must be disabled

14

Login button is enabled

Fail

Login button must be disabled

15

Login button is enabled

Fail

LOGIN OBJ TAB


Sno Obj Name 1 User name 2 Password 3 Connect To 4 Login 5 Clear 6 Cancel Type Text Box Text Box Combo box Button Button Button

Valid Inputs Table


Sno User Name 1 2 3 4 5 6 Suresh Raja Chiru Praveen NTR Admin Password qtp rani mbbs puppy illu Admin Expected Page Admin Home page Home page Home page Home page Admin Actual value Admin Home page Home page Home page Home page Admin Result Pass Pass Pass Pass Pass Pass

crp.testing@gmail.com

34

Valid Inputs Table (IVIT)


Sno User Name Password Expected Page 1 2 3 4 5 6 Suresh1 Raja2 Chiru Praveen NTR1 Admin5 qtp rani DADA TOPI illu4 Admin6
Invalid User name Plz try again Invalid User name Plz try again

Actual value Admin


Invalid User name Plz try again

Result Fail Pass Pass Pass Pass Pass

Invalid password Plz try again Invalid password Plz try again Invalid user name & password Plz try again Invalid user name & password Plz try again

Invalid password Plz try again Invalid password Plz try again Invalid user name & password Plz try again Invalid user name & password Plz try again

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.

crp.testing@gmail.com

35

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: -

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.

crp.testing@gmail.com

36

Defect Id

Defect Description
Initially Login, cear buttons are enabled instead of being disabled

Steps for Date Of Version Build Reproducibility Submitter Submission NO No


Not Applicable Sri Balaji
11-Feb-08

Assign to SeverityPriority Status

1.0.0 1

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 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. 1. Enter some information in to username field 2.Check for the enabled property of login button. 3. Observe that login button is enabled instead of being disabled. 1.Enter some information in tho password field 2.Check for the enabled property of login button 3.Observe that login button to enable instead of being disabled Sri Balaji
11-Feb-08

1.0.0 1

Sri Balaji

11-Feb-08

1.0.0 1

Up on entering the information only in to the user name field login button is enabled instead of being disabled 4

Sri Balaji

14-Feb-08

1.0.0 1

Upon entering the information only in to the password field login button is enabled instead being disabled 5

Sri Balaji

11-Feb-08

1.0.0 1

crp.testing@gmail.com

37

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 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 Val1 of functionality then such type of defects Val2are treated to be fatal defect. Main Menu UN Result AVAILABL E crp.testing@gmail.com Next

ADD Next

Next

38

2. Major: If at all the problems are related to the working of major functionalities then such types of defects are treated to be major defects. 10 20 -10 ADD

Val1 Val2 Result

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. +Ve integer Box Some alphabets Invalid Entry Plz Try again 39

crp.testing@gmail.com

Priority: Priority defines the sequence in which the sequence in which defects has to be rectified. It is classified in to four types 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

REQ No Is it Reall y Defe ct Build #1 Is defect is TESTING really If verifie Defect d Build #2

Testers error As per design

DEV

OP EN

Rectific ation

M1
Fixed for verification

RE

ope crp.testing@gmail.com Ne n

Clos STOP TESTING ed

40

Yes No

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.

crp.testing@gmail.com

41

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

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 How How How to to to to give the instructions? give the information? use its recording facility? use its play back facility?

crp.testing@gmail.com

42

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) 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).set27 Vbwindow(emp).vbedit(esal).set20000 Vbwindow(emp).vbedit(edeisig).setTE 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 VbWindow("VbWindow").VbButton("MUL").Click VbWindow("VbWindow").VbButton("DIV").Click VbWindow("VbWindow").VbButton("CLEAR").Click

Adding Manager: crp.testing@gmail.com 43

Adding manager is a feature provided by QTP which is used for showing all the list of addings while opening the QTP so that the user can select the desired addings 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 windows environment. Whenever we purchase QTP we get Three built-in addings. 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 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 crp.testing@gmail.com 44

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.. 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 crp.testing@gmail.com 45

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 Types of Object Repository: There are two types of object repository they are crp.testing@gmail.com 46

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 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 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

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

Navigation for Creating the Shared Repository to the currant test:

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

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

crp.testing@gmail.com

YES

47

Confirm the deleting by clicking on

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:
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. crp.testing@gmail.com 48

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

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:

crp.testing@gmail.com

49

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 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

crp.testing@gmail.com

50

QTP LIFE CYCLE


QTP life cycle contains Six phases

I. II. III. IV. V. VI.

Test planning Generating the basic test Enhancing the test Debugging the test Executing the test 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 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. 2. 3. 4. 5.

Inserting the check points Synchronizing the test Parameterising the test (Data Driven Testing) Inserting the out put value statements 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

crp.testing@gmail.com

51

For Web Checkpoints

c. d. e. f. g. h. i. j.

Text checkpoint Text area checkpoint Data base checkpoint XML checkpoint Page checkpoint Table checkpoint Hidden Checkpoints Image checkpoint 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. ii. 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 Through application Through Active Screen

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:
crp.testing@gmail.com 52

Bitmap checkpoint is used for checking the complete bitmap or apart of a bitmap. It can be inserted in two ways i. Through application 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:


crp.testing@gmail.com 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 53

Click on the desired text Select the following option o Match case o Exact match o Ignore space 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 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

a Check Point:

e Checkpoint: Data base check point is used for checking the contents of the data base Navigation: crp.testing@gmail.com Activate menu item insert 54

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 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 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 55

ble Check Point:

crp.testing@gmail.com

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 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

crp.testing@gmail.com

56

3. Inserting the wait statement 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 propertyenabled,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
Navigation Through Data Driver Wizard:

Activate the menu item tools Select the option data driver Click on parameterize 57

crp.testing@gmail.com

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 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

Navigation Through Key word view:

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 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 crp.testing@gmail.com 58

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 1.Start transaction 2.End transaction
Navigation for inserting transaction points:

crp.testing@gmail.com

59

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 Fail Done Warning 0 1 2 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. Step commands: There are three step commands crp.testing@gmail.com 60

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 boxsee 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 Msg box b Msg box a crp.testing@gmail.com

61

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: 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 crp.testing@gmail.com 62

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 ProgramsQuick test ProfessionalToolsTest 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 3.Test run error crp.testing@gmail.com 63

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 crp.testing@gmail.com 64

1.Built in variables 2.User defined variables


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 crp.testing@gmail.com 65

Select the environment tab Select the variable types as user defined 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 filed:\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) crp.testing@gmail.com 66

1. 2. 3. 4. 5. 1.Linear Framework

Linear frame work Modular frame work Key-word driven frame work Hybrid frame work Data frame work Generate the basic test Enhance the test Debug the test Execute the test Analyze the test 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

2.Modular Framework:

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 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 67

Navigation for splitting an action in to two actions:

crp.testing@gmail.com


Navigation for renaming the action:

Click on ok Select the desired action Activate the menu item step Select the option action properties Select the check box reusable action Click on ok Activate the menu item step Select the option action properties Specify the desired name Click on ok 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

Navigation for making an action as reusable action:

Navigation for calling on existing action:

Key word driven framework:


Create the folder structure as follows

Example:

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

Var= data table (keys,1) Select case var Case L1 crp.testing@gmail.com

68

Login( ) Ins ord( ) Logout( ) CaseL2 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).capturebitmapD:\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. crp.testing@gmail.com 69

Syntax: Wait Time in seconds Simple and regularly used methods: 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.setvalue 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).setname Vbwindow(cust).vbedit(custage).setage Vbwindow(cust).vbedit(custphno).setphoneno Vbwindow(cust).vbutton(submit.click Second Case study SQL Server Develop the script of selecting Testing tools, sql server, live projects check boxes and clicking on next button.. QTP

Testing Tools Live Project

crp.testing@gmail.com NEXT

70

Vbwindow(mindq).vbcheckbox(testingtools).seton

Vbwindow(mindq).vbcheckbox(sqlserver).seton 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).setON Vbwindow(mindq).vbcheckbox(liveprojects).seton Vbwindow(mindq).vbbutton(next).click

Fourth Case Study:


Develop the script for entering the name, age, country, and selecting the selecting the check box photo profiles only and clicking on search button gender,

Matrimony
Name Age
Country

o Male Vbwindow(matrimony).vbedit(name).setsri balaji


Vbwindow(matrimony).vbedit(country.set India

Vbwindow(matrimony).vbedit(age).set25 o Female
Photo profiles Vbwindow(matrimony).vbradiobutton(female).set only Vbwindow(matrimony).vbcheckbox(photo profile only).set on

SEARCH crp.testing@gmail.com

71

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.selectitem name Fifth Case Study: Develop the script for entering train number, train name, date of journey, selecting starting point, selecting destination point, selecting berth, selecting class

RES
Train No: Train Name: Date of Journey: From To
UB LB MB

First A/c Second A/C


Third A/C Sleeper

Break Fast Lunch Dinner

Vbwindow(res).vbedit(trainno).set2085

Vbwindow(res).vbedit(Trainname).setGodavari Vbwindow(res).vbedit(Date of journey).set15-aug-08 NEXT Vbwindow(res).vbcombobox(from).select Sec Vbwindow(res).vbcombobox(To).selectTpg 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

crp.testing@gmail.com

72

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 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

crp.testing@gmail.com

CAL

73

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 PID for rounding any decimal value to nearest highest integer

PNAME Eight-case study: PRATE


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

Product

AMOUNT crp.testing@gmail.com 74

Vbwindow(procuct).vbcombobox(productid).select 007 CAL Q=10 Vbwindwo(product).vbedit9prate).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).getropropertyexists 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:
Gettoproperty is used for getting the text objects properties value
SYNTAX: var= object hierarchy.gettoproperty (property name) Example: var= vbwindow9form1).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 SPB be dynamically changing from start to stop and stop to start

OR

Form 1 START
crp.testing@gmail.com
NC:Button Text:start

75

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 sheetsheet name 2.Delete- sheet: It is used for deleting a specified sheet from the run time data table SYNTAX: Data table.delete sheetsheet name 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

crp.testing@gmail.com

76

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 ) 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) Res= a+b Add= res End function Main program Add(10,20) Msg box var

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

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

crp.testing@gmail.com

77

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.opend:\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

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

crp.testing@gmail.com

78

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
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

crp.testing@gmail.com

79

Anatomy of QTP 9.0:


QTP 9.0 screen can be divided in to 7 parts 1. 2. 3. 4. 5. 6. 7.
Test pane Active screen Data table Debug viewer pane Tool Options Information screen 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:
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)

crp.testing@gmail.com

80

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 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

descriptive

crp.testing@gmail.com

81

Dialog("Login").Activate Dialog("text:=login","width:=320").winedit("attached text:= Agent Name:").set"akhil" Dialog("text:=login").winedit("attachedtext:=password:").setsecure"mercur y" 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 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 testing on the application. This type of testing is known as Business process testing. Quality center Architecture: Site administrator

2. Requirements: this module is used for the following It is used for adding the main requirements

crp.testing@gmail.com

82

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

crp.testing@gmail.com

83

Navigation of Site administrator: 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

crp.testing@gmail.com

84

Navigation for QC requirements: Name Password Authenticate Domain Project Login Add new requirement Name Login Invoke login Ok

Navigation for test plan: New folder New text Login invoke

TERMINOLOGY
1. 2. 3. 4. 5. 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. 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. 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. 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. 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.

crp.testing@gmail.com

85

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. 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

crp.testing@gmail.com

86

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 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. 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

crp.testing@gmail.com

87

4. 5. 6. 7. 8.

total defects metrics Slippages Reasons for the slippages Technical issues 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.

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. II. III. IV. V. Comparability testing Installation testing Usability testing Volume testing Performance testing

crp.testing@gmail.com

88

Performance testing: it can be divided in to 3 types I. Load testing II. III. Feature performance testing 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. 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 Cant 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 coordinate problem. Recording & playback facility over comes the repetitiveness problem

crp.testing@gmail.com

89

Load runner agent overcome the monitoring system problem Load Runner Architecture:

L R- Agent process Load runner agent V - users

V-user generator LR - controller 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 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 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. 15

crp.testing@gmail.com

90

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 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

crp.testing@gmail.com

91

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 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

crp.testing@gmail.com

92

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 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

crp.testing@gmail.com

93

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 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

crp.testing@gmail.com

94

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)

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 Vusers 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

crp.testing@gmail.com

95

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 o Schedule by scenario 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 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

crp.testing@gmail.com

96

Click on ok. Once the reports is prepare add the required conclusion to it and send to the technical department.

crp.testing@gmail.com

97

Potrebbero piacerti anche