Pages

Tuesday, November 13, 2012

Quick Test Professional (QTP) - Test Automation

What is Test Automation
Test Automation is the process of reducing, and when possible, removing human interventions from an existing manual testing process.

When Should Test Automation Be Used?

Below is a list of parameters which makes a manual test a good candidate for automation:
  • Test must be repeated often.
  • Test workflow and its validation evolve and change slowly over time.
  • Test validates a business process or workflow, rather than look and feel, color,table,layout, etc.
  • Test is a very repetitive and/or has a lot of steps, and its important that those steps be performed exactly the same each time, where manual tester fatigue must be avoided.
  • Test result produces results for a regulatory body that demands that those results be electronically recorded and archived as formal evidence of compliance.
  • Tests pass/fail results are reasonably easy to determine and capture with the selected automation tool.
  • Test needs to drive a significant amount of data to the application.

When Should Test Automation Be Avoided?
  • Ad-hoc testing where a subject matter experts randomly prowls through a variety of combinatorial workflows.
  • One time testing or testing repeated only a few times
  • Testing which require multiple functional areas such that the test travels through a small amount of virtually all of the the product's functionality
  • Testing where look and fell, color, table layout, etc. are validated
  • Testing where pass/fails require evaluating information from several different and unrelated systems and/or applications.

The Automated Testing Process
The various phases involved in the automated testing process


Selecting the "best fit" Automation Tool:
It is important to pick the best fit for the majority of the applications. The choice should be based on variety of factors such as cost, ease of use, application support capabilities and product support.

Proof of Concept (POC):
This actively involves crating few sample scripts that validate a few important business workflows in one or tow of your most important applications. This helps identify any major issues that might be encountered during future case development.

Requirement Analysis:
This activity involves analyzing the requirements of an application, studying the existing manual test-cases and then defining the scope of the test automation project.

Project Estimates:
Once the scope of the automation is defined, estimates can then be formulated based on various factors like number of test-cases to be automated, their level of complexity, what re-usable components need to be developed, staffing requirements etc.

Framework Design:
This activity involves creating shared object repository(s), any re-usable components, writing a best practice guideline documented completing any supplementary activities to prepare a base of supporting components that will be utilized to  develop automation test scripts.

Test script development:
Test cases are created by calling the re-usable component and adding appropriate validations to each of workflow specific scripts.

Debugging:
Completed test-cases are debugged to make sure they work as designed. 

Execution:
In this phase test-cases are finally put to work through regression testing and validating the application under test.

Result Analysis:
Process followed by the results created by each executed test after execution.

Maintenance:
This phase involves updating the scripts to fix any code related to issue found during execution. A well designed framework and a set of test ensures that maintenance cost at kept to a minimum.

2 comments:

  1. I was very interested in the article , it’s quite inspiring I should admit. I like visiting your site since I always come across interesting articles like this one. Keep sharing! Regards. Read more about Software Testing Services

    ReplyDelete
  2. I was very interested in the article , it’s quite inspiring I should admit. I like visiting your site since I always come across interesting articles like this one. Keep sharing! Regards. Read more about Software Testing Services
    Software Testing Training in Chennai | Certification | Online Courses



    Software Testing Training in Chennai | Certification | Online Training Course | Software Testing Training in Bangalore | Certification | Online Training Course | Software Testing Training in Hyderabad | Certification | Online Training Course | Software Testing Training in Coimbatore | Certification | Online Training Course | Software Testing Training in Online | Certification | Online Training Course

    ReplyDelete