Assignment 3 – Test Your Team Members' Mail-Sending Programs

Assignment 3 – Test Your Team Members' Mail-Sending Programs

Independent Quality Assurance through Validation and Verification, and particularly through testing, is a vitally important aspect of software development. At this stage of software development you receive crucial feedback on the behavior of your program. If your QA team is effective, they will catch critical bugs before you release software to your customer.


  • Step 1: Find the bitbucket repository URLs for all your team members. (These are not posted publicly. A person with initiative in each team should start a group email to all team members; share your bitbucket repository on this thread.)
  • Step 2: Use the grading criteria at the bottom of this assignment to grade your team members.
  • Step 3: Create a text file with your assessments, in the following format:

    authors_full_name <authors_email_address>|functionality_score|coding_standards_score|documentation_score|overall_score|notes

    In the text file you should have one assessment per line, and you should assess all your team members, for example:
    Ignatius Dev <>|31|16|13|7|a bit painful to compile on my platform and lacking documentation
    Antiphone Dev <>|40|18|20|10|a near perfect assignment

    If the version you're evaluating was submitted late, put "[late *date*]" in the notes, e.g. "[late 2010-11-4]".
  • Step 4: Upload your text file to moodle when complete.


  • Ensure your comments are anonymous, such that we can give feedback to the author.
  • Do not spend a lot of time trying to get a program to work. Your performance is based on the feedback you provide, not your ability to get their code working.
  • Do not hesitate to ask questions. If you are confused about something, please post your question in the forum.
  • Ask the developer questions about their program if you have issues. Give them an opportunity to help you resolve an issue. Grade favorably if they are responsive and helpful.

Grading Criteria:

  1. (0-40) Functionality: Does the program satisfy the assignment? Does it send email? Does it compile? Use your personal test cases when testing the program: do they work?
  2. (0-20) Coding Standards: How well does the code conform to the Wildfire coding standards?
  3. (0-20) Documentation: Is the documentation useful? Are there any bizarre caveats in the program that you had to email the author about? If the program only works on the PSU network, is this documented?
  4. (0-20) Overall: Did you spend a lot of time getting the program to work? Qualitatively, what was your experience testing this program?

Note that a zero or near-zero on any of these criteria is an indication that the program is not yet ready for evaluation. Do not waste time evaluating a failed program: simply reject it.