Lesson 7: Agile Development, Git Version Control & Automated Testing
Developing a complex digital outcome to solve a real-world problem for NCEA Level 3 Digital Technologies.
🎯 Ngā Whāinga Akoranga | Learning Intentions
Agile sprint cycles, kanban project tracking, Git branching/committing discipline, unit testing, integration testing, and automated HTML/accessibility validation.
Maintain a Git commit log with descriptive messages, execute systematic unit/integration test suites, and resolve software bugs.
🎥 Media Anchor & Pedagogical Scaffold
Git Version Control & Systematic Software Testing
Video Clip: “Git for Professionals Tutorial - Tools & Concepts for Mastering Version Control with Git” — 40 min 42 s.
🧠 1. Before Viewing (Activate & Predict)
Why is pushing atomic Git commits with descriptive messages essential when building a complex Level 3 digital outcome?
👁️ 2. During Viewing — the clip runs 40m42s; select the segments that serve these jobs
- Capture: Review Git workflow: feature branching, staging explicit paths, and writing meaningful commit logs.
- Capture: Construct a comprehensive test matrix covering boundary conditions and invalid user inputs.
- Capture: Run automated HTML validation (html-validate) and accessibility audits (axe / Lighthouse).
🗣️ 3. After Viewing & Kaiako Move (Process & Apply)
Kaiako Move: Audit student Git commit histories to ensure consistent development evidence throughout the project lifecycle.
Immediate Task: Complete Section 7 of your Digital Tech Portfolio: Git Commit Register & Systematic Test Execution Log.
⚡ Whakaoho | Do Now: Read Your Last Five Commit Messages
Two minutes. Could another developer tell what changed and why, without opening the diff?
Look for "fixed stuff", "update", "wip". Your commit log is documentation you are already writing whether you mean to or not — the only question is whether it is worth anything to the person who reads it next.
📖 Activity 1: Small Commits, Then Tests That Have Actually Failed
Break the work down (13 min). Take your next task and split it into changes small enough to commit separately. Work on a branch. Write each message as what changed and why, not which file you touched.
Test what can break (12 min). Write unit tests for the two functions most likely to fail, then one integration test following the path a user actually takes. Now deliberately break a function and confirm a test catches it. A suite that has never failed has never been shown to work.
📝 Activity 2: Level 3 Digital Technology Portfolio Task & Merit/Excellence Scaffolding (20 mins)
Portfolio Section 7. Submit: (1) a git log showing small described commits on branches; (2) your test suite with a line on what each test protects; (3) evidence of a deliberately introduced bug being caught — and one real bug your tests missed, with the test you wrote afterwards.
🏫 Kaiako Planning & Pedagogy Notes
NCEA Level 3 Alignment: Direct preparation for Level 3 Digital Technology (Develop a complex digital outcome to solve a specified problem). Emphasise systematic testing, stakeholder feedback loops, and technical code refinement for Merit/Excellence grades.