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.
- 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.
- 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.
- 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
- 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
- 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.
- 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
Post a Comment
Please do not enter any spam link in the comment box.