Software Quality Assurance - Fall 2017
Taught by: Bill Laboon (laboon at cs dot pitt dot edu)
- GitHub username: laboon
Professor's Office Hours:
- SENSQ 6305
- Tuesday, 1:30-4:30 (except first week)
Class Time:
- Mon / Wed, 9:30 AM - 10:45 AM
Room: SENSQ 5129
TA:
TBD
Class GitHub repo: https://www.github.com/laboon/CS1632_Fall2017
Required Text: A Friendly Introduction to Software Testing by Bill Laboon.
- This is a PDF and is available on Github
- If you like, you may purchase a physical copy on Amazon at: http://www.amazon.com/Friendly-Introduction-Software-Testing/dp/1523477377/ or CreateSpace at: https://www.createspace.com/6008739 .
- However, I want to emphasize that this is NOT NECESSARY. All material is available online, either in this repository or in the (freely available) PDF version of the book linked above. However, some people prefer to have a physical copy.
Recommended Texts:
Test-Driven Development: By Example, Kent Beck ISBN-13: 978-0321146533
Software Testing: A Craftsman's Approach, Paul Jorgensen, ISBN-13: 978-1466560680
I have both of these texts available for you to borrow.
This course provides students with a broad understanding of modern software testing and quality assurance. Although it will cover testing theory, the emphasis is on providing practical skills in software testing currently used in industry. To that end, it will cover: manual and automated tests, test-driven development, performance testing, and understanding and developing a testing strategy.
- Projects (70%):
- Deliverable 1 - 10%
- Deliverable 2 - 15%
- Deliverable 3 - 10%
- Deliverable 4 - 10%
- Deliverable 5 - 10%
- Deliverable 6 - 15%
- Midterms (20%):
- Midterm 1 - 10%
- Midterm 2 - 10%
- Exercises (10%):
- Includes several in-class exercises and lectures
- See below
Although you are not required to come to every class, it is strongly recommended that you do.
Exercise days (where there is no lecture, but an in-class exercise) are listed on the syllabus as EX_n_ (where n is in the range {1,7}).
The following grading scale will be used.
Score | Grade |
---|---|
100.00-94.00 | A (A+ for extraordinary work) |
93.99-91.00 | A- |
90.99-88.00 | B+ |
87.99-84.00 | B |
83.99-81.00 | B- |
80.99-78.00 | C+ |
77.99-74.00 | C |
73.99-71.00 | C- |
70.99-68.00 | D+ |
67.99-64.00 | D |
63.99-61.00 | D- |
60.99-0.00 | F |
All groups are expected to do their own work on the group projects, and students to do entirely their own work on the other projects. Projects may be analyzed with the Stanford moss system to detect unauthorized collaboration between groups or individuals. Any student caught collaborating or cheating will automatically receive a 0 (zero) for that exam, and may be penalized more harshly based on University of Pittsburgh academic policy.
Assignments should be committed and pushed to GitHub to a private repository and shared with the TA and me by the beginning of class on the due date. Write-ups are due at the beginning of class and must be given to me in person. Late assignments will not be accepted absent of extraordinary circumstances.
Please ensure that you have a student GitHub account so that you can make private repositories. This is free and available here: https://education.github.com/
If any disputes from groups arise, I will assume that GitHub is the "ground truth". For example, if Partner A insists that they did all the work, but GitHub history shows only commits by Partner B, I will assume that Partner B has done all the work.
It is recommended you keep all of your graded assignments until final grades are posted and accepted, in order to resolve any discrepancies in grading.
Lecture attendance for non-exercise classes is not required, but is STRONGLY recommended. The instructor will try to ensure that all information on the exams and projects will be available via slides, but simply reading them may be insufficient to understand the concepts thoroughly. Presence for exercise days is required in order to get the full class participation score. These will not be rescheduled individually.
- Deliverable 1: A test plan and traceability matrix for a system.
- Deliverable 2: Developing an application using unit tests.
- Deliverable 3: Automated system-level tests of an application.
- Deliverable 4: Performance testing and improvement of an application.
- Deliverable 5: Developing a system with the help of static analysis.
- Deliverable 6: Developing and testing a large application.
For all deliverables, the class will use Java 1.8 or later with the appropriate frameworks (e.g., git, JUnit, Mockito, Selenium, FindBugs, checkstyle) as discussed in class. Projects written in other languages or using alternative frameworks will generally not be accepted.
Under normal circumstances, it is almost always better to participate in class than not. Questions and comments are invited and strongly encouraged! However, this implies raising your hand and waiting to be called upon. In dire circumstances, some waving of the hands in order to get the instructor's attention is allowed, but suboptimal. Talking out of turn or while the instructor is speaking is frowned upon. If it persists after a warning has been given, the instructor may ask any offending parties to leave the room to continue their discussion elsewhere.
"The Office of Disability Resources and Services (DRS) provides a broad range of support services to assist students with disabilities. Services include, but are not limited to, tape-recorded textbooks, sign language interpreters, adaptive and transportation. Contact DRS at 412-648-7890 or 412-383-1355 (TTY) in 216 William Pitt Union or see www.drs.pitt.edu for more computer technology, Braille translation, and nonstandard exam arrangements, DRS can also assist students with accessibility to campus housing information."
The integrity of the academic process requires fair and impartial evaluation on the part of faculty and honest academic conduct on the part of students. To this end, students are expected to conduct themselves at a high level of responsibility in the fulfillment of the course of their study. It is the corresponding responsibility of faculty to make clear to students those standards by which students will be evaluated and the resources permissible for use by students during the course of their study and evaluation. The educational process is perceived as a joint faculty-student enterprise which will perforce involve professional judgment by faculty and may involve—without penalty—reasoned exception by students to the data or views offered by faculty.
Cheating/plagiarism will not be tolerated. Students suspected of violating the University of Pittsburgh Policy on Academic Integrity, from the February 1974 Senate Committee on Tenure and Academic Freedom reported to the Senate Council, will be required to participate in the outlined procedural process as initiated by the instructor. A minimum sanction of a zero score for the quiz or exam will be imposed.
View the complete policy at www.cfo.pitt.edu/policies/policy/02/02-03-02.html.