This repository contains homework assignments and lab exercises for the Software Testing course (2025 Fall).
Lab assignments are included directly in this repository:
-
Lab0 - Introduction and Setup
- Basic submission workflow
- See Lab0/README.md for details
-
Lab1 - (See individual README)
- See Lab1/README.md for details
-
Lab2 - (See individual README)
- See Lab2/README.md for details
-
Lab3 - (See individual README)
- See Lab3/README.md for details
-
Lab4 - (See individual README)
- See Lab4/README.md for details
-
Lab5 - Security Testing
- Buffer overflow vulnerabilities and ASAN
- See Lab5/README.md for details
-
Lab6 - Fuzzing Challenge
- Fuzzing exercises
- See Lab6/README.md for details
-
Lab7 - LLVM Pass and AFL++ Fuzzing
- Writing LLVM passes for command injection detection
- See Lab7/README.md for details
The homework assignments are maintained as separate git submodules:
-
hw2 - Calculator TDD Project (Go)
- Test-Driven Development implementation of a calculator
- See hw2/README.md for details
-
hw3 - BoundedQueue ISP Testing (JavaScript)
- Input Space Partitioning (ISP) testing techniques
- See hw3/README.md for details
-
hw4 - Calculator Mutation Testing (JavaScript)
- Mutation testing using Stryker
- See hw4/README.md for details