Overview on Test Automation

G C Reddy QTP Class 1 (Overview on Test Automation)

---------------------------------------------------------
Chapter Index:
 

I) Manual and Automated Testing

II) Disadvantages of Manual Testing

III) Advantages of Test Automation

IV) Disadvantages of Test Automation

V) Types of Test Tools

VI) Functional Testing

VII) Types of Coverage in Functional Testing
---------------------------------------------------------
I) Manual and Automated Testing

Testing Computer Software basically 2 types,

1) Manual Testing

It is the process of manually testing computer software for defects and it requires testers (human users) to play the role of an end users.

Manual Testing checks Correctness and Completeness of Computer Software with respect to Software Requirements Specification.

Testers design Test Cases, Collect Test Data, Execute Test Cases and if they find any deviations send them as Defects.

Developers fix defects and Testers close defects after confirmation.

2) Automated Testing

It is the Process testing Computer software using Test Tools (Tools also Software) like QTP, Selenium, RFT and SilkTest etc…

Testers generate Tests (Test Scripts) using Tool’s IDE and using scripting languages.

Test Tools can Execute Tests (Test Batches) without human interaction and provide test results.

Testers analyze Test Result and send Defect Reports if they find any deviations from requirements.

II) Disadvantages of Manual Testing
 
-------------------------------------------------------------
 1) Takes more Time and Tedious

2) Requires heavy investment of human and environment resources.

3) Less Accuracy (Human users may make mistakes)

4) Some types of testing are impractical (Ex: Performance Testing)

5) Limited scope for Regression Testing

III) Advantages of Test Automation:
-------------------------------------------------------------
1) Fast:
Tools are faster in test execution than human users.

In test automation 2 import concerns are there,

a) Test Design
Here no time saving, it takes more time than manual testing, testers only generate tests using tool and script features, but Test design is one time activity.

b) Test execution
Tool can execute tests quickly than human users.

Note: Test design is one time activity, but execution is multiple times activity, so we can save time.

2) Reusable:

Tests can be reused on different versions of Software easily.

Example: Sanity Tests, Regression Tests

3) Repeatable:
Tests can be repeated with multiple sets (multiple values) of Test Data

Example: Data driven Tests

4) Accuracy:

If Testers provide correct logic then tool can execute correctly. In case of manual Testing, human users may make mistakes (in case of complex calculations).

5) Programmable:

Testers can apply programming logic to tests, so they have a facility to insert multiple verification points in a test.

Note: If it is manual testing, human users can concentrate on one or two verifications only (In a test case execution).

If it is test automation tool can execute multiple verification points at a time.

Final conclusion: Automated Test scope is very high than manual test case.

6) Comprehensive:

Test Tool supports Batch testing (Executing series of tests), series of tests can be executed without human user (tester) interaction.

If it is manual testing human user (tester) interaction is required for every test case execution.

-----------------------------------------------------
IV) Disadvantages of Test Automation:

1) Test design requires lot of efforts

2) 100% test automation impractical

3) All types of testing not possible (Ex: Usability)

4) Debugging issues

5) Tools may have their own defects

6) Knowledge (Scripting and Tool features expertise) resources are required.

V) Types of Test Tool
-----------------------
1) Business classification

a) Vendor Tools
(Companies develop tools for commercial use, license is required in order to use and get technical support.)

Examples:
HP- QTP, LoadRunner, QC etc...

IBM-RFT, RPT, QA director etc...

Micro Focus- SilkTest, Silk Performer
------------------------------------------------
b) Open Sources Tools

(Source code available on Internet, anybody can download and use, but no technical support for Open Sources Tools)

Example: Selenium, JMeter, Bugzilla etc...

c) In-house Tools
(Companies develop tools for internal use)

Example:

Microsoft developed so many test tools for their internal use.

IBM developed so many test tools for their internal use.

Oracle Corporation developed so many test tools for their internal use.


2) Technical Classification


a) Functional & Regression Test Tools
(Support Functional & Regression Test automation)

QTP, RFT, SilkTest, Selenium etc...

b) Performance Test Tools
(Support Performance Test automation)

LoadRunner, RPT, SilkPerformer, JMeter etc...

c) Test Management tools
(Support Documentation and Reporting for complete Application Life Cycle Management)

Quality Center, Jira etc...

d) Defect Management tools
(Support Documentation and Reporting for Defect Management only)

Bugzilla, Issue Tracker, PR-Tracker etc...
--------------------------------------------------

VI) Functional Testing
   
Functional Testing is a Test Type

System Testing is a Test Level

Functional and Non-Functional tests can be applied at System Testing Level.

Functional Testing is a part of System Testing Level, but not only part of System Testing also part of Unit Testing, Integration Testing and Acceptance testing Levels)

QTP supports Functional & System Testing, Functional & Acceptance Testing.

QTP doesn’t support Functional & Unit Testing, Functional & Integration Testing.

VII) Types of Coverage in Functional Testing

1) Input Domain Coverage

Verifying weather the System (Application Under test) is accepting valid inputs or not? And preventing invalid inputs or not

2) Output Domain Coverage
 

Verifying weather the System is providing correct Outputs or not?, based on input and process.

3) Database Testing

 
        Data Integrity
        Data Manipulations
        Data Comparisons
        Data Retrievals
        Data back-up and recovery operations etc...
       
4) Error Handling   
 

Verifying how the system is handling user unathurized/invalid operations and providing error and help messages.

5) Order of Functionalities

Verifying weather the System is providing correct order of functionalities or not?
---------------------------------------------

0 comments:

Post a Comment