What is Automation Testing?
What is Test Automation?
In software testing, Test Automation/Automation Testing is a technique that involves using special testing software tools to write and execute a test case suite that compares the actual outcome with the expected outcome. Test automation is the practice of running tests automatically, managing test data, and utilizing results to improve software quality. It is used to automate repetitive tasks and other testing tasks which are difficult to perform manually.
Test Automation is the best way to increase the effectiveness, test coverage, and execution speed in software testing.
What can be automated?
It is impractical to automate all testing, so it is important to determine what test cases should be automated. The benefit of automated testing is linked to how many times a given test can be repeated. Tests that are only performed a few times are better left for manual testing. Good test cases for automation are run frequently and require large amounts of data to perform the same action.
You can get the most benefit out of your automated testing efforts by automating:
· Repetitive tests that run multiple times.
· Tests that are prone to human error.
· Tests that require multiple data sets.
· Frequently used functionality that introduces high-risk conditions.
· Tests that are impossible to perform manually.
· Tests that run on several different hardware or software platforms and configurations.
· Tests that take a lot of effort and time when tested manually.
Different types of Software Test Automation
Typically, automated testing is divided into the type of testing, the type of tests, and the phase of testing.
Automation Based on the Type of Testing
Functional Tests: Functional tests are written to test the business logic behind an application. Automating these means writing scripts to validate the business logic and the functionality expected from the application.
Non-Functional Tests: Non-functional tests define the non-business requirements of the application. These are the requirements related to performance, security, databases, etc. These requirements can remain constant or can be scaled as per the size of the software.
Automation Based on the Phase of Testing
Automation of Unit Tests: These tests are run during the development phase itself. These are ideally run by the developers after the completion of development and before handing over the system to the testers for testing.
Automation of API Tests: API tests are run during the integration phase. These may be run by the development or testing team and can be run before or after the UI layer is built for the application. These tests target the testing based on the request and response on which the application is built.
Automation of UI-based tests: UI Based tests are run during the test execution phase. These are specifically run by the testers and are run only once before the UI of the application is handed over to them. These test the functionality and business logic of the application from the customer-facing screens of the application.
Automation Based on the Type of Tests
Unit Tests: Unit testing is when you isolate a single unit of your application from the rest of the software and test its behavior independently. These tests don’t depend on external APIs, databases, or anything else.
These tests are usually written by...
Read the full blog https://bit.ly/3rmmzBD
Comments
Post a Comment