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 until this Week

We will discuss expected results during the class on this week. So please make sure to be prepared! More about penalty and bonus points
  • 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 Duration
Status About the Projects 10 minutes
Testing or Trying 30 minutes
Writing Test Cases 30 minutes
Executing Test Cases 30 minutes

Notes for tutors: 

1: Status About the Projects (10 minutes)

  • 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 (30 minutes)

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 (30 minutes)

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.
  • Each team should write test cases for at least one feature request in their own project.

4: Executing Test Cases (30 minutes)

Why is this useful for me?

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

Background

  • Test cases can be executed manually or automatically, depending on their nature.
  • Manual test execution logs should be documented as separate Markdown files in the docs/testing/test_execution_logs/ folder of the project repository and linked into the README.md file.
  • Automated test execution results should be documented in the appropriate test framework used by the project (e.g., pytest, JUnit, etc.) and linked into the README.md file. You may have to copy relevant logs or screenshots to the docs/testing/test_execution_logs/ folder for documentation purposes.
  • This is part of Fixing a bug task.
  • Why We Test?
  • How We Test?

Activities

  • Each team should execute at least one test case for a bug report in their own project and document the results.
  • Each team should execute at least one test case for a feature request in their own project and document the results.