Software Quality and Quality Assurance
Why Smarter. Smarter has thousands of unit tests, a coverage target of 90% for each Django app, pre-commit hooks for formatting, linting, spelling and security, conventional commits checked by commitlint, automated semantic releases, and GitHub Actions for tests, builds and deployments. Students see a complete quality process that already works, rather than assembling one from fragments.
Look at. .pre-commit-config.yaml, .github/workflows/, and any app’s tests/ folder.
Read. Unit Testing, CI/CD, Semantic Versioning Guide, ADR 013 on testing, ADR 028 on code quality.
Exercises.
Run
make coveragefor one Django app, find its least covered module, and raise its coverage with meaningful tests.Introduce a deliberate bug, and see which tests, hooks and CI jobs catch it, and which do not.
Fork the repository, and get the
test.ymlworkflow passing on the fork. Use it as an autograder for later assignments.
Course plans. Three complete, ready-to-teach plans, each with a schedule, graded assignments and rubrics, two capstone projects, recommended texts, further study and technical prerequisites. See Course Formats and Grading for what the formats have in common.
See the Smarter Instructor Guide to install Smarter and set up a class.