Skip to content

Introduction

This course includes a series of assignments designed to help you develop and apply skills in software testing, integration, and deployment. Each assignment focuses on a specific aspect of software engineering, ranging from unit testing to end-to-end testing, integration testing, and CI/CD pipelines. Below is an overview of the assignments you will complete:

Git and GitHub

In this first assignment, you will create a local Git repository, make commits, and publish your project to GitHub. This assignment is designed to help you become comfortable with Git and GitHub, which are essential tools for version control and collaboration in software development.

Unit Tests

In this assignment, you will learn to write unit tests using the Vitest framework. You will validate functions such as email and password verification and implement a Roman numeral converter using Test-Driven Development (TDD). This assignment emphasizes testing individual functions in isolation.

Integration Tests

This assignment focuses on testing the interaction between components in a UI-based application. You will use Vitest and the Testing Library to write integration tests for two applications: one user registration form, and one roman numerals converter.

End-to-End Tests

Using Playwright, you will write comprehensive end-to-end tests to validate key workflows of a roman numerals calculator application. This assignment emphasizes testing the entire application flow, from user input to output, ensuring that all components work together as expected.

Team Project

The final project is a team-based assignment where you will implement a complete test suite for a chart-building web application. This includes unit, integration, and end-to-end tests, as well as a CI/CD pipeline using GitHub Actions. The project will help you apply all the skills learned throughout the course in a collaborative setting.

Each assignment builds on the previous one, providing a comprehensive understanding of software testing and development practices. Be sure to review the specific requirements and grading rubrics for each assignment, and don’t hesitate to reach out for help if needed. Good luck!