Blog

My Journey of Learning Test Automation

Ever wondered how a manual QA tester, with no prior experience or knowledge in programming, can ace automated tests? This blog covers the story how one becomes proficient in test automation.

My Journey of Learning Test Automation
Quality Assurance3 min read
Nikolina Mestrovic
NikolinaMestrovicNikolina Mestrovic2024-06-05
2024-06-05
Quality AssuranceSkillsCareersTest Automation
Quality Assurance
Skills
Careers
Test Automation

Starting to learn C# from the beginning can be tough if you're new to programming. Let me share with you my own story and the steps I took to become proficient in test automation.

Good preparation as a precondition

First and foremost I have started preparing all test scenarios for features that need to be automated in Cucumber, a tool that is widely used for behavior-driven development. After scenarios are done, upgrading my knowledge starts.

My journey began by familiarizing myself with DevTools Elements, which allowed me to write quality steps for scenarios in Cucumber. By already having the correct elements in place, I was able to speed up the process of automating these scenarios in future.

Once all the test scenarios were prepared, I knew it was time to learn C# programming language.

Stepping into C#

To understand the syntax, concepts, and best practices of C#, I turned to online tutorials and interactive coding platforms. These resources provided me with a foundation and helped me to get started coding C#. However, it was in Visual Studio where I truly delved into the world of test automation.

Visual Studio, a powerful integrated development environment (IDE), became my go-to tool for writing, debugging, and testing code. Exploring its features and functionalities was essential in effectively creating and executing automated tests. I won't lie, it also gave me a few headaches, while I was sorting all the errors and warnings that were popping out.

Overcoming obstacles

Throughout my journey, I encountered obstacles and challenges. But rather than being discouraged, I saw them as valuable learning opportunities. ChatGPT, a well-known AI-powered assistant, played a crucial role in enhancing my understanding and improving my coding skills. By asking the right questions and seeking the right solutions, I was able to overcome challenges and find what I needed.

For example, ChatGPT helped me to get started by asking it to provide Selenium C# code from the pasted HTML snippet I easily obtained from DevTools Elements. It effectively helped me with translating the HTML snippet to a working XPath query (which Selenium driver heavily relies on).

Hi, please write Selenium C# code for clicking on a button named Submit:

<div class="report-header_actions"><button type="button" class="btn btn-primary">Submit</button><button type="button" class="btn btn-danger">Reject</button></div></div>

And within the answer I also got commented instructions and explanations for each line of code:

// Find the "Submit" button by its text
IWebElement submitButton = driver.FindElement(By.XPath(
"//div[@class='report-header_actions']//button[text()='Submit']"
));

// Click the "Submit" button
submitButton.Click();

As mentioned, sometimes I have needed to ask the same question in different ways to get the solution I am happy with. And this was the best exercise for understanding C# and Selenium more.

Additionally, the support and advice from my colleagues were crucial in my growth as a test automation engineer. Their guidance helped me elevate the quality of my automated tests.

Optimizing and upgrading

Creating automated tests is not just about writing code; it's also about maintaining and organizing them effectively. I paid careful attention to naming conventions, created reusable components, and implemented efficient test case management strategies.

To organize myself better, I like having a private Notion to-do list page is so I can easily keep record off what needs to be done. Also, it works as my easy access cheat sheet. These practices ensured the scalability and maintainability of my automated tests.

A rewarding journey

Looking back, stepping into test automation has been incredibly rewarding. From starting with the basics of C# to mastering the tools and techniques in Visual Studio, I have successfully created and executed automated tests for multiple features.

Creating my first pull request was the first reflection that I have learned something. And the best part? My learning journey is still ongoing, as there are always new approaches to explore.

So, if you're considering diving into the world of test automation, remember that with determination, the right resources, and a willingness to embrace challenges, you too can embark on a fulfilling journey of mastering this valuable skill.

Happy automating!

Get blog post updates
Sign up to our newsletter and never miss an update about relevant topics in the industry.