Making the Shift from Manual Testing to Automation Testing: My Experience

Rahul R
4 min readOct 30, 2024

--

Switching from manual to automation testing was one of the most challenging yet rewarding changes in my career. When I started a project, I was comfortable with manual testing. I liked digging into the app, finding edge cases, and understanding the user flow. But as projects grew and deadlines got tighter, I saw that manual testing alone wouldn’t be enough to keep up with the fast pace. Here’s how I leapt automation, what I learned along the way, and what I’d suggest to anyone thinking of making the switch.

Realizing Why Automation Was Necessary

At first, I didn’t see the automation point. I felt manual testing was thorough, and I was good at it. But then, I faced a big project with frequent updates, each requiring me to test the entire app from scratch. Regression testing took hours and, sometimes, days. This made me realize automation could take care of repetitive checks, letting me focus on exploring the application and digging up more unique issues. My manual skills were good, but the project showed me that automation would be the key to scaling up without burning out.

Small wins — Figuring Out What to Automate First

I’ll admit, jumping into automation felt overwhelming. So, I started small, automating basic tasks that were repetitive and time-consuming like logging into the app, checking key functions, or verifying common elements. Simple test cases, like these, gave me a place to start without feeling lost. They also helped me see the time-saving benefits early on, which gave me the motivation to keep learning.

Learning to Code from Scratch

I come from a coding background but learning a new language always excites me, so learning a programming language was one of the biggest hurdles. I chose Java, as it’s widely used for automation and aligns well with Selenium, the tool I wanted to learn. I started with the basics — learning how to write functions, understand variables, and use loops. Some days, it felt like an uphill climb. I’d spend hours debugging a script only to find a simple typo. But as I practised and wrote more code, I became more comfortable. Consistency was key — I spent a little time each day coding until it started making sense.

Choosing the Right Automation Tool

With Java and JavaScript skills under my belt, I was ready to pick an automation tool. I went with Selenium for web testing since most of my projects involved web applications. Selenium was popular, and there were plenty of resources and communities to learn from. Starting with Selenium wasn’t easy, it has its quirks. But after I got through the basics, I could see its power. Running a script that performed hours of testing in minutes felt like magic.

The First Test Case!

Creating my first test case was a milestone. I picked a simple login test because it was something I’d tested manually hundreds of times. It took several attempts to get it right, but once the script finally ran end-to-end without errors, I felt a huge sense of achievement. From there, I used that script as a foundation to add more cases. This process taught me the importance of structure and reusability in building scripts that could grow with the project.

Setting up workflow and CI CD

With a few test cases automated, the next step was integrating them into the team’s workflow. I started running the scripts after each code update in CI/CD, which helped catch issues early. This integration was key to making automation feel like part of the team’s process, not just a side project. Now, automated tests give us quick feedback on the quality of each build, making everyone’s work smoother.

The Challenges

The shift to automation wasn’t smooth sailing. I faced my share of challenges

  • Debugging Failures: When tests failed, I’d spend hours trying to understand why. Learning to read error logs and trace bugs took patience, but it was part of the process.
  • Maintenance: Every time the application changed, my tests needed updating. Automation requires upkeep, which is something I didn’t fully appreciate at first. Over time, I learned to write modular, reusable scripts to make updates easier.
  • Choosing What to Automate: Not every test needs automation. I learned to balance automation with manual testing by focusing on repetitive, high-impact tests and saving exploratory tests for manual review.

Consistency is the Key

The automation field evolves quickly, and staying up-to-date is essential. I joined forums, attended webinars, and tested out new tools whenever possible. The more I learned, the more confident I felt in my abilities, and the more valuable automation became to my team.

Switching from manual to automation testing wasn’t easy, but it was one of the best moves for your career. For me, I get the best of both worlds , I use automation for quick, repetitive checks, which frees up time for in-depth, manual testing. If you’re thinking about making this switch, start small, be patient, and embrace the learning curve. Each automated test brings you closer to a faster, smarter, and more scalable testing process.

and at the end -Automation is a journey. My advice? Don’t rush it. Build your skills step by step, and with each script, you’ll see the bigger picture coming together. It’s worth the effort, and it opens up incredible opportunities in testing.

Don’t forget to follow! 😊

You can also check my past articles for AI in the Testing Series. ✨

--

--

Rahul R

🇮🇳 🇩🇪 Automation enthusiast mastering Selenium, Appium, Java, JavaScript, Cypress, and Playwright. DevOps advocate transforming testing into excellence. 🚀