This commit is contained in:
louiscklaw
2025-01-31 19:38:17 +08:00
parent b7e6ca17ef
commit 5ea2c37f8d
124 changed files with 3736 additions and 0 deletions

View File

@@ -0,0 +1,106 @@
# TEST CASE:
- Name: Import data to MySQL database server
- Procedure
- Configure DB connection by editing `constants.py`
- Run `main_db.py`
- Start DBMS of your choice and validate the result. (phpmyadmin)
- Expected output
- Python file ran without errors and the database,
- tables and records are successfully created in database.
- Name: GUI startup
- Procedure
- Run application via `main_gui.py`
- do nothing
- Expected output
- show "Please select" at programme option menu
- show "Please select" at Semester option menu
- a empty list of module shown
- Name: Select programme
- Procedure
- Run application via `main_gui.py`
- click programme option menu
- watch option available in option menu
- Expected output
- show a list of programme available in DB
- Name: after user select programme, user proceed to Select semester
- Procedure
- Run application via `main_gui.py`
- click programme option menu
- select "Higher Diploma in Cybersecurity" in option menu
- watch options available in "Semester"
- Expected output
- 1,2,4,5 should be available in semester list
- Name: user Selected semester, user proceed to input Grade
- Procedure
- run procedure "after user select programme, user proceed to Select semester"
- select semester "1"
- Expected output
- the modules available to semester should be listed in the "Modules" frame
- the "Please Select" should be shown in every "Grade" option menu.
- a empty box should be displayed in the Module, Credit and Grade for every modules row for the rest
- Name: user input grade, get total GPA
- Procedure
- run procedure "user Selected semester, user proceed to input Grade"
- input all gpa
- Expected output
- watch the label at the bottom of the form.
- when not all gpa got answered, the gpa won't be updated (keep 0.00)
- when app gpa answered, the result gpa will be displayed (1.23)
- Name: Screen update
- Procedure
- Run same procedure as stated in "GPA Calculation Test #2"
- re-select "Semester" to 2
- re-select "Semester" to 4
- Expected output
- when "Semester" is 2
- Module list should be updated (3 -> 2 items)
- Credit list should be updated (3 -> 2 items)
- Grade list should be selected "Please select"
- when "Semester" is 4
- Module list should be updated (2 -> 1 items)
- Credit list should be updated (2 -> 1 items)
- Grade list should be selected "Please select"
- Name: GPA Calculation Test #1
- Procedure
- Run application via `main_gui.py`
- Perform semester GPA calculation with the input data stated in excepted output.
- Validate the result with expected output.
- Input:
- Programme: Higher Diploma in Cybersecurity; Semester: 2
- Subjects:
- "Vocational Chinese Communication: Putonghua Presentations, Administrative and Technical Text Writing" → A-
- "English & Communication: Reports" → C+
- Expected output
- Semester GPA: 3.00 shown at bottom
- Name: GPA Calculation Test #2
- Procedure
- Run application via `main_gui.py`
- Perform semester GPA calculation with the input data stated in excepted output.
- Validate the result with expected output.
- Input:
- Programme: Higher Diploma in AI and Smart Technology; Semester: 1
- Subjects:
- "Vocational Chinese Communication: Putonghua Conversation and Reports" → A
- "English & Communication: Workplace Interaction" → C-
- "English & Communication: Workplace Correspondance" → B+
- Expected output
- Semester GPA: 3.00 shown at bottom