How I Learned to Write Test Automation as a Non-Technical Person
Like a lot of people, I stumbled across software testing as a career path.
I studied Economics and German at university and then did a software testing graduate programme at a test consultancy.
The first few years were spent mainly testing the UI, but a few opportunities to use SOAPUi to test the integration between two systems.
I also then learned how to test an API using Postman and Paw, and use a Proxy tool to support my testing.
At this point, I still felt like a non-technical person but was just doing “technical” tasks at work.
I saw that there was increasing demand for test automation skills but was failing to learn how to actually learn test automation.
I just kept trying and failing.
But eventually, things started to click.
Here is what worked for me when I learned how to write test automation almost seven years ago.
1. Time block regularly
I carved out a timeslot a few times each week for study. I studied 4-6x a week for about an hour.
I studied in my own time in the evenings.
When it comes to getting things done, I’ve found I need to make time for something - not find time for it. Time blocking is a great way of doing this.
I would write it down in my physical diary.
2. Set weekly and monthly goals.
I set weekly goals to help make sure I did a little bit of study frequently (a few times a week), but also monthly goals so that if I got sick or had a rough week, then the monthly goals would help me see the “bigger picture” of what I had achieved.
I really liked writing goals and checking them off. I found it rather satisfying to see things get done. (To be honest, I still have an affinity for daily checklists when I plan out what I’ll do each day. )
3. Pick a programming language and test automation framework
I opted for Selenium Webdriver in Java (this was in 2015/2016)
I didn’t overthink it. I just decided on what I found the best online resources for at the time and what companies seemed to be looking for (I looked at jobs advertisements to get an idea of demand).
4. Learn the programming language
First, I learned the programming language to get to “decent” or “ok” level
Therefore, when I started learning how to write test automation, I wasn’t learning both test automation and programming at the same time.
I didn’t want to get overwhelmed.
I mainly used Codecademy and a bit of YouTube.
Nowadays there are some great courses on TestAutomationU and Udemy.
5. Learn Test Automation
To learn test automation, I read blogs and watched YouTube videos (I was too cheap to pay for an online course).
I practised on test websites.
There were (and still are) quite a few git repos online where you can see sample test frameworks to get an idea of what test automation code looks like.
To learn what and why something should be automated, I read blogs.
Here are some bonus tips for you if you are looking to learn test automation:
Be patient with yourself
Some evenings I made little or no progress and those evenings were particularly frustrating as it would feel like I wasted an evening.
I would start of the evening thinking I would get to a certain point by the end of the evening and I hated not “achieving” what I set out to achieve at the start.
Be aware of tunnel vision
This is similar to my previous point. At times I would get stuck on something and then would become blind to what was in front of me.
Often, this meant it was time to go to bed but at the time I didn’t realise that I was developing tunnel vision and would insist on keeping at it until I figured it out.
Get an accountability buddy
Mine was my husband. I would announce to him what I planned to work on/learn and then he would follow up with me.
Since I would tell him what I would do, I made sure I did it.
I didn’t want to be seen as a liar.
He would also follow up with me to see how things went.
Find what works for you
There are a lot of resources out there. Don’t waste your time with something that doesn’t meet your needs.
While I don’t think you should give up at the first sign of difficulty, I think you should also learn to realise if what you are currently doing isn’t going to work for you.
When it comes to learning things, I like to use online courses. I’ve found some instructors’ methods/ways of explaining things just don’t make sense to me, soon as I realise that, I find another way.
📹 If you enjoyed reading this post, check out my YouTube channel and subscribe.
I post videos that can help you with your software testing career.