How to Set Up a Test Automation Project from Scratch?

​

  • How do you setup up a test automation project?
  • Do you have a template that you use?
  • Do you google each time you want to start.
  • Do you reach for the documentation?

I am curios what is your approach.

Also, here is a link to a new resource I found on the topic that might help organize the test project creation, especially if you are just starting out

​

2 Likes

Really depends on the type of product/project that you’re working on.

  • Web, mobile, other?
  • What are the roles in the team and how is everyone contributing to the automation? Thinking about Dev, QA, Automation engineer?
  • Any preference for coding language?
  • Any preferred automation tools?

Personally, I prefer Playwright as I’m doing mostly web testing. That is also with the consideration that I develop it in TS. If I would have to switch to Java or Python, I know for example that the support for Playwright would not be up to the standards of JS/TS.

With modern tools, it’s easy to get started by following the docs (Playwright, Cypress, …). I therefore pretty much always start from scratch and add what I need (reporters, CI, Cloud device farm, test management integrations, etc.). Taking code samples from previous work. ChatGPT is also great for a getting a quick start in a new integration or tool for your framework.

For mobile, I basically follow the setup from wdio+appium.

1 Like

I actually do start with googling, because it’s not something I do every day :stuck_out_tongue:
But with googling, I would google the commands to install X and Y of course but also which framework is the best fit for my client.

If --h doesn’t do the trick, yes! :slight_smile:

No :frowning:
It’s often “owned” by the previous client, but within the same client in a different team, sure, then we build templates.

I like the link in your video to Bas his github page: GitHub - basdijkstra/a-test-automation-project: A test automation project for everyone to help them learn how to build and run their own tests locally and in CI.

But it misses some steps for me about reporting for example. But that’s something I look at before running it into CI/CD.


@restertest I don’t know if it’s intended or not but your video cuts off at the end? Fork the Code Aaand… cut

Thanks for bringing up the topic. I’m in quite a unique situation, in that I’ll soon have to completely rewrite a test automation project - but only for the automation of the product I’m responsible for. Huh? It’s a system integration test suite, testing the complete journey from one distinct system to another, all down the chain of specialised products we have. The one I’m responsible for is notoriously difficult to automate, and the person who wrote the current automation said not to bother building on it, and to start from scratch instead. So that’s what I’ll be doing, with an asterisk.

  • How do you setup up a test automation project?
    • With great difficulty lol I hate setting up coding projects, but I think it’s a great skill and a good opportunity to both learn and shape
  • Do you have a template that you use?
    • No, and I imagine that each project would be so unique that any template would be quite basic, and if you’re in a position where you do this enough that you have a template, you probably don’t need a template. Just a guess; I’m interested to hear from folks more experienced in this area
  • Do you google each time you want to start.
    • Absolutely.
  • Do you reach for the documentation?
    • Yup. Some of the boilerplate stuff is usually there for you, but it can only get you so far. I find that reading the official docs is good to help understanding of the foundations of a tool / framework, etc. and maybe spot things that are useful to you, but others don’t talk about much

What’s your approach, or what will it be?

1 Like

wrong export/cut. Will need to redo it. I noticed it also but thank you for the input

1 Like
  1. Analyze the product
  2. Check project needs and team availability
  3. Choose basic high-critical test suite
  4. Automate few tests and integrate them into the CICD pipeline
  5. Prepare comprehensive documentation and teach others
  6. Increase test coverage by yourself OR involve the team
2 Likes