



In one of my previous posts - How to become a software tester , I gave you 10 practical advice on how to get yourself running in a fascinating software testing industry. On another post - Learning pathways for testers , which was addressed for more experienced engineers, I described how to thrive as a tester not only now, but also in the long run. Today I'd like to describe a topic which places somewhere between those two. I know that there is a lot of people who do only laborious manual testing and would like to automate it but don't know-how.





The following post is based on my personal experience (as I successfully completed such a journey for myself) and numerous online discussions.





Prerequisites





Before you start the est automation journey make sure you have at least a basic understanding of the following topics:





1. Agile and general software development life cycle knowledge





Testing should be actively presented throughout each software development life cycle phase. You need to make sure that your application would be testable. Some decisions made at the beginning of the project can greatly simplify automated testing. For example sites with nicely implemented 'id' names are much easier to test via Selenium.





Thankfully there are two great books on this topic written by Lisa Crispin and Janet Gregory - Agile Testing and More Agile Testing





2. Continuous Integration, Delivery, and Deployment basic knowledge





You need to understand where testing stands when it comes to CI & CD. Think for a moment where would you like to place testing in your application pipeline.





Jez Humble and David Ferley wrote a nice book about this topic, which you really should read, called Continuous Delivery





3. Test automation return of investment consideration





This is a very complicated topic (see SQE training and ISPE papers for details) and your expectations should be real. Do not think that automated tests would solve all the problems and magically improve application quality. Automation done wrong can give you a lot of headaches. Don't forget that the test automation code almost always requires maintenance.





Motivation - Personal benefits of being a highly technical tester





If you're still not sure whether automation path is correct, here is a list of obvious benefits that can motivate you:





1. More fun





If you have ever done manual regression testing you know the pain.





Technical tester analyses problems, investigate possible solutions, implement them, on an almost daily basis. The job becomes more and more intellectually demanding. You start taking coffee breaks not only because you're bored, but because your mind really needs them.





2. More possibilities





By expanding your knowledge on the automation field you become more and more desirable not only by peers but also for recruiters. Your employability is skyrocketing. This gives you a certain level of security - you know that even in the unlikely event you got fired, you will quickly find a new job.





3. More respect





In How Google Tests Software authors describe that at one point they realized a simple truth - in order for them to be fully respectable team members, they need to start coding. They finished the journey and are now Currently they are fully integrated team members (as you can read in nice Trish Khoo interview ). Aim for the same.





4. More money





With more skills come more money. Simple as that :)



