When we talk about automation testing, the first thing which comes to our mind is what exact things we need to automate and how exactly we can do it. We all know that we need to follow some guidelines and best practices for developing a good automated program. Still, at this point, it becomes very difficult, more like an impossible job, to determine if these guidelines and practices will work for us or not.
We usually select our test cases for automation keeping in mind the following:
The Frequency At Which A Particular Task Is Executed
This mainly depends on the time taken by the tester to execute a particular task and how frequently that task needs to be run. If a task is executed very less frequently, then we can select it for QA automation testing, and if the task is executed frequently, then we need to check how much time it takes to execute that task. If it does not take more than 5 minutes, then it is a good option for automation; otherwise, we will be wasting our resources on a task done fairly less frequently.
The Time It Takes To Execute A Task
This is another important factor we need to consider while selecting our test cases for automation. We need to automate those tasks that take more time to execute and the tasks that are being executed frequently. If we automate tasks that do not take more than 5 minutes, it will be a waste of our time and resources.
The Dependency Of Other Tasks
We also need to check the dependency of other tasks on the particular task we are selecting for automation. If the task is dependent on some other tasks, then it is not a good idea to automate it. We should try to avoid automating those tasks dependent on other tasks.
The Stability Of The Application:
We should avoid automating those test cases which have a higher risk or where we cannot be sure that the automation will work because if it fails, then it might take us a lot of time to figure out what exactly went wrong, and this could be a waste of our time.
The Complexity Of The Task
We should also consider the complexity of the task while selecting our test cases for automation testing. We should automate those complex tasks and take more time to execute them.
These are some of the factors we need to keep in mind while selecting our test cases for automation. Automating the wrong tasks can lead to many problems, so we must take our time selecting the right test cases.
Now that you know how to select test cases for automation, it’s time to get started. Remember to consider the frequency of the task, the time it takes to execute, and the dependency of other tasks before making a decision. Happy automating!
What Criteria Or Features Should Be Tested In That Set Of Test Cases?
Black Box Test Cases
Black box test cases – also known as functional or behavioral test cases – use the specifications of the software to design tests. Typically, black box testing is based on input and output conditions and behavior. Black box testing is generally limited to what can be seen from the outside, so it often depends on requirements specifications or developer comments.
One of the most common uses for black-box test cases is regression testing. Regression testing is testing existing functionality to make sure that it still works after changes are made to the system. Most of the time, black-box tests are written after white-box tests and unit tests have been executed. This way, developers can ensure that the new code is working as expected.
White Box Test Cases
White box test cases – also known as glass boxes, clear boxes, or structural test cases – use internal structures or designs of software to design tests. White box testing is generally based on an analysis of the source and object codes. It often depends on an understanding of the software architecture and internal design.
Unit test cases are a good example of white-box testing.
System Test Cases
System test cases – also known as end-to-end tests, integration tests, or story tests – use the specifications of the software to design tests, but they go a step further. System tests verify that all components of the system work together as expected.
The main purpose of system test cases is to validate the system. This type of automation web application testing is usually conducted after the unit tests, and integration tests have been executed.
Integration Test Cases
Integration test cases – also known as module or component test cases – use the specifications of the software to design tests, but they go a step further. Integration tests verify that all components of the system work together as expected.
The main criterion for the section of automation testing is that the test cases can be executed automatically. The test data can be provided predictably, and that the steps for running the tests can be scripted.