Comp 611

System Testing and Evaluation

Fall 2019 | MW 1:00 to 2:15 pm in Benbow Hall 109

Course Logistics

Blackboard: NC A&T uses the Blackboard course management system. You will find official announcements, course slides, additional lecture notes and practice programs on Blackboard. Blackboard is also where you will submit assignments.

Lectures: Lectures occur on M/W from 1:00 to 2:15 pm in Benbow Hall 109

Textbook: The main text is: Introduction to Software Testing by Paul Ammann and Jeff Offut.

Course Description

Overview: This course first introduces the basics of software testing theory and practice, and then presents some recently developed techniques for systematically finding bugs in programs and improving their reliability. A NIST report from 2002 estimates that software failures cost the US economy $59.5 billion dollars annually and over a third of this cost could be saved using a better infrastructure for testing. It is widely accepted that testing currently accounts for more than one half of the cost of software development. Learning the techniques and tools presented in this course is likely to significantly increase the students’ productivity as software developers and testers and improve the quality of the code they develop.

Policies

In-class exercises: There purpose of these exercises is to give you immediate hands on experience to the days topics. You are encouraged to work in small groups, allowing peer learning and imitating industrial software development and quality assurance scenarios. Each exercise is designed to get you to think about some specific aspect of the material we are learning that day.

Homework assignments: Some homework assignments will be written and some will require programming. Most will allow collaboration. Because each homework helps you develop competency in basic and advanced concepts, it is important that you manage your time wisely.

Project: A project will provide you the opportunity to explore and experience software testing in practice. There are two options, please choose only one option: (1) test generation project — to provide you the opportunity to design and automate tests for a software project, (2) position paper — to expose you to advanced topics and challenges in software testing and give you the opportunity to learn more about an area of your interest. You may work on the project individually or with one partner.

Quizzes: We will have weekly quizzes and no midterm exam. The goals of the quizzes are to reinforce the concepts in recent classes and assess your understanding of recent topics/skills. This also gives me an opportunity to work with you on any particular topics/skills that can be improved. Quizzes will generally cover material from previous classes. They will be given during the first 10-15 minutes of class. The lowest quiz grade will be dropped.

Paper discussions: For the last month, the class will focus on discussing and analyzing impactful research papers in the software testing field. Before each class, a write up of the paper of the day will be due on Blackboard. For the write up, students must: summarize the paper, list 3 strengths of the paper, and list 3 weaknesses.

Paper presentations: Students will select from the list of papers in the syallbus and sign up to present a powerpoint to: summarize the paper, talk to related work, talk to the evaluation, talk to the strengths and weaknesses of each paper. This will be the starting foundation for the day’s discussion. The presentations will be 20 minutes each.

Use of Email: You cannot expect to get last-minute help on assignments by email. Although it's easy for you to dash off an email question, it takes time to answer it. In general, you should not ask email questions to which you can find the answer somewhere else (e.g., class notes, web page). If you must send an email, spend extra time to ensure that you are both brief and clear. Please include your name in the "From:" line of the email message, not just your email address. Email is a valuable tool for communicating with the instructional team. But be sure to use it properly, and follow the rules of good email etiquette (e.g., no flaming, spamming, etc.). Email messages will be sent to the student's A&T email address. It is the student's responsibility to regularly check their A&T email account.

Grade Disputes: If you are dissatisfied with a grade you receive, you must submit your complaint briefly in writing or by email, along with supporting evidence or arguments, within one week of the date that we first attempted to return the exam or assignment to you.
     The grade you are given on an exam, a quiz, an assignment, or as your final grade, is not the starting point of a negotiation. It is your grade unless a concrete error has been made. Do not come to the instructors or TAs to ask for a better grade because you want one or you feel you deserve it. Come only if you can document a specific error in grading or in recording your scores. Errors can certainly be made in grading, especially when many students are involved. But keep in mind that errors can be made either in your favor or not. So it is possible that if you ask to have a piece of work re-graded your grade will go down rather than up.
     Remember that the most important characteristic of any grading scheme is that it be fair. Keep this in mind if you're thinking of asking, for example, for more partial credit points on a problem. The important thing is not the exact number of points that were taken off for each kind of mistake. The important thing is that that number was the same for everyone.