Advantages of Test Automation, Drawbacks of Test Automation, Fast, Test Reusability, Reliability, Programable, and Comprehensive Testing.
Test Automation or Automated Testing is a process of Testing Computer Software or Mobile Software using any Software Tool (Test Tool).
We have several Test Tools in the IT Industry, They are,
1. Selenium, UFT (formerly QTP), RFT, SilkTest, etc… for Functional Test Automation
2. LoadRunner, JMeter, SlikPerformer, etc… for Performance Test Automation
3. ALM / QC, Jira, etc… for Test Management/Project Management
4. Bugzilla, Issue Tracker, PR-Tracker, etc… for Defect Management
Advantages (Benefits) of Test Automation
Tools are faster in Test execution than human users (Software Testers).
In Software Testing, we have two import tasks,
a. Test Design
In Test Design no time saving, it takes more time than manual testing, testers only generate Tests (Test scripts)
using Test tool IDE features (Example: Recording, Inserting Checkpoints, etc…) and Program / Script features (Example: Flow Control, Functions/Methods, etc…), but Test design is a one-time activity.
b. Test Execution
Test Tool can execute Tests (Single Test or Series of Tests) quickly than human users (Testers).
Test design is a one-time activity, but we have to execute Tests multiple times, so we can save time.
Example: Sanity Tests and Regression Tests can be executed multiple times.
Tests(Test Scripts) can be reused on different versions of Software easily.
Example: Sanity Tests, Regression Tests
If it is Manual Testing user/Tester interaction is mandatory for every test iteration.
Tests can be repeated with multiple sets (multiple values) of Test Data without user/tester interaction.
Example: Data-Driven Tests
4. Accuracy / Reliable:
If Testers provide correct logic then the tool can execute Tests correctly. In the case of manual Testing, human users may make mistakes (in case of complex calculations).
Programming features (Variables, Operators, Conditional Statements, Loop Statements, Functions etc…) can be used for enhancing Tests/Test scripts.
Computer programming allows us to work with different types of Files and Databases for Testing activities (Ex: Data-Driven Testing, Generating Test Reports, etc…).
Testers can apply programming logic to tests, so they have the facility to insert multiple verification points in a test.
Note: If it is manual testing, human users can concentrate on one or two verification points only (In a test case execution).
If it is a Test automation tool that can execute multiple verification points at a time.
Final conclusion: Automated Test scope is very high than manual test case.
Test Tool supports Batch testing (Executing series of tests), series of tests can be executed without human user (tester) interaction.
If it is Manual Testing human user (tester) interaction is required for every Test iteration.
• For Functional Testing we can follow Manual Testing or Test Automation.
• For Performance Testing Test Automation is the only solution, Manual Testing is impractical.
• We can’t automate Usability Tests, Human users (Tester) only can Test the user-friendliness of the System (AUT).
• We need to purchase vendor Tool (Ex: UFT/QTP, LoadRunner, RFT, etc…), Some Test Tools are Open source tools (Ex: Selenium, Bugzilla, etc…), we can use Open source tools free of cost.