[Current meme winner: NA - Checkout the competition]
Instructor: Dr. Steven Ding
Th 2:30PM - 3:30PM QA Talk - Live Streaming
✨ TAs: Leo Song (git: leordsong) ... [TBA] ✨
What is this course about? An introductory course in the practical aspects of software quality. Validation of software throughout the life cycle. Comparative effectiveness in defect removal of formal methods (proofs of correctness), inspection (walkthroughs and reviews), and testing (unit, integration, and system testing; white box versus black box). The primary purpose of this course is to introduce the concepts, theory and practice of software quality assurance through testing, inspection, and measurement.
-
Textbook. 📖 Lectures plus a range of library and web resources (for the main course content). CISC 327 Course Readings—available at the Queen’s Bookstore [Optional].
-
Tutorials, laboratories and final exam. 🧯 There are no formal tutorials. There are no scheduled labs, but you will require significant team lab time outside class to carry out your project assignments. There is no final exam.
There is an issues
tab right up there ☝️. Cannot find it? Click HERE. To ask a question, follow two steps:
- Frist, search for related issue using the
Filters
box. - If no one asked before, create an issue with a title that summazie your whole question. Then fill in the body of your question. You can copy screenshot and parse into the text box as well.
Assignments | Subject | Due | Mini-Exams | Due |
---|---|---|---|---|
A0 | Choose teams | W3 | Mini-Exam #0 (L1–6) | W4 |
A1 | Front end: requirements tests | TBD | Mini-Exam #1 (L7-16) | TBD |
A2 | Front end: rapid prototype | TBD | Mini-Exam #2 (L17, 18, 20, 21, 22) | TBD |
A3 | Front end: requirements testing | TBD | Mini-Exam #3 (L19, 24-26, 27, 28, 29) | TBD |
A4 | Back end: rapid prototype | TBD | ||
A5 | Back end: unit testing | TBD | ||
A6 | Integration and delivery | TBD |
In this course, all the assignments will be fully integrated with git and GitHub. Git is currently a common source code management solution used in the industrial. We will use git and GitHub for managing source code, running test cases, conducting code reviews, and managing documentations. Please go through the tutorial below throughoutly.
- 👉 GitHub Basics for Assignment Submission
- 🔜 TBA Working as a Team with Branches and Pull Request
- 🔜 TBA Working as a Team with Folks and Pull Request
(click titles below for details)
👉 Week 1 (Sept 8) Introduction to Quality Assurance, Software Process
-
L1: Introduction
- Course info.
- Software Quality.
- Software Quality Assurance.
-
L2: Software Process I:
- Quality in context. Software process activities.
- The Waterfall model.
- The Prototyping model.
- Evolutionary development.
Study questions:
- Fill in the blank: "Know what you're doing", "know what you should be doing", "know how to ????"
- What are the four fundamental process activities?
- What are some drawbacks and benefits of the waterfall model? the spiral model? etc.
🔜 Week 2 (Sept 14) Software Process Evaluation, Extreme Programming
Software Process II: The Spiral model. The Iterative Development Process (IDP). The Object Oriented Development Process.
Software Process Evaluation: Software process improvement. The Defect Prevention Process (DPP). Software quality standards. Maturity models, CMM, SPR. Baldrige Quality Award, ISO 9000.
Extreme Programming I: What is XP? Why is it called extreme? Characteristics of XP. Addressing risks before they arise.
Study questions:
- List two advantages of the XP practice "On-site Customer".
- XP practice 4, "Simplicity", favours designing for today over accounting for future needs. How might this lead to wasted work?
- We talked a little about safety-critical systems like Therac-25. Do you think XP would be a good process model for safety-critical software? Why or why not?
🔜 Week 3 (Sept 17) Intro to Systematic Testing
Extreme Programming II: XP in Practice: The planning game, small releases, metaphor, simplicity, refactoring, pair programming, standards.
Introduction to Systematic Testing: Validation and Verification. Levels of Testing. Unit, integration, system, acceptance testing. + Review for mini-exam