Skip to content

Week 11: Testing (QA)

Goal

On this week's sessions student will learning-by-doing how to test software projects. They will write and execute test cases on their own projects. This will provide a very basic experience in software testing.

Expected Results Before This Week

Weekly Progress Check rules

  • Be prepared to show your results at the beginning of class.
  • Presenting teams are selected randomly each week. The same team may be selected repeatedly.
  • If your team is selected and there is no relevant work recorded before the session, 3 points will be deducted. Any relevant demonstrable work avoids the deduction: the weekly score is then between 0 and +3 points, depending on quality and completeness.
  • A missing expected result can cause a point deduction only once, but you should still catch up: later work may depend on it, and these results usually contribute to the tasks required for your desired grade. More about salary for tasks

How Weekly Progress Checks work · More about penalty and bonus points


This week's expected results

  • Create one GitLab issue for a known user-facing problem or limitation in your own project. Focus on something a user would notice while using the application—not an internal code problem. Describe what the user is trying to do, what currently happens, what should happen instead, and add any useful screenshot, short video, input example, or other evidence that helps another team understand the problem.
  • Create one GitLab issue for a genuinely missing user-facing feature. Describe who would use it, what they should be able to do, and what visible result they should get. Avoid implementation details such as classes, libraries, or database changes unless they are necessary for context; the issue should primarily describe the user's need. Add sketches, screenshots, examples, or links if they help, and keep both issues easy to find using your normal GitLab organization such as labels, milestones, or an issue board.

Notes for tutors: 

1: Status About the Projects

  • Each team summarizes the current status of their project in a few sentences (1-2 minutes per team).
  • Tutor will show the remaining deliverables and deadlines on the Grading page.

2: Testing or Trying

Why is this useful for me?

Things you learn and experience in this session will help you to solve the following tasks:

Background

Activities

3: Writing Test Cases For Bug

Why is this useful for me?

Things you learn and experience in this session will help you to solve the following tasks:

Background

  • Manual test cases should be documented as separate Markdown files in the docs/testing/test_cases/ folder of the project repository and linked into the README.md file.
  • Automated test cases should be implemented in the appropriate test framework used by the project (e.g., pytest, JUnit, etc.) and linked into the README.md file.
  • This is part of Fixing a bug task.
  • Why We Test?
  • How We Test?

Activities

  • Each team should write test cases for at least one bug report in their own project.

4: Writing Test Cases For Feature

Why is this useful for me?

Things you learn and experience in this session will help you to solve the following tasks:

Activities

  • Each team should write test cases for at least one feature request in their own project.