This project milestone will focus on testing and maintaining your system.
Generate unit tests for the function(s) implemented for PM4 (at least one unit test per function, and at least one integration test incorporating multiple functions working together). You may use AI to generate the tests, and must adhere to the course AI policy (comment tests generated by AI with prompts and/or provide log, etc.). The tests should be added to your repository, and you must show proof (i.e., screenshot of testing report, passing build, etc.) that the test cases are passing.
Code reviews are critical for maintaining software products. For this task:
-
Each team member must submit a pull request to the repository. The PR must either fix an issue, refactor the code, add a new feature, or make some other substantial improvement to the code (i.e., not just adding a comment, but meaningful enhancements to the overall project documentation would be ok). The code in the PR may be generated by the student or by AI, adhering to the AI policy. In the PR, please indicate which option (AI or no-AI) was used for this activity by adding an appropriate label, comment, or updating the title.
-
Each team member must conduct a peer code review of a PR to your repository. Each team member should review a segment of code submitted by another teammate (AI- or human-generated, but not their own PR) and provide a review describing the following items:
-
Overview: General comment summarizing the review.
-
Correctness: Does the code work for the intended purpose?
-
Clarity: Is it readable and understandable?
-
Maintainability: Does it follow normal coding and style conventions?
-
AI-Specific Concerns: If AI was used, explain what issues were found in AI-generated code and potential lessons learned about relying on AI for implementation.
-
Recommendation: A final outcome for the PR: merge as is, close, return for changes, etc. (do not apply this, the PR must remain open for grading)
The peer review comments can be inline in GitHub (preferred) or in a separate document.
The submission for this deliverable will depend on the specific SE process model your team plans to use to complete the group project. For your selected SE process, you must include a retrospective, sprint review of the previous milestone, and sprint planning for the next milestone. Example submissions include:
| Process | Sprint Review | Sprint Planning |
|---|---|---|
| Prototyping | stakeholder feedback and/or explanation of how the prototype changed since PM4 | initial prototype of your system based on your project goal |
| Scrum | submit notes for all teammates from at least weekly scrum meetings | list of prioritized tasks for PM6 |
| Kanban | An updated Kanban board with completed PM5 tasks | Backlog with prioritized tasks to complete for PM6 |
| XP | calculate project velocity (i.e., total function points per milestone) of the PM5 tasks | planning poker and project velocity estimation for PM6 |
| Spiral | review of encountered and mitigated risks from PM5 | identify PM6 objectives, anticipated risks, and how you plan to mitigate them |
| Waterfall | N/A | create a test report outlining the test cases executed, defects found, and testing outcomes |
- If your process is not listed below, please contact Dr. Brown for an equivalent submission.
Due: December 5
- Testing
- Code Review
- Project Milestone V