qtp test automation

An Introduction on Test Automation

I) Drawbacks of Manual Testing

o    Manual testing is time-consuming and tedious Process.

o    It requires a heavy investment in human resources and in Test Environment setup.

o    Due to time constraints often make it impossible to manually test every feature thoroughly.

II) Advantages of Test Automation:

As per IT Industry as well as HP Documentation below are the Advantages of Test Automation.

o    Fast: 
Test Tool runs tests faster than human users.
(In case of Test Run /Execution only Test Tools are faster than Human users, but for generating tests human user interaction is mandatory, tools provide IDE. Anyhow Test generation is one time activity, but execution multiple times.)

o    Reliable:
Test Tool is reliable if we provide proper logic, but human users may make mistakes.

o    Reusable:
We can reuse our tests on Different versions of Software (Example Sanity Tests and Regression Tests).

o    Repeatable:
We repeat same operations with different inputs (Ex: Data Driven Tests)
(Primary purpose of Data Driven Testing is Positive and Negative Testing)

o    Programmable:
We can use programming logic in our tests, so that we can concentrate on multiple verification points at a time, if it is manual testing human user can’t concentrate on multiple verification points.
(Automated Test scope is very high than manual test case)

Note: In Manual Testing we use “Test Case” term, but in Test Automation “Test” or “Test Script”.

o   Comprehensive:
Test Tool (QTP) supports Batch Testing, we build Test Batches (Series of Tests) and we can execute Test batches without human user interaction. If it is manual testing human user interaction is mandatory for every test case execution.

III) Disadvantage of Test Automation:

o    100 % Test Automation is impractical
(Generally we try to automate maximum scenarios in any application, but not all scenarios)

o    All types of Testing is not possible (Example: Usability Testing)
(Only human users can judge look and feel aspects, but tools can’t judge.)

o    Lack of Knowledge
(If we want to use any Automation Tool in proper manner, then knowledge resources (Automation experts) required, otherwise we can’t achieve desired results.)

Note: Test Automation requires Programming knowledge.

o    Tool also software it may have defects.
(Some test tools have defects, they lead to unknown problems)

o    Debugging Issues
(Tool uses any one Script Engine for applying programming logic, some times locating errors is difficult.)

IV) Types of Test Tool

a) Business Classification

Vendor Tools
(Companies develop tools, if anybody wants to use, need to purchase license. Vendor (Tool /Software Developer) provides technical support for licensed users.)

HP- WinRunner, QTP, LoadRunner, Quality Center etc…

IBM-Rational Robot, RFT, RPT, QA Director etc…

Micro Focus -SilkTest, Silk Performer etc…

Open Source Tools
(Source code available on Internet, anybody can download and use, but some tools may have functionality limitations)

Selenium, JMeter, Buzilla, QAWebLoad etc…

In-house Tools / Local Tools

(Some Software Development companies develop test tools for internal use.
Ex: Microsoft developed some test tools for their internal use and Oracle Corporation also developed some test tools for their internal use.)

b) Technical Classification

Functional & Regression Test tools

QTP, RFT, SilkTest, Selenium etc…

Load / Stress test tools

LoadRunner, RPT, SilkPerformer, Jmeter etc…

Test Management Tools

Quality Center, QA Director, Zera

Defect Management Tools
Bugzilla, Issue-Tracker, PR-Tracker etc…


 V) Functional Testing:

Coverage’s in Functional System Testing:

Input Domain Coverage

(Verifying weather the System (AUT) is accepting valid inputs or not? And rejecting invalid inputs or not?)

Output Domain Coverage

Database Testing

Data Storage

Data Integrity

Data Backup & Recovery operations

Data retrievals

Data comparisons

Data search operations

Error Handling

Order of Functionalities