Monday 28 January 2013

An overview on Test Automation



Basically Software Testing is 2 types

1) Manual Testing
2) Test Automation

Manual Testing:
Testing software manually is called Manual Testing. we can test all accepts of software manually. 
Below Testing Types can be tested manually

Test Types:
a) Functional Testing
b) Regression Testing
c) GUI Testing
d) Usability Testing
e) Security Testing
f) Compatibility Testing
g) Recovery Testing
h) Reliability testing
Etc…
 
Drawbacks of Manual Testing

(i)Time consuming.
(ii) More resources required.
(iii)Human Errors
(iv)Repetition of the Task is not much
(v)Tiredness
(vi)Simultaneous auctions are not possible (Parallel)  

Test Automation:

Testing Software using any Automation tools is called Test Automation

Advantages of Test Automation:

a) Fast: Tools are faster in execution than human users

b) Reliable: Tools are reliable in complex calculations and tasks

c) Reusable: we can reuse Automated Tests at any number of times

d) Repeatable: we can repeat same operations for required number of times

e) Programmable:we can use flow control statements for appalying logic

f) Comprehensive: we can execute test batches without human interaction also 
Test Automation can be used in below areas of Testing:

a)  Functional & Regression Testing

b) Load/Stress/Performance Testing

c) Security Testing

d) Unit Testing
Drawbacks of Automation Testing
1)It is expensive
2)We cannot automate all areas.
3)Lack of expertisation.
4)It has some limitations (It cannot test every thing) 

Which Software Testing should be automated?

Tests that need to be execute of every build of the application (Sanity Testing)
 
Tests that use multiple data values (Retesting / Data Drives Testing) 
Tests that required data from application intimates (G.U.I. Attributes) Load and Stress Testing

Which Software Testing should not be automated?

 
Usability Testing One time testing
 
Quick look Tests or A.S.A.P (As soon as possible) Testing Ad-hoc testing / Random Testing
 
Customers requirement are frequently changing. 
------------------------------------------- Types of Test tool:
-------------------

    Business:
-----------------
    a) Vendor tools
 
    Ex: HP- WinRunner, LoadRunner, QTP, QC
        IBM-Rational Robot, ,RFT, RPT, QA Director
        Borland-SilkTest, Silk Performer etc..
 
    b) Open Source Tools:
        Ex: Selenium, Jmeter, QAWebLoad, Bugzilla etc...

    c) In-house tools:

    Technical:
-----------------
    a) Functional & Regression Test Tools:
        Ex:WinRunner, QTP, Rational Robot, ,RFT, SilkTest,Selenium etc..
 
    b) Performence/load/stress test tools

        Ex: LoadRunner, RPT, Silk Performer,Jmeter, QAWebLoad etc...
 
    c) Test Management Tools:
        Ex: QC, QA Director Etc...
 
    d) Defect Management tools

    e) Unit Test tools (Ex: JUnit)