What is Automation Testing ? Benefits, Tools, Disadvantage.

  Automation Testing 

Automation

  • It is the process of instructing a tool to perform an operation on an application under test.
  • Test Automation is the use of software to control the execution of tests and the comparison of expected V/S results.
Disadvantages of Manual Testing
  • Manual testing is time-consuming and tedious.
  • Requiring a heavy investment in human resources.
  • Worst of all, time constraints often make it impossible to manually test every feature thoroughly before the application is released.

Why Automation Testing ?

  • Every organization has unique reasons for automating software quality activities, but several reasons are common across industries.
  • Improves efficiency of testing.
  • Reducing testing costs.
  • Replicating testing across different platforms.
  • To give consistent and accurate results. 

Benefits of Automated Testing

Fast : Automation tool runs tests significantly faster than human users.

Reliable : Tests perform precisely the same operations each time they are run, thereby eliminating human error.

Repeatable : You can test how the Web site or application reacts after repeated execution of the same operations.

Programmable : You can program sophisticated tests that bring out hidden information.

Comprehensive : You can build a suite of test that covers every feature in your Web site or application.

Reusable : You can reuse tests on different versions of a Web site or application, even if the user interface changes.

Things we do before Automation

  • Identify the test cases that cover functionalities of each module.
  • Identify what can be tested and what can not be tested.
  • Plan the flow of control and sequence of steps.

What to Automate ?

  • Tests that will be run many times.
  • Tests that will be run with different sets of data.

When to Automate ?

  • When the Application under manual test is stable.
  • Test cases that need to be run for every build such as Login Module or core functions like Calendar utility.
  • Tests that require execution of multiple data called parameterization.
  • Identical test cases which have to be executed on different hardware configuration.
When not to automate ?

  • It cannot be used when the functionality of the application changes frequently.
  • Cannot be used for user acceptance testing because it is done by end users.
  • When the project doesn't have enough time for the initial time required for writing automation test scripts.
  • Test with unknown or non-quantifiable results cannot be automated such as correct color combination, web site look-n-feel etc.  

Selection of Automation tool:-

  • Choosing an automated software testing tool is an important step.
  • Generally a good tool should :
  •   Tests all functions.
  • It should have good debugging facilities.
  • It should have clear help file and a user manual.
 

Why testing tools are required in software testing ? Types of tools.

Requirement of Tools:-

  • The efficient and time saving way of testing are through the usage of testing tools.
  • The tools are used to continuously improve the quality of testing as well as faster performance.
  • The tools help to complete the execution without any manual intervention.
  • Classify different types of tools according to the test process activities.
  • Recognize tools that may help developers in their testing.

Types of tools:-

  • Test management tools.
  • Requirements management tools.
  • Incident management tools.
  • Performance testing/load testing/ stress testing tools.

Test management tools:-

  • Support for the management of tests and the testing activities carried out.
  • Support for traceability of tests, test results and incidents to source documents, such as requirement specifications.
  • Logging of test results and generation of progress reports.
Example : Quality Center - An HP product which allows you to deploy high-quality applications quickly and effectively by providing a consistent, repeatable process for gathering requirements, planning and scheduling tests, analyzing results, and managing defects and issues.

Requirements management Tools:-

  • Requirements management tools store requirement statements, check for consistency and undefined requirements.
  • Allow requirements to be prioritized and enable individual tests to be traceable to requirements.
Example: Gather Space

Incident management tools:-

  • Incident management tools store and manage incident reports. i.e. defects, failures.
  • These tools enable the progress of incidents to be monitored over time.
  • They are also known as defect tracking tools.
Example: Bugzilla

Performance testing/ load testing/ stress testing tools:-

  • Performance testing tools monitor and report on how a system behaves under a variety of simulated usage conditions.
  • They simulate a load on an application, a database, or a system environment, such as a network or server.
Example: Load Runner.

Comments

Popular posts from this blog

What is Digital Marketing and How to learn Digital Marketing ? Modules, Blog, Domain, Hosting, SEO.

What are the different levels of Testing in Software Testing? Unit Testing, Integration Testing, System Testing, User Acceptance Testing.

What is Black Box ,White Box and Gray Box Testing in Software Testing ? Advantages, Disadvantages, Error Guessing.