Hide menu

TDDD04 Software Testing

Lab assignments

Last Update: 2019-09-01, 20:32 CEST


The lab assignments are a compulsory part of the course, and much of your work during the course will be conducted on the lab assignments. Software Testing is a diverse discipline, though, and this lab course attempts to reflect that. You will have the chance to train how to use software engineering tools for automated testing, train in the art and practice of understanding and testing software manually, collaborate in teams to solve integration-testing assignments, and experiment with cutting-edge research software. The picture below gives you an overview of the lab series. We have outlined how you will come in contact with both research, techniques and practices during these lab assignments.

One of the most central aspects of the lab assignments is that you will collaborate in pairs, as well as in larger groups. In WebReg, you will be able to register for participating in the lab series in groups A1, A2 etcetera. Within those groups, you will collaborate in all lab assignments, to a smaller or greater extent. These are the lab assignments this year:

  1. Lab 1: Unit testing
  2. Lab 2: Symbolic execution
  3. Lab 3: Exploratory testing
  4. Lab 4: Integration testing
  5. Lab 5: Mutation testing


Sign up in WebReg to a group, and note lab hours specific to your group.

Also, read the instructions for how to use Git and Gitlab during the lab series, as we will use those tools extensively.

Collaboration in teams

We want you to share and review solutions to the questions in each lab with your peers in your WebReg groups, so that two or three pairs share solutions with one another. Either, two pairs share code, or three pass solutions to one another, so that each pair receives one solution to review and submits their solution to another pair for review. The only exception to this rule is the integration testing lab, in which the entire WebReg group conducts the lab assignment together, and submits reports on Gitlab afterwards.

The purpose of collaborating in this way is for you to being more confident in assessing your own skills and achievements, and those of your peers. The course staff will give you feedback as well, but we may not be able to provide detailed feedback on all your submissions.

Reporting your results

You are required to provide reports to demonstrate that you have completed each task from each lab. Your results shall be uploaded to Gitlab, where you shall have one repository per pair, with a mnemonic name. If you are pair 1 in WebReg group A1, your common Gitlab project should be called TDDD04-YEAR-A1-1, where YEAR is the current year. Provide your assistant with reporter access to your project, so he or she can review your solutions. Your project shall contain directories with names that correspond to each lab assignment as above. The labs will be presented by each binome separately, and during the presentation both students should be able to demonstrate they have contributed to the lab.

To complete the lab assignments, you are assumed to have reviewed each others' solutions as described above, and your assistant will focus on providing help during lab sessions, and check that you have passed the assignments by asking directed questions when you feel that you are done with the assignment. To successfully complete each lab, you are therefore required to be present during lab sessions and demonstrate your solutions. When you do, you must be able to demonstrate that you have uploaded a lab report according to the instructions for each lab. Do not expect to be able to demonstrate everything at the last minute though, as that will not be practically possible. Those within each WebReg group who have shared and reviewed each others' solutions demonstrate together, although you will have to answer questions about your solutions individually.

Passing the lab course

All lab assignments must be successfully completed and presented by 2019-11-03.

Important: If the labs are not submitted during the course period, they will not be graded until the next course period.

Page responsible: Lena Buffoni
Last updated: 2019-09-01