Top Challenges When Moving from Manual Testing to Test Automation & How to Overcome Them?
In our previous blog post, we discussed “Being a beginner, where to start automation?”. In this post, we are going to talk about top challenges when shifting from manual testing to automation testing.
When we talk about challenges, Challenges can be introduced as a project and personal perspectives. In this article, I’m going to talk about most common personal and project challenges. When switching from manual testing to test automation as it has never been easy as there are many difficulties and challenges that testers have to face. It doesn’t transpire overnight, it requires a lot of time to learn new knowledge and tools. Overcoming these challenges early on will help you avoid wasting time fixing mistakes and have an easier transition.
CHALLENGES
1. LACK OF REQUIRED SKILLS
If a QA engineer who’s been doing JUST manual testing for years, or if it’s a beginner in the software industry as a role of QA, he/she will definitely face this challenge as the need of some basic technical, programming, coding skills to start Automation. Therefore, one of the biggest challenges for manual testers is, not having knowledge of programming languages and practice of coding. It is possible to start to learn automation without knowledge of programming languages. But I guarantee you that you will start to learn it soon because, without it, you will only be able to use many features like Record and Playback. If you want to be a good automation tester, that is not enough.
2. UNSTABLE USER INTERFACE IN THE PROJECT
Beware before start automating user interface. If a user interface is changing widely, the cost and time associated with script maintenance will be very high. That will be additional work to the project and it will waste the manual and automation both testing times. This doesn’t happen with almost every project and it depends on the change requirements and different projects. But in such a scenario, automating the project will be a huge challenge.
3. MEET DEADLINE EXPECTATIONS
Nowadays, all companies are moving from manual to automation testing and expect to have automation suites for the project. However, some of the projects may not be able to support automation as expects due to many reasons as time deviations, complexities and etc. Also, the need for automation coverage is also can be in critical condition. But without well-experienced automation engineers, fully trained automation engineers or technical experts, it might be tough job to start automation from scratch.
4. TRYING TO IDENTIFY WHAT TEST CASES OR SCENARIOS SHOULD BE AUTOMATED
Another biggest issue/challenge when moving into automation from manual testing is, not knowing what to automate and what not to automate. Many of them try to automate everything or complete application and get into trouble. Is it possible to automate 100%? It’s a fact that it’s impossible. There are many test combinations in both functional and UI. It’s not possible to test each and every combination or component in the application. Some scenarios can’t be automated. Therefore, it’s important to identify and choose which test cases or test scenarios should be automated.
5. NOT HAVING PROPER MANUAL TEST SUITES
If the project documentation has not been done properly, and if the test cases are not very good at finding defects, then these impacts the effectiveness of automation as well. Not having well written manual test cases will be a huge challenge for automating. If the manual test suites are not covering all the important functional scenarios and validations, there can be loopholes with the automation as well. In that case, an automation engineer might have to always check with requirements and make sure that all the required scenarios are covered.
6. UPDATING AND MAINTENANCE OF EXISTING AUTOMATED TESTS
Maintenance of automation tests is difficult because every time the software/application changes, it needs to be updated with new requirements. That might not be an easy task to do when moving from manual testing to automation testing. If there’re no existing automated tests, then it would be okay. But when the automated test suite is also growing, there can be instances that existing test cases or scenarios are broken by new requirements or new test cases. In that case, automation engineers need to run the whole script to check if automation tests are running as per the expectations or it can be introduced new issues/bugs.
HOW TO OVERCOME THEM?
1. TRAINING AND PRACTICING INDIVIDUALLY
- Organize training sessions
If any organization management has decided to go with automation for any project, that project team can distribute knowledge of automation if they have any experts, or they can hire someone who has experience with automation. Then they can arrange training sessions and knowledge transfer session for the team to proceed further
- Make the commitment to learn to code
To stay in the software industry as a QA Engineer, having automation testing skill would be an added advantage and definitely, it will be a required skill in future. Therefore, making a major time commitment to train and learn about the new tools and technology will be helpful. There’re plenty of free learning portals, blogs, podcasts, and many more communities to gain knowledge regarding programming languages and coding standards. So, making commitment to learn coding and programming standards will overcome the challenges with knowledge gap with automation.
- Practice hard
Learning automation tool or learning about a programming language is not enough. To swim you need to get into water, as same as to do the automation or coding, you need to practice the stuff you learned. Anyone who’s going to use the things he/she learned through tutorials for a real project, needs a bit of practice. Programmers learn to code by going beyond the tutorials, lectures or online courses. In that way, anyone who has a basic knowledge of automation testing and programming would be able to manage with automation test script writing.
- Networking with the community
If someone who’s new to the automation wants to learn it, networking is a good opportunity. As technology is always changing and upgrading, it’s good to keep in touch with related events, people, training sessions etc. It’s always good to keep in touch with people who are also trying to keep up with industry trends. And also, joining for training, workshops, seminars or any kind of knowledge sharing and networking events will be definitely an advantage.
2. BASIC UI AUTOMATION
If the user interface is changing often or not stable, should not try to automate UI. Because it will be time-consuming to maintain and update the test scripts time to time whenever the UI is changed. In that case, just basic UI automation would be enough. That will be saving the time for other functional automation scripts. But if there’s a major UI change which affects the whole automation framework, and if it’s a time-consuming task to do often, always good to.
3. GETTING HELP FROM EXPERTS
As mentioned in the previous point, training and practice is needed for further work with automation. But at the same time, if the deadlines are also critical, it will be great to ask help from technical experts and developers. If the project work is teamwork, as a team, developers and QAs can come up with a plan for automating the manual test cases and increase the automation test coverage or reduce the manual testing time.
4. AUTOMATE ONLY THE TESTS THAT NEED TO BE RUN AGAINST EVERY BUILD/RELEASE OF THE APPLICATION
Certainly, any project has areas like performance testing, regression testing, load/stress testing where automation testers can have a chance of reaching near to 100% automation. But some components/areas (mostly UI verification) cannot be automated. In that case, automation engineers can mainly focus on the areas where they have to test again and again. (e.g.: Regression test suite)
5. HAVING A PROPER MANUAL TEST SUITE
It always needs to have a proper test suite for testing an application. Whether it’s manual testing or automated testing, following a written scenario can be more accurate in testing.
6. ESTABLISH A PROCESS TO KEEP AUTOMATION UP TO DATE
When planning and implementing the testing process, it needs to be considered the durability of the process. It’s always safe to put a system in place to regularly check and update the test automation scripts. Keeping things as simple as having the test scripts in simple manner will be an added advantage for maintenance. If team is continuously delivering new features and doing improvements to the application, test suites are also getting updated. Therefore, having a strategy in place to know when and how to update tests will prevent things from slipping through the cracks and save work in the long run.
CONCLUSION
These are some top challenges we face moving from manual testing to automation. Those challenges can be more relevant to personal perspectives. Anyway, having the right skills, getting the right skills in the team and the right tools as enablers will be helpful to avoid challenges. As well as having a proper idea of automatable test cases, functional scenarios and maintenance will lead it for the project success very soon.
REFERENCE
- https://techcanvass.com/automation-blog/use-automate-testing-issues-challenges-of-automation-testing/
- https://bitbar.com/blog/overcome-the-top-4-challenges-of-automated-testing/
- https://www.softwaretestinghelp.com/10-tips-you-should-read-before-automating-your-testing-work/
- https://executeautomationtest.wordpress.com/2017/12/08/from-manual-tester-to-automated-tester/
- https://www.softwaretestinghelp.com/manual-and-automation-testing-challenges/
- https://www.kms-technology.com/blog/testing/5-simple-strategies-to-reduce-maintenance-for-automation-tests.html
About the Author
Suvimali Rajapakshe works as a Senior Quality Assurance Engineer at 99X Technology.