Skip to the content of the web site.

ECE453/CS447/SE465: Software Testing & Quality Assurance, W09

Aggregate data about submitted marks

Final course grades looked a lot like the final exam marks. Overall average: 79.6%. CS447: 72.6%; CS647: 72.6%; ECE453: 73.8%; SE465: 84.8%. I reweighted an assignment to 5% and divided the resulting grade by 95% if the anomaly was much lower than anything else, unless your adjusted grade would be greater than 80%.

Final Exam

The average mark on the final exam was 81.2%. The lowest mark was 50%, and there were a couple of perfect exams. Here are per-class averages: CS447, 78.4%; CS647, 72.7%; ECE453, 73.8%; SE465, 88.1%. I don't anticipate any total grades below 50%, but there may be some below 60%.

Review Tutorials

Here are Zarrin's slides from the review tutorial.

Partial A2 Solutions

Here are my solutions to A2 questions 2, 3 and 5. [pdf]. I intend to add solutions for Q6 eventually (and perhaps Q4, if anyone wants). Please let me know of any errors.

Project

I've posted the course project. I will post clarifications as necessary. You may do the project in groups of up to 4. Part 2: I mean that you pick methods A and B from the classes I listed, plus classes C and D (your choice). Also, you only need one case where each of CACC and AUC improve coverage; you can pick this case from any of A, B, C or D. You may ignore exceptions. Edge coverage is on a intra-method level: it's hard to get all edges in the presence of virtual dispatch. Cover inner classes. Use coupling-AUC across methods and CACC within a method. If your tests become trivial because you don't test private methods with JUnit, use reflection to test them. Find 3 mutants total (not 3 per method).

Midterm-related Information

The overall mean for the midterm was 74.8%. I've adjusted the marks by adding 5% to everyone's scores. Here are the midterm solutions and some practice questions for the midterm.

Extra grace day

I am allowing one more grace day for you to submit Assignment 2. Here is the deal: if you use 0 or 1 grace days, I will add 5% to your assignment 2 mark. If you use 2 grace days, then you get no extra marks on assignment 2. I compute grace days using both A1 and A2 submission times.

Assignment 2

Question 6 is now a bonus question. Here is Assignment 2 [pdf]. It is due on March 9. Amendment: for question 5, there don't appear to be any "don't care" values. Use the TestPat program from Chapter 2 instead. You may consider just pat() for reachability purposes. Source for TestPat.

Assignment 1

Assignment 1 is now available [pdf]. Some notes.

Tutorial

The second tutorial is on Monday, February 2 or on Friday, February 6, depending on whether you're in SE465 or not. This tutorial will discuss JUnit and review material for the midterm. In general, I will announce tutorials ahead of time in class and on this web page.

Office Hours

Patrick's office hours will be Thursdays 2:00-3:00, not Wednesdays.

Syllabus

Here is the syllabus for this class. The notes will follow shortly.

Textbooks

The textbook for the class will be:

Paul Ammann and Jeff Offutt. Introduction to Software Testing. Cambridge University Press, 2008.

This book is available on amazon.ca for $62. I also strongly recommend the following book:

Andreas Zeller. Why Programs Fail: a Guide to Systematic Debugging. Morgan Kaufmann, 2005.

The Zeller book is quite practical and I expect that it will be useful to you in the future as well.

Tutorials and Labs

Several students have asked me if the tutorials and labs are mandatory. They are not mandatory for this course.