How to start with Code Test Automation
A significant part of the QA society currently is considering an ability to expand its skills to automation. And it’s reasonable, as almost every project is usually looking for opportunities to automate some processes, make products more stable and reliable, and speed up the testing phase.
So, that’s the point where we can start. The main question that should be asked yourself:
Why do I need it? What it can bring to my current project?
Without understanding these basic elements, such as purpose and potential outcomes, success is less likely. It can give you a significant amount of inspiration and desire to activate learning on this path. Remember, it’s necessary to be systematic and consistent, and not give up after the first failure.
1. Choose the programming language
When it comes to the selection of the language, it’s always challenging as there are a bunch of different ways to go: Java, Python, JavaScript/TypeScript, C#, and others.
Where should you begin, and how can you make this choice?
- Analyze the market (what is the most popular language required, where are the highest rates, or which language is mostly used in your interested domain)
- Analyze project needs (what can be best fit for it, what framework will suit better, depends on the framework the language can be selected accordingly)
- [Optional]: Find a mentor, friend, or colleague who can assist you in your initial forays into mastering coding skills.
2. Choose a framework to go with
As mentioned in the previous step, sometimes if you have a specific framework in mind, it might support a limited set of languages. For instance, a straightforward example is Cypress, which exclusively supports JavaScript/TypeScript.
Additionally, you may need to decide whether you’re focusing on mobile or web automation, which could significantly narrow down your options
3. Prepare an environment
It may include installation of the IDE, and needed packages to start (e.g., git, node, java etc.). Since it is planned to work with automation through the programming language, it is necessary to install an IDE for the first practices and write autotests in the future. I use VSC, but as an alternative, IntelliJ IDEA, WebStrorm, etc. can be used.
In addition, part of preparation is finding resources for acquiring knowledge. You could start with short courses on platforms like YouTube, and Udemy, or consider online courses with mentoring, depending on your preference.
My personal recommendation is to start with courses from Test Automation Uni:
There are several automation learning paths that can provide a solid foundation to begin with.
Alternatively, you can explore the courses you need here:
4. Learn the basics of the chosen language
To successfully write tests with comprehensive checks, employing interceptors, result handling, filtering, and more, a solid understanding of programming language basics is indispensable. Mastery of core concepts is essential. Once you’ve learned these basics, you’ll discover the multitude of new opportunities they open up.
5. Learn the git concept
An equally important part is the ability to correctly send that code to a remote repository, incorporate changes made by others, or create branches. Git handles all of these tasks.
For an initial understanding, it is better to start with such an interactive game:
6. Practice
Practice is key to development! Don’t give up on your dreams; keep working towards them. When you’re taking courses, try to follow the teacher’s guidance or work on projects independently. You can even use tools as simple as Trello or Google to help you with gaining experience.