How we should automate our test?
Today test automation is being practiced in most organizations and its a key skill that every QA professional should posses. But though we talk a lot about this buzz word, we should see whether we are utilizing it accurately.
Recently I did a poll in LinkedIn and found out that most of the people knows that we should automate the Unit test cases, which is correct. We should start automation unit test where we test the actual code and methods which are implemented by the development team. This helps us to identify any issues of the newly integrated code, rather than identifying it in a more integrated testing like testing the APIs or Web Services.
Next I see that most people think that we should engage automation of UI test, rather than Web services. Today most of the web solutions uses Web services. But since we know Selenium has grown more than Web services automation solutions like Rest Assured people are more focused towards learning Selenium and using Selenium. When I train people they want to learn Selenium, because
- Its is popular and talk of the town
- Everyone is learning Selenium and that the person wants to match the skill set, rather than learning the most important in terms of test hierarchy.
- The heads of the organization has only herd Selenium buzz words and they want their QA to engage on Selenium UI automation, rather than Web Services automation.
Looking even at the test hierarchy web services test becomes first to engage upon as it helps us to identify any regression issues cause by code changes, before they are integrated to the UI. Therefore we as QA professionals should look into web services test automation before front end UI automation. A good test practice company should have a good automated web services framework before Selenium or other UI test automation framework. If the company is only having a UI automation framework, that shows the company is utilized test automation ineffectively and also their test automation strategy is not a properly implemented.
So the most effective way an organization should use test automation is in the following order
- Unit test automation
- Web services test automation
- UI test automation
- Mobile automation test