QA for beginners: Automated Testing vs. Manual Testing
Software testing attracts many young professionals who are interested in IT, as well as experts from other areas who decide to change their field of development at a later stage. One of the primary decisions they will have to make is when to test manually or use automated testing. And also – what are the pros and cons of those two methods from a career perspective.
In manual testing (as the name suggests), the tests are executed only manually which means – by humans. No support from tools or scripts is used. That is why the knowledge of scripts is not required but the process is time-consuming.
In automated testing, on the other side, test cases are executed with the assistance of software and scripts. The goal here is to complete the test execution in a less amount of time by repetitive task and regression test without the intervention of manual tester. But even in this case manual efforts are required for the testing scripts to be created.
If we need to define which one is better, there is no correct answer. Both types of testing - manual or automated are applicable in different cases depending on various factors such as budget, project requirements, resources, timeline, suitability, expertise and project structure.
In both methods – automation and manual, specific testing types are covered such integration testing, system testing, performance testing and load testing. However, some of those testing types are better executed in manual approach and some – by automation.
Here is a table that shows the main differences between manual and automated testing regarding some important factors like time, cost, accuracy, knowledge, frameworks, etc.
As seen in the table, both manual and automated testing have pros and cons. With manual testing for example, we can achieve more accurate feedback based on human experience. It also does not require codding knowledge. Automated testing on another hand helps finding more bugs by speedy and efficient process, which can be recorded.
|Manual testing is a time consuming since it is based on human resources only.||Automated testing allows you to execute the test much faster than the manual approach.|
|The risk of human errors in this case is higher.||Automated testing is processed by scripts and tools which makes it reliable and accurate but in the same time the script can only act as it is set - it can miss errors that are obvious to the Manual tester.|
|Manual approach gives the opportunity for human observation and evaluation of user friendliness. Specialized programs / sites to support tests and record bugs are used (Testrail, Jira etc.)||Human consideration is not involved which could lead to lack of user-friendliness and experience evaluation. The execution results are saved and easily excessed in the automation system.|
|The initial investment in manual testing is lower compared to the automation but ROI is also lower in a long perspective. The investment in more human resources is required.||The automated testing usually require higher initial investment but the ROI is better in the long perspective. In this case, the investment is required for the development of testing tools, which mean – hiring an automation engineers.|
|No need for programming skills is necessary in manual QA.||Programming languages knowledge is required for the creation of scripts using most of tools.|
|In manual QA frameworks are not used but it could rely on checklists, guidelines and processes during the tests.||Automation testing uses frameworks like Selenide, Serenity, Data Driven, Hybrid, BDD, etc.|
|When to use|
Exploratory Testing - when the tester’s experience and intuition is required.
Usability Testing: when the test measures how user-friendly and convenient the particular software is.
Ad-hoc Testing: no scenario, unplanned type of testing which is supposed to be done by human because the understanding is an important factor.
Performance Testing: testing, which requires the simulation of huge number of concurrent users is better to be done by automation.
Load Testing: Automated testing is also suitable when we need to evaluate the load efficiency, which is part of the performance testing.
Functional Testing: in this case the automated testing is more appropriate because it allows frequent code changes in high speed.
Repeated Execution: When test is based on repeated execution of the task, QA automation is preferable.
According to the data of DataArt’s report from for the period 2015-2017, the percent of the job candidates who applied for the vacancies with QA Automation profile is significantly lower than those who applied for manual QA positions. But does that mean that the need of QA Automation specialists is still low or just the opposite – that there is a lack of enough skilled QA Automation experts?
Searching for similar answers, we asked two of our colleagues from DataArt - Vitaliy Kizimov – Senior Manual QA and Anton Sirota - Senior Automation QA – to share their personal experience and motives in choosing both directions.
1. “Manual or Automation?” – is it a question of personal choice and preferences or it is a question of skills and competences?
Anton Sirota (QA Automation): I think it’s more personal choice and preferences, but also in can be both, including a question of skills and competences. QA required just QA understanding and skills, QA Automation need to have all QA skills plus Programming languages skills plus Automation skills. That’s why percent of the candidates for such positions is lower. But we still need QA Automation Engineers.
Vitaliy Kizimov (QA Manual): I think the threshold to become automation tester is a bit higher if we are talking about skills. So maybe that’s why we can observe a bit less CV’s on this position. However it is not a rocket science and really good results can be achieved in not so far future. You can start from which you want then switch to another discipline investing your own time to cover transition period if you have such a desire.
2. Is it true that QA Automation is much closer to software development rather than Manual QA?
Anton Sirota (QA Automation): Nope. That’s all black box testing and QA Automation Engineer uses test cases written by QA most of times.
Vitaliy Kizimov (QA Manual): In perspective of performed activities – yes, it is closer, Automation means tester writes code, then tests the code, then commits it to the repository. In perspective of communication, I do not see any differences.
3. Is it possible for someone to become an Automation without ever having been a manual QA?
Anton Sirota (QA Automation): Sure. But good QA Automation Engineer is an Engineer that have both: QA and Automation skills. Vitaliy Kizimov (QA Manual): I’m a strong believer that prior to automation of the processes you need understanding, knowledge and experience in these processes.
4. Is it true that Manual QAs suffer from disrespect from developers?
Anton Sirota (QA Automation): I have never seen this in real life. Now almost everyone understands how QA role is important for the product’s quality.
Vitaliy Kizimov (QA Manual): It is a myth
5. What do you think about the phrase "QA can't be automated" from Michael Bolton - a famous QA speaker?
Anton Sirota (QA Automation): QA it’s not only tests execution. That is also work with requirements, analysis, test cases creation using different technics. For this time there is no way for machine to do this work. Maybe with AI things will be changed.
Vitaliy Kizimov (QA Manual): To be a good professional you need a balance between automation and manual activities. Being manual QA you tend to automate some repetitive tasks, you can use scripts, tools. Being QA automation you still need to perform manual verifications to judge if product quality is acceptable or not.
6. What was your reasons to choose QA Automation or Manual? And do you think automation will have an increasing role in the future?
Anton Sirota (QA Automation): I had technical background and base programming skills. So when I started my career as QA Engineer I was really impressed that there is a way I can combine my skills in testing and technical skills. On third month of my QA career I started to work as QA Automation. And I definitely think that Automation will have an increasing role in the future.
Vitaliy Kizimov (QA Manual): Long time ago I started as a manual QA. I liked to notice defects and I liked good quality products. If I can contribute why not just start doing it? I’m not a QA engineer at the moment I’ve switched to project management. I think that automation will be more popular from year to year.