Closed
Milestone
expired on May 6, 2016
Milestone 7
Goal:
- Define the game using BDD
- Migrate pre-game piece switching mode to the Game class. Improve the GUI API (One method for clicking pieces, one method for getting the current part in the game)
- Clean up the code a little bit
Obligations
-
Software Engineer (1-2 people)
- Builds code of high quality that runs behind the-scenes.
- Holds code walkthrough of his/her new code before inclusion into master branch
- NEW: uses behavior-driven development to develop the nominal control logic (aka "happy paths").
- Adds JavaDocs/C# XML API documentation to new methods so other team members know how to invoke the code.
- Writes unit tests
- Using the JUnit/Visual Studio parameterized tests format where appropriate.
- Using mocking to replace code not under test.
- Minimum requirements:
- NEW: use BDD.
- Designs the system to be unit testable.
- Control logic must not call or reference any GUI code.
- Must each write at least 50 LOC.
-
Software Engineer in Test (1 person)
- Builds quality into the system.
- Develops automated product metrics to improve quality.
- Reports overall non-GUI code coverage and identifies major weakpoints.
- Uses test-driven development to add error handling to both the control logic and the GUI.
- NEW: uses behavior-driven development to add error handling to both the control logic and the GUI.
- Refactors code to improve its quality.
- Writes integration test equivalents of the unit tests
- Sets development best-practices.
- Minimum requirements:
- NEW: use BDD.
- Must write at least 25 LOC.
-
Test Engineer (1 person)
- Performs system and exploratory testing.
- Performs code inspections of last week's work
- Builds the GUI and required event listeners.
- Helps the Software Engineers design their code to be used by a GUI.
- Minimum requirements:
- GUI code must not contain control logic - instead call your teammates' code.
- Must write at least 25 LOC.
Deliverables
- End-to-end implementation of next major feature, committed to your GitLab.
- README describing who did what.
- Each member is solely responsible for describing what he or she did.
- Use the above framework to describe what you did.
- Test results according to either GitLab or Visual Studio.