Activity 01
Collaborative Problem-Solving: Unit Test Writing Workshop
Provide students with a set of functions with specifications but no implementation (or buggy implementations). Students write unit tests using a framework appropriate to their language (pytest, JUnit, or similar) before seeing or running the code. When they run their tests against the buggy implementations, failed tests become a structured debugging guide rather than a surprise.
Why is it impossible to prove that a piece of software is 100 percent bug free?
Facilitation TipDuring the Unit Test Writing Workshop, remind students that each test should verify one behavior using descriptive names like 'test_discount_negative_value_returns_zero' to reinforce clarity.
What to look forStudents pair up and exchange test plans for a common software feature (e.g., a login form). Each student acts as a reviewer, using a checklist to assess the completeness of their partner's plan, specifically looking for equivalence partitions, boundary values, and distinct functional vs. security test cases. Reviewers provide written feedback on coverage and suggest one additional test case.