The question of when you should switch between manual testing and automation is difficult to answer, but sometimes it's right when you’re starting with automation, so here are some of my concerns about it.
One of the most common questions in automation is:
Can I learn automation testing with no programming skills?
Do I need to know a particular programming language?
Something important to know if you’re automating for the web is how to find objects, but we will learn more about that in a later chapter.
Which technical abilities I must have in order to become a great automation engineer?
Some of the technical abilities you must be proficient at are:
- Manual testing
- Test design
- Test architecture
- Continuous delivery
- Communication with your team
Can I automate without knowing the app, or without a test plan/tests cases?
No, in order to start to automate in a correct way you must have experience with the application itself, and know about the Automation Testing Life Cycle (ATLC). That means you must have a test plan, test design, knowledge of the platform itself (the application), and all the things the app involves (API, database, functionality, and services).
Is it the same to automate a web project than a mobile project?
There are differences between them due to the way mobile works, but there are some tools that will help you to automate for mobile apps, such as Appium or Detox if you’re working on a React Native project.
Which is the best automation framework?
Well, if you want to compare them, we can say that Selenium is the most complete framework, but it will always depend on what you are working on. In that case, you should decide what is best for the project.
Finally, you must understand that you will never be safe from manual testing.
It is true that automation makes the way we test easier, but you will never be able to automate everything. Automation is a plus for manual testing, not an escape from it.
There’s no way to avoid manual testing due to different kind of reasons such as: