I'm preparing for a workshop on test automation. It mainly consists of a hands-on lab where participants will learn about different kinds of test automation tools used in software engineering. Specifically for full-stack web development.
Through this workshop, I aim to introduce the different testing tools used by modern full-stack software engineers in developing web applications.
We will cover the tests used in Unit Testing, Integration Testing and End-to-End testing.
We will use a To Do List app to help illustrate the concepts. The To Do List app will have these features:
- List of To Do Items
- Add new To Do Item
- Delete To Do Item
- Edit a To Do Item
- Mark Item as Done / Not Done
Re-order To Do Items in the list
- Front end SPA (JS + VueJS) - Introduce web frontend testing (Port 3000)
- Backend API - 3 flavors (Port 4000)
- ExpressJS (JavaScript)
- FastCGI (Python)
- Spring Boot (Java)
- Playwright E2E - JS, Python & Java
- DB - SQLite3
- IDE - GitHub Codespace (Devcontainers)