Files
004_comission/daniel_jo/ITP4459_assignment_2023/tests/case.md
louiscklaw 5ea2c37f8d update,
2025-01-31 19:38:17 +08:00

3.9 KiB

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