AUTOMATED TESTING

Automated Testing Or Test Automation Is A Method In Software Testing That Makes Use Of Special Software Tools To Control The Execution Of Tests And Then Compares Actual Test Results With Predicted Or Expected Results.

1.Definition of Automation Testing

Manual testing is performed by a human sitting in front of a computer carefully executing the test steps. Automation
Testing means using an automation tool to execute your test case suite. The automation software can also enter test data
into the System Under Test,compare expected and actual results and generate detailed test reports.

Test Automation demands considerable investments of money and resources. Successive development cycles will require
execution of same test suite repeatedly. Using a test automation tool it's possible to record this test suite and re-play it as
required. Once the test suite is automated, no human intervention is required . This improved ROI of Test Automation.

Goal of Automation is to reduce number of test cases to be run manually and not eliminate manual testing all together.

2.Importance of Automation Testing

Automated testing is important due to following reasons:

  • Manual Testing of all workflows, all fields , all negative scenarios is time and cost consuming
  • It is difficult to test for multilingual sites manually
  • Automation does not require Human intervention. You can run automated test unattended (overnight)
  • Automation increases speed of test execution
  • Manual Testing can become boring and hence error prone.
  • Automation helps increase Test Coverage
  • Manual Testing can become boring and hence error prone.

3.Which Test Cases to Automate?

Test cases to be automated can be selected using the following criterion to increase the automation ROI

  • High Risk - Business Critical test cases
  • Test cases that are executed repeatedly
  • Test Cases that are very tedious or difficult to perform manually
  • Test Cases which are time consuming

4.Which test cases are not suitable for automation ?

The following category of test cases are not suitable for automation:

  • Test Cases that are newly designed and not executed manually at least once
  • Test Cases for which the requirements are changing frequently
  • Test cases which are executed on ad-hoc basis.

5.Automation Process

Test tool Selection

Test Tool selection largely depends on the technology the Application Under Test is built on. For instance QTP does not
support Informatica. So QTP cannot be used for testing Informatica applications. It's a good idea to conduct Proof of
Concept of Tool on AUT

6.Define the scope of Automation

Scope of automation is the area of your Application Under Test which will be automated. Following points help
determine scope:

  • Feature that are important for the business
  • Scenarios which have large amount of data
  • Common functionalities across applications
  • Technical feasibility
  • Extent to which business components are reused
  • Complexity of test cases
  • Ability to use the same test cases for cross browser testing

7.Planning, Design and Development of Automation Testing

Planning, Design and Development

During this phase you create Automation strategy & plan, which contains following details-

  • Automation tools selected
  • Framework design and its features
  • In-Scope and Out-of-scope items of automation
  • Automation test bed preparation
  • Schedule and Timeline of scripting and execution
  • Deliverables of automation testing

8.Explain Test Execution

Automation Scripts are executed during this phase. The scripts need input test data before there are set to run. Once
executed they provide detailed test reports.

Execution can be performed using the automation tool directly or through the Test Management tool which will invoke
the automation tool.

Example: Quality center is the Test Management tool which in turn it will invoke QTP for execution of automation
scripts. Scripts can be executed in a single machine or a group of machines. The execution can be done during night , to
save time.

9.Maintenance of Automation Testing

As new functionalities are added to the System Under Test with successive cycles, Automation Scripts need to be added,
reviewed and maintained for each release cycle. Maintenance becomes necessary to improve effectiveness of Automation
Scripts.

10.Automation tools

Some of the popular automation tools are:

QTP : HP's Quick Test Professional ( now known as HP Functional Test) is the market leader in Functional Testing
Tool. The tool supports plethora of environments including SAP , Java , Delphi amongst others. QTP can be used in
conjunction with Quality Center which is a comprehensive Test Management Tool. know is light tool which can be
recommended for web or client/server applications.

Rational Robot: It is an IBM tool used to automate regression, functional and configuration tests for client server,
e-commerce as well as ERP applications. It can be used with Rational Test Manager which aided in Test Management
Activities

Selenium: Its an open source Web Automation Tool. It supports all types of web browsers. Despite being open source its
actively developed and supported.

11.How to Choose an Automation Tool?

Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for your requirement-

  • Environment Support
  • Ease of use
  • Testing of Database
  • Object identification
  • Image Testing
  • Error Recovery Testing
  • Object Mapping
  • Scripting Language Used
  • Support for various types of test - including functional, test management, mobile, etc...
  • Support for multiple testing frameworks
  • Easy to debug the automation software scripts
  • Ability to recognize objects in any environment
  • Extensive test reports and results
  • Minimize training cost of selected tools
  • Tool selection is one of biggest challenges to be tackled before going for automation. First, Identify the requirements,
  • explore various tools and its capabilities, set the expectation from the tool and go for a Proof Of Concept.

12.How to Choose an Automation Tool?

Selecting the right tool can be a tricky task. Following criterion will help you select the best tool for your requirement-

  • Environment Support
  • Ease of use
  • Testing of Database
  • Object identification
  • Image Testing
  • Error Recovery Testing
  • Object Mapping
  • Scripting Language Used
  • Support for various types of test - including functional, test management, mobile, etc...
  • Support for multiple testing frameworks
  • Easy to debug the automation software scripts
  • Ability to recognize objects in any environment
  • Extensive test reports and results
  • Minimize training cost of selected tools
  • Tool selection is one of biggest challenges to be tackled before going for automation. First, Identify the requirements,
  • explore various tools and its capabilities, set the expectation from the tool and go for a Proof Of Concept.

13.Explain about Framework in Automation

A framework is set of automation guidelines which help in

Maintaining consistency of Testing

Improves test structuring

Minimum usage of code

Less Maintenance of code

There are four types of frameworks used in software automation testing:

Data Driven Automation Framework

Keyword Driven Automation Framework

Modular Automation Framework

Hybrid Automation Framework

14.What is Automation Best Practices?

To get maximum ROI of automation, observe the following

  • Scope of Automation needs to be determined in detail before the start of the project. This sets expectations from

Automation right.

  • Select the right automation tool: A tool must not be selected based on its popularity but it's fit to the automation

requirements.

  • Choose appropriate framework
  1. Scripting Standards- Standards have to be followed while writing the scripts for Automation .Some of them are-
  2. Create uniform scripts, comments and indentation of the code
  3. Adequate Exception handling - How error is handled on system failure or unexpected behavior of theapplication.
  4. User defined messages should be coded or standardized for Error Logging for testers to understand.
  • Measure metrics- Success of automation cannot be determined by comparing the manual effort with the

automation effort but by also capturing the following metrics.

1. Percent of defects found


2. Time required for automation testing for each and every release cycle


3. Minimal Time taken for release


4. Customer satisfaction Index


5. Productivity improvement

15.What are the Benefits of automated testing?

Benefits of automated testing

  • 70% faster than the manual testing
  • Wider test coverage of application features
  • Reliable in results
  • Ensure Consistency
  • Saves Time and Cost
  • Improves accuracy
  • Human Intervention is not required while execution
  • Increases Efficiency
  • Better speed in executing tests
  • Re-usable test scripts
  • Test Frequently and thoroughly
  • More cycle of execution can be achieved through automation
  • Early time to market