Overview on Test Automation & Types of Test Tool
Drawbacks of Manual Testing
- Running tests manually can be very time consuming as everything has to be done manually.
- Each time there is a new build, the tester must re-run all required tests - which after a while would become very dull and tiresome.
- It does not have concept of re-usability.
- More human involvement.
- In manual testing, the concept of repeatability is not so accurate.
Advantages of Test Automation
- Fast
As manual testing consumes a great deal of time in both the process of software development as well as during the software application testing, automated tools are a faster option as long as the scripts which need to be done are standard and non complex.
- Reliability
Automation of test script execution eliminates the possibility of human error when the same sequence of actions is repeated again and again. This particularly happens when the same boring test scripts have to be run over and over again as well as when, at the opposite spectrum, really complex testing has to be done.
- Comprehensive
Automated testers might contain a suite of tests that would help in testing each and every feature in the application. This means that chance of missing out key parts of testing is unlikely to occur.
- Reusability
The test cases can be used in various versions of the software even if the user interface changes. Not only will your project management stakeholders be very grateful for the reduced project time and cost, but it will certainly help you when estimating project costs.
- Cost Reduction
As the number of resources for regression test are reduced.
- Programmable
We can program sophisticated Tests that bring out hidden information from the application.
Drawbacks of Test Automation
- It’s Not Easy!
Writing test automation scripts is not an easy task. You really need testers who are experienced in doing this otherwise it will go horribly wrong and you will end up spending even more money and time than if done manually.
- Automation Script Errors
If an error is made in the test automation scripts which is undetected, it could be fatal for the project since the correct testing is not performed. In fact you may not even realize the error until the software launches and then falls over.
- Scope Changes
Every project will have to implement change request management. However despite best endeavours there will still be some which get through. The problem with this is that it may require the test automation scripts to be reprogrammed or redesigned. This may be the case even when there is a minor change in the user interface of the software.
- Complexity
With the increase in the number of requirements (business requirements documentation and software requirements specification) that are to be tested, this leads to more and more complexity which makes the maintenance of test data extremely difficult. You cannot automate everything, some tests still have to be done manually. (Ex: Usability Testing)
- Bug detection
Ad-hoc testing (random testing) can be done by a manual tester. More bugs are found via Ad-hoc testing than via automation. And, the more time a tester spends playing with the feature, more bugs can be found.
Types of Test Tool
Business classification
a) Vendor Tools (WinRunner, QTP RFT, RPT, SilkTest Etc…)
b) Open source Tools (Selenium, Jmeter, Bugzilla etc…)
c) In-House Tools
a) Vendor Tools (WinRunner, QTP RFT, RPT, SilkTest Etc…)
b) Open source Tools (Selenium, Jmeter, Bugzilla etc…)
c) In-House Tools
Technical Classification
· Functional & Regression Test tools
· Performance/Load/stress Test tools
· Test Management Tools
· Defect Management Tools
· Security Test tools
· Requirement Management Tools
· Unit Test tools Etc…
What test cases can be automated?
Test cases that we want to execute on number of versions of the software
Ex: Regression test cases
Test cases that we want to execute with multiple sets of data
Ex: Data driven test cases
Test cases having complex functionality
Test cases that we want to execute on number of versions of the software
Ex: Regression test cases
Test cases that we want to execute with multiple sets of data
Ex: Data driven test cases
Test cases having complex functionality
What test cases cannot be automated?
Dynamically changing functionality
Test cases that require more Human interaction
CUI (command user interface) based test cases
Dynamically changing functionality
Test cases that require more Human interaction
CUI (command user interface) based test cases
Basic Features of QTP
Supporting Environments
Quick Test Professional supports functional testing of all enterprise environments, including
· ActiveX
· Visual Basic
· Web
· Delphi
· Java
· .Net
-- Silver Light
-- WPF
· Oracle
· PeopleSoft
· PowerBuilder
· SAP Solutions
-- SAP eCATT integration
· Siebel
· Stigrary
· TE
· Visual
· Web Service
Version History
QTP derived from Astra QuickTest(1.0….5.0)
5.6 2002 (Nov)
6.5 2003
8.0 2004
8.2 2005
9.0, 9.1 2006
9.2 2007
9.5 2008——–HP
10.0 2009 (Jan)
6.5 2003
8.0 2004
8.2 2005
9.0, 9.1 2006
9.2 2007
9.5 2008——–HP
10.0 2009 (Jan)
Types of License
Three types of licenses are available from HP:
1. Demo License : a 14-day demo license
2. Seat license (Node locked) : A seat license that is specific to the computer on which it is installed.
3. Floating (Concurrent): Floating allows a license to be shared between machines at any given point in time. (1 floating license allows QTP to be accessible from an entire lab’s worth of PCs but can only have 1 instance running at any given point in time).
1. Demo License : a 14-day demo license
2. Seat license (Node locked) : A seat license that is specific to the computer on which it is installed.
3. Floating (Concurrent): Floating allows a license to be shared between machines at any given point in time. (1 floating license allows QTP to be accessible from an entire lab’s worth of PCs but can only have 1 instance running at any given point in time).
Built-in features
Recording, Checkpoints, Output values, Step Generator, Object Repository, Object Spy, Data Table etc
Integrated Tools (from HP)
Password Encoder, Test Batch Runner, Test Result Deletion Tool etc..
Integrated Tools (Others)
Spread sheet, VB Script Engine, SQL Engine, MS Script Debugger
QTP Test Process
The QTP (QuickTest Professional) testing process consists of the following phases:
1) Planning
Before starting to build a test, you should plan it and prepare the required infrastructure.
Steps to be followed:
a) Analyzing the Application under test (AUT).
b) Selecting/Creating Test case for Automation
c) Test Estimations & Approvals
d) Automation framework Implementation
e) QTP Tool Settings Configuration
2) Creating the Basic Tests
Test creation can be done in 2 ways
a) Repository based Test creation
1) Recording (Local Repository)
2) Keyword driven methodology (Shared Repository)
b) Descriptive Programming
1) Static Programming
2) Dynamic Programming
3) Enhancing Tests
Broadening the scope of your test or component can be done by the following ways:
a) Adding Comments
b) Inserting Checkpoints
c) Inserting Output values
d) Inserting Transaction points
e) Generating steps thru Step Generator
f) Inserting Flow Control Statements
g) Synchronization
h) Parameterization
i) Calling Functions / Actions
j) Using Regular expressions
k) Using Environment Variables
l) Using Automation Objects (using Object Models)
4) Debugging Tests (Optional)
You debug a test to ensure that it operates smoothly and without interruption.
It involves the following process:
a) Step by step execution
b) Watching Variables
c) Locating & Isolating Errors
5) Running Tests
After creating test or component, we run it.
Run test or component to check the site or application.
Different ways of running tests are listed below:
a) Single Test Run
b) Batch Testing
c) Executing Tests through Framework
d) Scheduled execution
e) Regression Testing
6) Analyzing Test Results
After running the test or component, we can view the results of the run in the Test Results window. We can view a summary of the results as well as a detailed report.
Steps to be followed are:
a) QTP Result window
b) Defining Test Results
c) Result Reporting
d) Deleting Test Results
7) Reporting Defects
Defects can be reported in any of the following ways:
a) Manual defect Reporting
b) Defect reporting through Tools
c) Integrating with Quality center
No comments:
Post a Comment