Software Quality Assurance
Taught by: Bill Laboon ([email protected])
Professor's Office Hours: SENSQ 6305
- Thursday 2:30-4:00 PM
- Wednesday 1:00-2:30 PM
- or by appointment.
Class Time: T/H 4:00-5:15 PM. Room: SENSQ 5129
TA: Office Hours:
Class GitHub repo: https://www.github.com/laboon/cs1632
Required Text: A Friendly Introduction to Software Testing by Bill Laboon.
- This is a PDF and is available on Github
- https://github.com/laboon/software-testing/blob/master/software-testing-laboon-ebook.pdf
- If you spot a typo or mistake, or suggest an improvement that I use, and file it as a pull request or issue on the source repository (ebook), you can get 0.5 extra percentage point (out of 100), up to 2 percentage points.
- In other words, if you finish the semester with a 90, but submitted 4 valid issues / typo fixes / whatever, your final grade is 90 + 2, 92.
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 and behavior-driven development, performance testing, and understanding and developing a testing process.
- Mid-term Exam - 15%
- Final Exam - 15%
- Projects:
- Deliverable 1 - 10%
- Deliverable 2 - 10%
- Deliverable 3 - 10%
- Deliverable 4 - 10%
- Deliverable 5 - 10%
- Final Deliverable - 15%
- Class Participation - 5%
Although you are not required to come to every class (as you can see, it's technically possible to get an A without ever showing up except for turning in papers and tests), it is strongly recommended that you do. I also expect students to take an active part in discussions. Attendance will be taken for project days, and this will count towards class participation.
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 project, but are more than welcome to collaborate and ask questions with other groups, the Internet, or other colleagues.
However, any student caught collaborating or cheating on an exam 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 by the beginning of class on the due date. Write-ups are due at the beginning of class. Late assignments will not be accepted.
If any disputes from groups arise, I will assume that GitHub is the "ground truth".
The final exam will be cumulative.
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 is not required, but is STRONGLY recommended. The instructor will try to ensure that all information on the exams will be available via slides, but simply reading them may be insufficient to understand the concepts thoroughly.
Presence for group exercise days is required in order to get the full class participation score. These will not be rescheduled individually.
Presence for the mid-term and final exam are REQUIRED. They will be individually re-scheduled only in the event of an emergency. If you are facing an emergency, please contact the instructor IMMEDIATELY (if it is safe to do so, of course). Failure to show up for an exam without clearing it first with the instructor will result in a 0 (zero) for that exam.
For deliverables 1, 3 and 5, groups of two will be assigned and will be different each time. For the final deliverable, you can choose to work alone, or choose your own partner (who must, of course, also agree to work with you). This partner can be someone with whom you have worked previously.
Students will perform the role of QA team on a project which can be selected either by themselves, or assigned by the instructor. Although students can select to work on a different project, it must first be cleared with the instructor. Additionally, it should be noted that the instructor and/or TA may not be able to help as much if you use a different project or language! The group should check with the instructor as to the feasibility of the particular project they are working on.
- Deliverable 1: A test plan and traceability matrix
- Deliverable 2: Unit tests for a console-based application.
- Deliverable 3: Automated acceptance tests for a web application.
- Deliverable 4: Performance testing of an application.
- Deliverable 5: Security analysis of an application.
- Final Deliverable: Will vary based on the group. See the Final Deliverable description for details of what is expected.
Deliverables must be handed in by close of class on the day that it is due. Late deliverables will NOT be accepted.
For deliverables 1 through 5, the class will use Java with the appropriate frameworks (JUnit, Mockito, Selenium). For the final project, student groups are free to choose their own language/framework if they wish. However, the professor may not be able to help them if he is not familiar with the language/framework of their choice!
If you want to use Java but aren't a fan of Eclipse, information on setting up the Gradle build tool with the required packages for this course can be found here.
"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."
"As members of the University of Pittsburgh community, A&S students are expected to meet the obligation to exhibit honesty and to respect the ethical standards of the University community and of their chosen field of study in carrying out academic assignments. A&S students are therefore expected to familiarize themselves with the published rules and regulations go to http://www.fcas.pitt.edu/academicintegrity.html