The current state of testing:
Before 5 years, manual testing was leading the market. But now due to the advancement of automation tools, automation testing took over the market. In general, reports say 35-40% of testing is automated. At the enterprise level, these things are difficult and companies want to certainly increase this number. That’s really because the traditional software delivery cycle predicates that.
1. So code is written by the developers. Some testing is usually done in this development phase by the engineers themselves. May be automated unit tests, maybe a small portion of automated integration tests, and maybe manual smoke testing.
2. But pretty much after this portion, we are actually going to build the application itself. So usually QA is involved in this because they are operating later in the cycle. They need the application to be there and all of its dependencies are ready to go.
3. So once that actually happens now we can test and most of that testing is done manually in this phase and it’s a more traditional QA phase and the big thing here is slow feedback.
4. So at best, we get feedback loops of maybe a day, maybe a couple of weeks (if we are running in sprint cycles) or maybe development team will take 2 weeks to work on something, then pass over to another QA team to work on another feature set and wait for feedback to get back to them over a week.
So there are huge implications here. It is not only slow but there are things like context switching. When the developer is working on something and there is an error on it and getting that error back a week later. So developers need to see what they were doing earlier.
So this slow feedback is just really a drawback on software delivery.
What manual testing today looks like?
A lot of things we are doing manual testing on are tedious such as long forms to fill out and end to end things again and again. They are tedious tasks. They should be automated in a reusable way. Earlier we have discussed on 8 Types of Test Cases To Be Automated
As humans go through the aspect of manual testing, there are chances of errors. Testers may not go through all the requirements
Going through the same thing, again and again, is time-consuming. Running 2000 tests to check the impact of 2 fixes is a time-consuming activity.
Manual defect resolution is expensive when defects are caught in the late SDLC. In the more traditional QA phase, we do manual integration testing, manual system, and an end to end tests. This cost will be less or even zero with automation testing.
Start your Automation journey:
It’s not an overnight journey that today you will learn everything and tomorrow you will become an expert. It takes some time. You have to follow the process step by step to become an automation expert. It’s all about the confidence and guidance to switch careers from manual testing to automation testing.
Doesn’t matter if you are a fresher or 1-3 years experienced or even more experienced, anybody can make a transition from manual to automation testing.
Follow the steps to start your career in automation testing:
1. Be strong in Manual testing:
Yes, you should be strong in manual testing. You shouldn’t ignore it. Learning manual testing concepts is one of the fundamental practices for QA professionals.
Earlier we have published an article on Manual Testing vs Automation Testing. It can really help you to understand the difference between both types of testing.
You should know
- Different types of testing,
- Techniques of testing,
- Use case Testing,
- Negative Testing,
- Positive Testing,
- Functional Testing,
- How to check server logs,
- Database SQL queries,
- How to write test cases.
You can refer to this Manual Testing Tutorial to improve Manual Testing concepts.
2. Learn programming language:
Manual testers don’t have programming experience or maybe they have done programming in their college time and after getting into a manual testing project, programming concepts just fade away.
Popular automation tools in the market like Selenium deal with programming languages. So learning a programming language is the first important thing to start an automation. Without this, you cannot survive in automation. You should be aware of core programming features along with object-oriented programming.
I know testers are not programmers. To beat the competition, you should learn a programming language.
I would suggest referring to this Java Tutorial
3. Understand ATLC methodology:
ATLC is Automation Testing LifeCycle methodology. It is almost similar to the Software Development Life Cycle SDLC. Earlier we have discussed SDLC Phases in detail here.
Stages of ATLC are as follows:
- Determine the scope of test automation
- Test automation tool selection
- Test Plan, Test Design & Test Strategy Creation
- Test Environment Setup
- Test Script Creation & Execution
- Test Report Generation & Analysis
4. Select Automation tool:
In creating test scripts to building a framework, Software Automation Testers rely on a variety of tools for each step of the process. Check these Testing Tools Categories that Software Testers may use on a day-to-day basis.
To select the best automation tool first you need to understand your project requirement and team skills. To become a smart automation testing engineer, you need to have hands-on with popular Automation Testing Tools. It helps you to decide in picking up the best tool which suits your project requirement.
You need to see the trend while selecting automation tools. I will advise you to pick open source such as Selenium. Selenium is very popular these days. It’s easy to learn and easy to implement. Also, you can check these Selenium Alternatives too.
Nowadays, most of the companies are looking for Codeless Automated Testing Tools because these tools make it easy to start with automation testing with no or minimal coding skills.
5. Setup/configure tool:
Learn how to configure selenium. What all softwares we need to download. Setup and configuration are very important. Learn the internal architecture (Selenium WebDrive Architecture) of that particular tool. You should have very deep knowledge of the internal mechanism of that particular tool like for selenium, interacting with the browsers with the help of ChromeDriver server or JSON wire protocol.
6. Core features of the tool:
Learn the core feature of a tool of your choice. For example, for selenium, You should know
- How Select class is working,
- What is WebDriver,
- What is ChromeDriver,
- What are different actions class available,
- How will you do drag and drop,
- How will you do mouse hover and many other features.
You can find a detailed Selenium Tutorial here
7. Learn component designing:
Don’t directly jump into framework designing.
- How to design test cases with TestNG code,
- How to write assertions or validations,
- How to create utilities, libraries,
- How to generate logs,
- How to generate reports.
8. Improve your debugging skills:
As an automation tester, you write code and build frameworks. At some point, your code may break. To fix it your debugging skills will help you. So you have to learn to check your code in debug mode. Debugging skills are very important. It will give you a lot of confidence. Don’t ignore debugging skills.
9. Learn TDD/BDD:
You can then learn about TestNG/Junit for Test-Driven Development framework. Learn Cucumber, Jbehave, Serenity for Behavior Driven Development framework.
You can find detailed TestNG Tutorial here
10. Keep enhancing your knowledge:
One can never know enough. Always stay updated with latest software testing trends. Follow best practices, tools, techniques, tips, etc., Follow Software Testing Material blog to learn the latest updates in the industry.
Also participate in meetups, seminars, and webinars. You can gain the latest updates in the software testing industry by attending seminars and webinars. You can subscribe to our newsletter to get updates on various seminars and webinars.
Must Read: Why I Choose Software Testing As A Career
Now it’s time to take action and show the world what an awesome automation tester you can be!
If you have any queries, please let us know in the comment section below.
Co-author Bio: This article is written by STM writer, Harsha Mittal an ISTQB-CTFL Certified Software Test Engineer having 3.5+ years of experience in Software Testing.