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

  • Students have to write and submit a bug report for their own project.
  • Students have to write a feature request for the other project.
Title
Status About the Projects
Testing or Trying
Writing Test Cases For Bug
Writing Test Cases For Feature

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.