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.
Specification
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.
Resources
We have provided templates for each of the documents we need you to complete.
Project specification document
Test plan document
Test feedback document
Commentary
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.
Hints
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:
- SpecificationsTeamA.pdf, where A is your group number. A document that details the specifications of your project.
- TestPlanA-B.pdf, where A is your group number, and B is the group number of the Subject team that you tested. A document that shows the test plan for the group you are assigned to test (your Subject team)
- TestPlanC-A.pdf, where A is your group number, and C is the group number of the team that is testing your project. A document that shows the test plan for testing your project.
- CompletedTestsA_B.pdf, where A is your group number, and B is the group number of the subject team that you tested. A document that shows the tests done for the group you are assigned to test (your Subject team)
- CompletedTestsC_A.pdf, where A is your group number, and C is the group number of the team that is testing your project. A document that shows the tests done for your group.
Grading Rubric
PC5 Grading (out of 25 points):
- 3 points — Document that details the specifications of your project. Please title this document SpecificationsTeamA.pdf, where A is your group number. This is expected to be about 2 pages.
- 3 points for clear descriptions that cover the full scope of the project, all features, and error handling plans. Each feature is described in terms of the expected inputs, results, and error-handling. If a front-end is involved, screenshots or descriptions of front-end elements are described.
- 2 points for adequate descriptions that cover the majority of the project and features. Each feature has a decent set of explanations in terms of the expected inputs, results and error-handling. A few components may be under-developed or thought out but the majority is good.
- 1 points for underdeveloped descriptions that fail to cover the majority of the project and features. Most features have significant gaps in the explanations in terms of the expected inputs, results and error-handling.
- 0 points for an underdeveloped or missing document.
- 6 points — Document that shows the test plan for the group you are assigned to test (your Subject team). Please title this document TestPlanA-B.pdf where A is your group number, and B is the group number of the Subject team that you tested.
- 6 points for a thorough test plan, where all the features listed in the subject teams specification document have at least 2 tests associated with them, with error handling and edge case tests as appropriate. Each test has enough utterances to completely go through the feature and verify that it works. The expected responses are appropriate and the teams have identified what will need to be completed before the test can be run. All features were tested, each with at least 2 test cases plus error handling.
- 3 points for a test plan where almost all the features listed in the subject teams specification document have at least 1 test associated with them. There may be error handling and edge case tests. Most tests have enough utterances to completely go through the feature and verify that it works. The expected responses are adequate and the teams have identified the majority of items necessary to complete testing. Some details within the test plan may be missing. Minimum 2 features tested, each with at least 2 test cases plus error handling.
- 1 point for a test plan that included either only one feature, or tested features with fewer than 2 test cases each. There may be error handling and edge case tests. Most tests do not have enough utterances to completely go through the feature and verify that it works. The expected responses are inadequate and there are many items necessary to complete testing that have yet to be identified.
- 0 points for a missing or incredibly underdeveloped test plan.
- 6 points — Document that shows the test plan for testing your project. Please title this document TestPlanC-A.pdf where A is your group number, and C is the group number of the team that is testing your project.
- 6 points for a thorough test plan, where all the features listed in the subject teams specification document have at least 2 tests associated with them, with error handling and edge case tests as appropriate. Each test has enough utterances to completely go through the feature and verify that it works. The expected responses are appropriate and the teams have identified what will need to be completed before the test can be run.
- 3 points for a test plan where almost all the features listed in the subject teams specification document have at least 1 test associated with them. There may be error handling and edge case tests. Most tests have enough utterances to completely go through the feature and verify that it works. The expected responses are adequate and the teams have identified the majority of items necessary to complete testing. Some details within the test plan may be missing.
- 1 point for a test plan where some of the features listed in the subject teams specification document have at least 1 test associated with them. There may be error handling and edge case tests. Most tests do not have enough utterances to completely go through the feature and verify that it works. The expected responses are inadequate and there are many items necessary to complete testing that have yet to be identified.
- 0 points for a missing or incredibly underdeveloped test plan.
- 5 points — Document that shows the tests done for the group you are assigned to test. Please title this document CompletedTestsA_B.pdf where A is your group number, and B is the group number of the subject team that you tested.
- 5 points for completing all of the tests and writing up feedback. The tests performed are thorough, whether they passed or not. Any major changes made to the test plan are documented. The feedback provided is thorough.
- 3 points for completing most of the tests and writing up feedback. The tests performed are adequate, whether they passed or not. Most changes made to the test plan are documented. The feedback provided may not be thorough.
- 1 point for completing some tests and writing up feedback. The tests performed are not adequate. Provided feedback may be extremely bare.
- 0 points if the tests were not completed or incredibly weak.
- 5 points — Document that shows the tests done for your group. Please title this document CompletedTestsC_A.pdf where A is your group number, and C is the group number of the team that is testing your project.
- 5 points for ensuring all needed items are delivered to the testing team by the date mentioned in the test plan and any problems or delays were communicated in advance and alternate plans were made.
- 3 points for ensuring all needed items are delivered to the testing team. This may occur after the date mentioned in the test plan and any problems or delays may not have been communicated properly in advance.
- 1 point for ensuring some of the needed items are delivered to the testing team. This may occur after the date mentioned in the test plan and any problems or delays may not have been communicated properly in advance. The testing team may not have enough to test with by the deadline.
- 0 points for delivering some or none of the needed items to the testing team. The testing team did not have enough to test with by the deadline.