From cb6bfe5a4ced4ad1c28922a638276e71a13d07c0 Mon Sep 17 00:00:00 2001 From: cweijin Date: Tue, 12 Nov 2024 01:44:33 +0800 Subject: [PATCH 1/2] Update DG for Manual Testing --- docs/DeveloperGuide.md | 178 +++++++++++++++++++++++++++++++++-------- 1 file changed, 144 insertions(+), 34 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index dcb55ba9f00..9c7010e1c6d 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -691,43 +691,153 @@ testers are expected to do more *exploratory* testing. 1. Initial launch - 1. Download the jar file and copy into an empty folder - - 1. Double-click the jar file Expected: Shows the GUI with a set of sample contacts. The window size may not be optimum. - -1. Saving window preferences - - 1. Resize the window to an optimum size. Move the window to a different location. Close the window. - - 1. Re-launch the app by double-clicking the jar file.
- Expected: The most recent window size and location is retained. - -1. _{ more test cases …​ }_ - -### Deleting a person - -1. Deleting a person while all persons are being shown - - 1. Prerequisites: List all persons using the `list` command. Multiple persons in the list. - - 1. Test case: `delete 1`
- Expected: First contact is deleted from the list. Details of the deleted contact shown in the status message. Timestamp in the status bar is updated. - - 1. Test case: `delete 0`
- Expected: No person is deleted. Error details shown in the status message. Status bar remains the same. - - 1. Other incorrect delete commands to try: `delete`, `delete x`, `...` (where x is larger than the list size)
- Expected: Similar to previous. - -1. _{ more test cases …​ }_ + 1. Download the jar file and copy into an empty folder. + + 2. Double-click the jar file.
+ Expected: A help window appears for first-time users, along with the GUI displaying a set of sample contacts. The window size may not be optimal. + +2. Saving window preferences + + 1. Resize the window to an optimal size, move it to a different location and close it. + + 2. Relaunch the app by double-clicking the JAR file.
+ Expected: No help window appears. The most recent window size and location are retained. + +### Adding a student + +1. Adding a student with a new NRIC + 1. Prerequisites: Student with NRIC number T3848559A does not exist in the system. + 2. Test case: `add n\Sam Tan i\T3848559A yg\3 p\81003999 e\samtan@gmail.com a\9 Smith Street s\Science`
+ Expected: Student named Sam Tan with NRIC T3848559A is added to the list. +2. Adding a student with an existing name but new NRIC + 1. Prerequisites: A student named Sam Tan exists in the system. + 2. Test case: `add n\Sam Tan i\S2684225J yg\2 p\88247432 e\sammmie@gmail.com a\16 Next Street s\Math`
+ Expected: Student named Sam Tan with NRIC S2684225J is added to the list. +3. Adding a student with an existing NRIC + 1. Prerequisites: A student with NRIC number T3848559A exists in the system. + 2. Test case: `add n\John Doe i\T3848559A yg\2 p\91234567 e\johndoe@yahoo.com a\10 Orchard Road s\Science s\Math`
+ Expected: Error message indicating that another student with the same NRIC already exists in the system. + +### Editing a student + +1. Editing an existing student's details + 1. Prerequisites: A student with ID S00001 exists in the system. + 2. Test case: `edit s00001 p\91234567 a\18 Tampines Road`
+ Expected: Student with ID S00001 is updated with phone number "91234567" and address "18 Tampines Road". + Success message is shown in the message box. +2. Editing a non-existent student's detail + 1. Prerequisites: Student with ID S00999 does not exist in the system. + 2. Test case: `edit s00999 p\84754243 a\25 Orchard Road`
+ Expected: Error message indicating that no student is found with the provided student ID. +3. Editing a student's NRIC to match an existing student's NRIC. + 1. Prerequisites: + * Student with ID S00001 exists in the system. + * Another student with NRIC S2684225J exists in the system. + 2. Test case: `edit s00001 i\S2684225J`
+ Expected: Error message indicating that another student with the same NRIC already exists in the system. + +### Adding subject(s) to a student + +1. Adding one subject to a student + 1. Prerequisites: Student with ID S00001 exists in the system. + 2. Test case: `addsubject S00001 s\Math`
+ Expected: Student with ID S00001 is added to the subject Math. Existing subjects remain unchanged. +2. Adding multiple subjects to a student + 1. Prerequisites: Student with ID s00001 exists in the system. + 2. Test case: `addsubject S00001 s\History s\Chinese` + Expected: Student with ID S00001 is added to subjects History and Chinese. The existing subjects remained unchanged. + +### Deleting a student + +1. Deleting an existing student + 1. Prerequisites: Student with ID S00001 exists in the system. + 2. Test case: `delete S00001`
+ Expected: Student with ID S00001 is deleted from the list. Details of the deleted student are shown in the success message. +2. Deleting a non-existent student + 1. Prerequisites: Student with ID S00001 does not exist in the system. + 2. Test case: `delete S00001`
+ Expected: No student is deleted. Error message indicating that no student is found with the provided student ID. + +### Viewing student's detail + +1. Viewing details of an existing student + 1. Prerequisites: Student with ID S00002 exists in the system. + 2. Test case: `detail S00002`
+ Expected: A pop-up window displays the details of the student with ID S00002. +2. Closing the pop-up window + 1. Prerequisites: A pop-up window is displayed. + 2. Test case: Press `B` on the keyboard
+ Expected: The pop-up window closes. + +### Searching for a student + +1. Searching for students by full name + 1. Prerequisites: + * Multiple students exist in the system. + * A student named Sam Tan exists in the system. + 2. Test case: `find sam`
+ Expected: A list of students, including Sam Tan, is shown. +2. Searching for students by partial name + 1. Prerequisites: + * Multiple students exist in the system. + * A student named Sam Tan exists in the system. + 2. Test case: `find sa`
+ Expected: A list of students, including Sam Tan, is shown. + +### Sorting the student list + +1. Sorting the student list by specific field + 1. Prerequisites: Multiple students exist in the system. + 2. Test case: `sort by\name`
+ Expected: Student list is sorted in ascending lexicographical order by name. + 3. Test case: `sort by\subject`
+ Expected: Student list is sorted by the lexicographically smallest subject they are taking. + 4. Test case: `sort by\studentId`
+ Expected: Student list is sorted in ascending order by student ID. + 5. Test case: `sort by\yearGroup`
+ Expected: Student list is sorted in ascending order by year group. + +### Filtering the student list + +1. Filter by year group + 1. Prerequisites: + * Multiple students exist in the system. + * At least one student from year group 3 exists. + 2. Test case: `filter yg\3`
+ Expected: A list of students in year group 3 is shown. +2. Filter the student list by subject + 1. Prerequisites: + * Multiple students exist in the system. + * At least one student taking subject English exists. + 2. Test case: `filter s\English`
+ Expected: A list of students taking English is shown. + +### Tracking statistics of subjects + +1. Opening the track subject window + 1. Prerequisites: None + 2. Test case: `tracksubject`
+ Expected: A window displays subject statistics. +2. Closing the track subject window + 1. Prerequisites: The track subject window is displayed. + 2. Test case: Press `B` on the keyboard
+ Expected: The track subject window closes. ### Saving data -1. Dealing with missing/corrupted data files - - 1. _{explain how to simulate a missing/corrupted file, and the expected behavior}_ - -1. _{ more test cases …​ }_ +1. Dealing with missing data file + 1. Prerequisites: Storage file exits (default location: ./data/academyassist.json) + 2. Test case: Delete `academyassist.json`
+ Expected: AcademyAssist erases all existing data and start with a blank data file. + +2. Dealing with corrupted data file + 1. Prerequisites: Storage file exits (default location: ./data/academyassist.json) + 2. Test case: Edit the file into an invalid JSON format (e.g., deleting a `:`) + Expected: AcademyAssist erases all existing data and start with a blank data file. + 3. Test case: Duplicate a student's entries + Expected: AcademyAssist erases all existing data and start with a blank data file. + 4. Test case: Set `idGeneratedCount` to a value greater than 99999 + Expected: AcademyAssist erases all existing data and start with a blank data file. -------------------------------------------------------------------------------------------------------------------- From 5cb09a468f5ccb2df6e0c6ef235fb2932bc3927c Mon Sep 17 00:00:00 2001 From: cweijin Date: Tue, 12 Nov 2024 01:49:38 +0800 Subject: [PATCH 2/2] Update subheadings --- docs/DeveloperGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9c7010e1c6d..ffee976e133 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -812,7 +812,7 @@ testers are expected to do more *exploratory* testing. 2. Test case: `filter s\English`
Expected: A list of students taking English is shown. -### Tracking statistics of subjects +### Tracking subject statistics 1. Opening the track subject window 1. Prerequisites: None