- Alpha-test the product
- Fix alpha-test bugs, fine-tune features
- Update UG and DG
- Release v1.5 Thu, Nov 7th 23:59
Intro to tP Week 11
What's happening this week:
v1.5
- Learning outcome: Able to apply internal quality control.
- Product goal: Reach the release candidate (RC) version, ready for a public beta testing (i.e., the product quality should be sufficiently high e.g., no obvious bugs).
- Strategy: Do an internally, and refine features as necessary. Improve tests, documentation, code quality.
This iteration focuses on applying internal quality control before the product is exposed to outsiders. 'Outsiders' here refer to other teams that will be testing your product during the practical exam dry run (PE-D).
In 1, you will do an alpha testing of your own product, and record bugs, which can then be fixed during 2.
Keeping in mind that this is your last chance to do any feature enhancements (due to the feature freeze in iteration v1.6), in task 3 you will decide which final touches you would want to implement, and proceed to implement them.
At the same time, the UG and the DG needs to be updated, as given in task 4.
Things to note:
This iteration is normally done in one week, but is spread over two weeks due to clashes with holidays. So, do the amount of work you would normally do if this was only one week long (i.e., no need to do more work because there is an extra week for this iteration).
Remind yourself of the project grading criteria:
1 Alpha-test the product
-- [More details to be added] --
- Test based on the JAR file
- Cross-test, and report bugs
- Create a label
alpha-bug
and apply it to the bug report, for tracking
If you want to smoke-test your JAR file on an OS that is not available within your team, you can post a request in the forum to see if anyone else in the class can help you smoke-test it on that OS.
The panel below contains guidelines your peers will use when determining bugs in the final product -- knowing them might be useful in preventing such bugs in your product in the first place.
2 Fix alpha-test bugs, fine-tune features
-- [More details to be added] --
- Fix bugs found in alpha test
- Fine-tune features, if needed.
- Here is another reminder about what you can and can't do during v1.6 feature freeze.
Ways to level up your tP game:
- Consider increasing test coverage by adding more tests if it is lower than the level you would like it to be. Take note of our expectation on test code (given in the panel below).
- After you have sufficient code coverage, fix remaining code quality problems and bring up the quality to your target level. Note that the quality of the code attributed to you accounts for a significant component of your final score, graded individually (based on the code attributed to you by the tP code dashboard).
3 Update UG and DG
- Update the User Guide to match the current version of the product. Reason: testers will need to refer to the UG during the practical exam dry run.
- Remove mentions of any features not implemented yet, if any. As you are not allowed to change features during the iteration v1.6, there is no point keeping those in the UG.
Alternatively, clearly indicate which features are not implemented yet e.g. tag those features with aComing soon
. - For those features already implemented, ensure their descriptions match the exact behavior of the product e.g. replace mockups with actual screenshots
- Remove mentions of any features not implemented yet, if any. As you are not allowed to change features during the iteration v1.6, there is no point keeping those in the UG.
- Save the UG as a PDF file using this technique exactly. You'll need this file later when you create a product release. There is no specific file name convention for this version of the UG, but do use a reasonable file name: e.g.,
Contacts-Pro-User-Guide.pdf
.
- Similarly, update the Developer Guide (DG), and save it as PDF file.
- Update the landing page (
docs/index.md
): Update to look like a real product (rather than a project for learning SE) if you haven't done so already. In particular, update theUi.png
to match the current product ( tips).
4 Release v1.5 Thu, Nov 7th 23:59
- Do a as described in the Developer Guide. Do the release by the given deadline. Do some manual tests to ensure the jar file works. Include the following files in the release (as separate assets):
- JAR file
- UG (PDF file) -- uploaded as an 'asset' (similar to the JAR file), not embedded in the release note.
- DG (PDF file) -- similar to DG
- It is optional to write detailed release notes for this version.
- You can do an additional release before the PE dry run (PE-D) if you wish, as long as you do it before 10 am Friday. That additional release is still considered part of v1.5 and therefore, can contain new features. When doing this additional release, do not delete the previous release (reason: it is good to preserver the release history) -- testers are expected to test the latest release file anyway. You may use any suitable version number for this JAR file e.g.,
v1.5.1
.
Waiting till Friday 10am to release thev1.5
is strongly discouraged because if you miss that deadline, your team will not be able to benefit from the PE-D at all. It is better to have an earlier release to fall back on in case that happens. - The feature freeze will apply at the point you released the JAR file that was used in the PE-D i.e., the features submitted in the final
v1.6
two weeks later should be the same as the features tested during PE-D, which is the rationale for the feature freeze anyway. - As before, wrap up the milestone (i.e., reschedule/close any remaining issues/PRs and close the milestone).