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 Software Testing and Why Testing is necessary ?Principles, STLC , SDLC-Model, Agile-Model, V-Shaped Model, CMMI-Levels.

What is VV Model in Software Testing? Explain Verification and Validation.

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