What is the first thing that comes to your mind when you hear the word Automation? Think about it. Automation, ahh such a beautiful word. For me, it is the word Automatic and the Jaguar F-TYPE of course.
I mean, just look at it.
Can you see yourself driving this beauty? Just imagine it — you, riding on the open road, with beautiful nature surrounding you, the wind is blowing in your hair, you are slowly getting lost in your thoughts and then all of a sudden you are Beyonce...
…but then you realise you are actually here, reading this article and you have come to the sad realisation that, in fact, you are not Beyonce. But cheer up! That does not have to mean you can’t be the Beyonce of automation.
I think I got your attention. Now, don’t click that “x” button on your tab yet. This is what you have been waiting for — it is time to talk automation.
I decided to write an article about my early beginnings in the automation process because I know how hard it can be at the very beginning.
Although I am still in the process of practicing and learning myself ( read Beginner 😄), I do think that every useful information or advice, even if it is from a beginner like me, can help someone point them in the right direction or maybe give them an idea of what it’s all about.
For starters, Automation is not scary. I mean it kind of is, but once you manage to get your head around it, you will love it! You just need to know where to begin and I am going to help you with that! There is 5 things you need to consider when starting with automation — and I am going to share them with you! Also, later in the article you will see what not to do.
P.S. I added some useful links, so watch out for those.
You ready? Let’s dive in.
1. Basics — Well, first of all start with the basics.
The backbone of automation testing is manual testing. Why? Manual testing is the core of automation testing. The steps that you manually do while testing, will be “converted” into automated test cases. Before completely diving into the automation world make sure you do understand the basic stuff: How a test case is written and composed, what is E2E testing, the meaning of testing in various environments (browsers, operating systems etc.), a positive and negative test scenario, what is the meaning of regression and smoke testing etc. Only when you feel you are a good manual tester, you are ready to jump into the real automation world.
2. Programming language — Choose your programming language.
Before you download all the available automation tools, make sure you know which programming language you are going to use. The most common and widely used language in automation testing is Java.
If your developers are also using Java or Kotlin it makes it easier to ask them for help in case you need it. After choosing the programming language you are going with, it is time to start studying!
Since we are using Java in COBE, here are some good books to look into if you decide Java is your boo. One of the easiest books to read and understand is “Head First Java” — a Book by Bert Bates and Kathy Sierra. Alan Richardson also wrote a good book for testers which is called “Java for Testers”. Besides books you can also look into HackerRank, which is a good page for practicing the programming language you want to learn.
3. Recording tools — The best way to start with understanding the structure and behaviour of automation testing is to study a recording tool.
There are many available recording tools online, e.g. plugins for web, like Selenium IDE or Katalon Automation Recorder. Just keep in mind that recording tools are more like teaching tools — even though they teach you a lot, you may encounter some issues while using them on real time projects.
E.g. the code itself could probably change and the tests could break so you could loose a lot of time on recording them again, updating all of the tests and fixing the problems. So be prepared for that! And if you want to learn more about Recording tools, click here.
4. Locators — This is also very important to understand. What are Locators? Locators are used for finding an element on a page or application. When you want to do an action with a Login button for example, first you need to find that button in order to complete the action. My advice is to study them, learn how to inspect your elements and find the best locators for them.
To learn more about Locators, click here.
5. Become a RESEARCHER — In order to be good at automation testing, you need to learn how to search. By search I mean google stuff. You need to learn how to solve your problems by asking the right questions, because there are so many people that had the same issues or dealt with the same problems as you — so google it good. Now is the time to become Indiana Jones, Lara Croft, Christopher Columbus — whoever flows your boat. If you ask me, you should become Dora the F****** Explorer. She’s the real deal.
Now, after I told you what steps to consider when starting with automation, let me tell you what not to do:
1. Don’t make the same mistakes as I did
2. Read the first statement 😄
Let me tell you a few things I did wrong when starting with automation:
First of all, I should have started with studying the programming language. But I didn’t. I just threw myself into the tools documentation, Youtube videos and copying the code. By the time I realised I could not actually understand what is going on behind the code itself, I was already doing a bunch of tests, which were actually a mess. Some of them worked, because they were copied from the recorder tool (mistake!) and some of them did not even work and I could not understand why, but, as Thomas Edison once said :
“Just because something doesn’t do what you planned it to do doesn’t mean it’s useless.”
So it was not useless. I learned a lot by approaching this whole process in the wrong way. Not only did I learn it was the wrong way but I managed to differ between what’s right and wrong, which really helped me along the way. My tip for you is — make sure you are familiar with the basics of the programming language you are coding in.
Second comes the big question : “What should I automate?”. Now, this was a question I truly understood only after being in the automation world for some time. For me, everything I tested manually needed to be covered with an automation test. I was so convinced that everything is “important” and that all test cases that you can come up with needed to be covered, handled and written.
I was losing so much time trying to cover it all, and it started to get on my nerves. My whole automation test structure and test cases became so complicated but you know what? I was the one that made them complicated in the first place. Man, all I had to do was just ask somebody or google the answers. So if the question “What should I automate?” pops up to your mind, here’s the answer: “DEFINITELY NOT EVERY TEST CASE THAT YOU CAN THINK OF”.
Third, I used to think that automation should be applied on all projects. Covering all the projects you have, no matter how long they are, will only cause you stress and distract you from the actual point of automation. But, as I learned along the way, automation testing is usually only applied on long term projects. Long term projects will, by nature, have more repetitive test cases that will need to be tested every time a new feature comes out. To save some time on not testing everything manually, we automate those repetitive test cases. That being said, automation can also be applied on short term projects, but believe me, you will hardly see any benefits from it.
To conclude, automation is the next step in your testing career. On the other hand it’s not just something you are going to switch to in a day or two. It takes time. You constantly need to explore, study and do your research. Also, you need to be in line together with the developers, watch out for new updates, technologies and the truth is — sometimes you’ll get tired or frustrated because you can’t find a solution to your problems.
That’s why patience is key here. Trust me, that is the hardest part. ( I’m still learning to embrace this 😅 )
Start from basics and do not rush your journey into automation. I hope I did help you with some advices or maybe gave you an idea on where to start. If you do have any questions regarding the automation itself, please feel free to contact me directly. I may not be a high expert in this field, but I can help you with the things I know and have learned so far.
If you did not like the article BUT you think I am kind of funny — feel free to contact me, I am also available for some comedy stand ups.
*Note to self and to you : Be patient, no one becomes great overnight.