This question is a big challenge for most of the projects who work in Agile environment. When you have a time boxed approach and have to meet deadline without compromising on the quality, it is very important to manage the time properly using Test Automation. Let’s find out the answer to this question in this article by analyzing every aspect of the project and balancing them to make a decision.
Let’s discuss when it is the best practice to have a separate automation team. The following are the factors which will help us decide accurately:
This is one of the major factor here, if deadlines are tight and you have to test a new feature then it would be really tricky to test that manually and automating the test cases at the same time. There is a high probability that one of the areas between manual and automation would be compromised. We can understand this better by comparing two different approaches, one follows Agile and other follows V model. To perform both manual and automation in Agile environment, would be way more challenging than doing it in V model process due to time boxed approach.
We all know, automation and manual both require some specific skill set. Automation tester expects to have scripting as well as coding knowledge and manual tester expects to have “out of the box” thinking and better at understanding the requirements to convert them to effective test cases. If your team has a balance of both the skill set then you can divide them into manual and automation test team where manual testers will write the concrete test cases which will be automated by the automation testers and together, they will be able to achieve the quality in the given timeframe. Based on the testing effort, the QA manager may decide the head count of the tester and hence their responsibilities based on the skill set i.e. either proficient in writing scripts or writing the concrete test cases.
This factor would decide if you can afford a separate automation team. Sometimes, you don’t have enough budgets to add more resources in the project and have to divide the work efficiently among the available resources and they will do both automation and manual testing. Though budget may be less, it doesn’t mean one should compromise the quality of the application under test, usually with the tight budget the testing team mostly relies in test automation to achieve the maximum possible percentage of the automation effort versus the overall testing effort. As we cannot achieve hundred percentage of automation, the manual testing effort will always exist in any software application. Also, consider using the open source testing tool which have no or very less license cost as long as the testing purpose is achieved.
Amount Of Automation Required:
If you have a huge web app which has many screens and a complex structure then amount of automation required would be more than a normal web app or mobile app. Again, it would be good idea to give automation to a separate team so that it can be done effectively and under the given deadline. Automation plays a vital role when it comes to regression testing and maintenance and helps to save a lot of efforts and time too. Therefore, the automation is considered as the one time investment that proves to be an asset in long run, if the test scripts are maintained regularly by the test automation team.
Automation Tools Used:
There are so many automation tools available in the market which do not require a lot of coding knowledge and are easy to use. Sometimes, in a simple application under test, automation framework is pretty simple to design and can be done by the same team. Depending on what kind of tools you use for automation testing, you can choose to do it by your team or can be done by a separate team as well.
Advantages And Disadvantages Of Separate Automation Team:
We saw the above five main factors which could us to decide if automation should be done by a separate team. Let’s discuss some of the advantages and disadvantages if we have a separate automation team.
- Workload is divided properly and testing can be done effectively since both manual team and automation team will have their own dedicated tasks and there would be no overlapping.
- Both the teams will share their knowledge which will lead to better understanding of the requirements and user stories.
- When two teams are working on the same application with different approaches (manual and automation), there would be great improvement in their soft skills like communication, presentation and professional email writing.
- By sharing knowledge, duplicate efforts can be avoided to a great extent and efficiency could be improved.
- Test cases documentation, the bug report, etc. can be archived in the project knowledge repository where both teams could contribute their knowledge share.
- Since manual testers give test cases or user stories to automation team to automate, automation team was not much familiar with the overall functionality.
- Since automation team is mostly dedicated to code and create automated tests, they would be less concern about the quality of the test written.
- Script written for test automation should be reviewed by other test member who could a manual tester which again lacks the knowledge of coding or writing test scripts.
Having a separate automation team has its own advantages and disadvantages. I think the best solution would be involving them to the daily scrum meetings so that they will have an idea about the application under test and what to expect from it in terms of the application functionality. In this way, we will have the best of both worlds: manual and automation. Manual team will find quality scenarios and would give them to the automation team and automation testers can analyze the quality of the scenarios before automating them and can add their own tests if they find them more useful.