It is important to bring software to market quickly in order to secure competitive advantages and respond to customer needs at an early stage. By launching early, companies can gather feedback from real users, steer product development in a targeted manner, and implement innovations faster. An early release also makes it possible to gain market share and react flexibly to changes in the market environment. Fast releases also promote continuous improvement and help minimize risks by identifying problems early.
However, it is also important to ensure that the software is of high quality and meets the requirements of the users. This is where quality assurance (QA) comes into play. This point was not sufficiently considered in the development of the application. The application is not tested and therefore has no quality assurance.
Your task is to implement a quality assurance (QA) solution for the application. The goal is to ensure that the most important features of the application are tested and that the application is of high quality.
- The most important features to be tested are identified and communicated
- The web application must be run locally
- Playwright is used as the testing framework
- Playwright is configured to run tests
- Tests are written in TypeScript
- Page Object Model is implemented
- All the 3 tests are covered
- Maximum of 45 minutes for the task
- The task should be completed in the browser using GitHub Codespaces or any Integrated Development Environment (IDE) of your choice
- No AI or Google is allowed
- Playwright Documentation is allowed (https://playwright.dev/docs/intro)
- Write a todo in the input field
- Click on the "Add" button
- The input field will be cleared and ready for a new todo
- The new todo will be added to the list
- Click on the todo you want to mark as done
- The todo will be shown as done
- Click on the todo again to mark it as not done
- Click on the "Remove" button next to the todo you want to delete
- The todo will be removed from the list
There are several options to run the application locally on your machine. You can use either Node.js and npm, or Docker / Podman with Docker Compose or Podman Compose. Be sure to have the required tools installed on your machine.
- Clone the repository:
git clone https://github.com/buhlergroup/qa-engineer-challenge-01.git
- Navigate to the project directory:
cd qa-engineer-challenge-01 - Build and run the application using the terminal:
- Option 1: Build and run the application using the terminal:
# Install dependencies npm install # Build the application npm run build # Start the application npm start # Apllication will be available at `http://localhost:3000`
- Option 2: Build and run the application using Docker Compose or Podman Compose:
# Start the application using Docker Compose docker compose up # Start the application using Podman Compose podman compose up # Apllication will be available at `http://localhost:3000`
- Option 1: Build and run the application using the terminal:
- Open the repository in GitHub
- Click on the "Code" button and select "Open with Codespaces"
- Create a new codespace
- Wait for the codespace to be created and the environment to be set up
- Once the codespace is ready, you can start working on the application directly in the browser
- Build and run the application:
- Option 1: Build and run the application using the terminal:
# Install dependencies npm install # Build the application npm run build # Start the application npm start # Apllication will be available at `http://localhost:3000`
- Option 2: Build and run the application using Docker Compose or Podman Compose:
# Start the application using Docker Compose docker compose up # Start the application using Podman Compose podman compose up # Apllication will be available at `http://localhost:3000`
- Option 1: Build and run the application using the terminal:
