PC5 — Cooperative Testing

PC5 is actually due Monday, 4/6 at noon, along with PC6.

PC5 is now due Monday, 3/30 at noon, along with PC6.

PC5 is due Monday, 3/23 at noon.

A critical part of any computer science project is testing your product. Many organizations have entire teams dedicated to testing. Here you will have the opportunity to test another team's project and to receive test feedback.

You will work with your group of up to 8 members to test another team's project and receive test feedback from another team on your project.


The cooperative testing process will involve working through the testing process, while also describing your project in a quick summary, higlighting it's features. This is important, because for a group to test your project, they need to actually know what it is and how it's supposed to function. You will work with two teams on this assignment. One team will be the team whose project you test, hereon out referred to as your subject team. The second team you work with will be the team who will test your project, hereon out referred to as your testing team.

You will be filling out various tests documents during this assignment, along with developing a specification document for your project. You will need to meet with your subject team to come up with a test plan, complete the tests, and then meet with the subject team again to show your documented results. Aditionally, the team that is testing your project will do the same with you.

Group Assignment

We have the assignments for what groups will work together here. Note: your group will be a part of two pairs as you will have one group testing your project and you will be responsible for testing a different groups project. So here group 6 will be responsible for testing group 1's project and group 1 will test group 4's project.


We have provided templates for each of the documents we need you to complete.

Project specification document

Test plan document

Test feedback document


It is important that all members of the team get experience in the testing process, both in testing another team's product and in working with another team to test your own product. Similarly, it is important that all group members contribute to the specification document to ensure it is complete. Team members having different ideas of what defines a feature and it's expected behaviour can indicate that not everyone has the same idea of the project. This is a great time to catch this problem and fix it so use this to your advantage to synchronize all your team members.

Having another team test your product allows you to better model how potential users of your system will try to use your product. The testing team may be able to point out problems you were unable to see while also testing the limits of the system.

While developing and executing the test plan is primarily the responsibility of the testing team, it is important that both the testing team and the subject team work together to create the test plan and go over the results. It is the responsibility of the subject team to supply the testing team with everything the testing team needs to complete the testing.

We understand that it may be difficult for all team members across two teams to find a common time to meet, thus not all group members need to be there. However, we still would like to know which members were present across the teams and encourage all team members to be there, and at the minimum, a part of the testing process. It is entirely possible to use a video confrencing software, such as BlueJeans, Skype, or Google Hangouts, to complete this part of the assignment.

We will be sending out emails to connect testing teams with subject teams on Monday 3/09/2020

Due to the inter-group nature of this assignment, timely communication is expected and the completion of all documents is required. Because of this, if your team fails to complete a document within a reasonable amount of time, your grade is subject to penalties, which may include receiving a 0 for the entire assignment. If your Subject or Testing team doesn't respond to you before March 16, please communicate with the instructors. It is the responsibility of all involved teams to communicate and ensure the work is done before the due date.


Since this is an intra-group effort, it is important to start early! Communication will be key here.

While all team members are expected to be a part of the testing process, it may be helpful to appoint leads for both testing the subject teams project and for having your project tested. This can help ease out intra-group communication and also allow other group members to focus on continued development of the product.

Remember, during this process, we still expect teams to activeely develop and enhance their product, even though the focus will be on testing.

The better your product before the test, the better test reuslts and feedback you will receive. If you give a group a web browser interface to test with but you plan on deploying your product to a mobile app, can they reall give you any feedback on your mobile app interface?

While we expect all features of your project to be tested, you can working with your testing team to highlight features you want the most feedback on.

The better developed the specification document is, the easier it will be for the testing team to come up with effective tests. This can help in ensuring the testing team does not focus on functionality your project doesn't support or on interactions that aren't as important to the product.

What To Turn In For PC5

You will turn in a single .zip file containing exactly five files:

Grading Rubric

PC5 Grading (out of 25 points):