Let's explore the key factors that should drive your automation decisions.

Goals

Stick together

The best way to establish clear goals is to have a meeting with the team and identify the problems in the project. Don't assume you know all the problems, because you're not the only one working on the project. The people directly involved are the best ones to explain exactly what's happening.

Let's discuss with the team

What are the current problems in the project? Late delivery, Too many bugs in production, Team members exhausted when testing new or existing features, Requirements change too often and are hard to understand, Late feedback from customer, ...

Many problems can occurs, and sometimes the issue isn't in the testing process but in development, requirements gathering, or communication. We need to collect all problems and information to define our goals.

Identifying the goals

Start with an MVP (Minimum Viable Product), don't try to do everything at once, because setting too many goals will cost time and lead to wasted money.

time_and_money

Time vs Money

Start with small tasks that are easy to automate and observe the results before making improvements. For example:

  • login
  • registration
  • forgot password
  • other simple functionalities

Team skills

Team skills need consideration when choosing a tool. If your project uses Python, Java, or JavaScript, choose a tool that supports the language your team knows well. This way, developers can help the QA team understand the code and support test writing from the beginning. If the team isn't closely connected to development, choose an easy-to-learn programming language like Python.

Resources and timeline

After identifying goals and team skills, review the automation testing process and ask team members about their interest in automation testing. Since automation testing is similar to development, it requires dedicated time for learning and practice.

If you're not passionate about something, it's unlikely to succeed

Allocate 20% of time (1 or 1.5 days/week) for learning and practicing automation testing to prevent overwhelming the team. After a month, check progress to determine if the team is ready to implement automation testing in the project.

Tools

After identifying goals, team skills, resources, and timeline, you can choose a test automation tool. Many open-sources exist, such as Selenium, Cypress, Playwright, TestCafe, Mocha, Robot Framework, and Appium. Choose a tool that suits your project and team skills.

tools

Automation Testing Tools

For my team, we chose Playwright because we work closely with the development team who code in JavaScript (and use Typescript syntax), making it easy to get help when we encounter code problems. Additionally, since most of our projects are web-based, Playwright was the ideal choice for automation. It's easy to learn, has good documentation, and supports multiple browsers and have a good community.

Getting started with Playwright and Typescript

Conclusion

Don't rush to choose a tool without understanding your project needs and team capabilities. Focus on setting clear goals, identifying team skills, allocating resources and timeline, and then choose a tool that suits project and team.

References