- CS9940A/CS4472A: Specification, Testing & Quality Assurance
- September 2013 Fall Semester
- Physics & Astronomy Bulding 34 TUESDAY 2:30pm - 3:30pm
- Physics & Astronomy Building 34 THURSDAY 1:30pm - 3:30pm
- Western Calendar Description: Concepts and state of the art techniques in software specification and quality assessment for software engineering; quality attributes; formal specification and analysis; verification and validation.
- Course Web Site http://www.csd.uwo.ca/Courses/CS4472a/
- Prof: Bob Webber, email@example.com (put course number in subject line), MC384 [research interests: formulating NP-complete problems in SAT and ramifications of same; artificial intellligence; social implications of computer technology]
- Course Implementation Issues:
- The course starts off with a series of Intro Software Engineering Lectures
from U of Cal Berkeley promoting Agile Programming/ Behavioral/ Test Driven Development (BDD/TDD) in the context of (and introducing) Ruby and Ruby on Rails for Software As A Service applications. Also, automation of testing via Cucumber, RSpec. In addition to dealing with the creation of testing scripts for new code, these lectures are also interested in the creation of Characterization Tests for investigating legacy code (already existing code) and code refactoring to improve testability.
- In the later half of the course, we will extend into how formal methods apply to Agile programming, formal specifications, correctness proofs, property checking, mutation testing, random testing, specification driven test generation, proof carrying code, design by contract, and programming by example.
- Source material for course comes from a wide collection of youtube videos
related to these topics and various online publications (either freely available in general or freely available due to the university's online subscriptions).
An annotated list of the relevant material can be found in the
- Marking Issues
- See Course Outline
- Note: For graduate students, in addition to the final exam (worth a
minimum of 35%), there is also a requirement of 4 one week individual projects (20%)
relating to the testing material. This may count for 55% of your mark, 100% of
your mark, or somewhere in between depending on whether you do further one week
individual (or class wide) projects and/or class wide half hour quizzes.
Since the marks are due in later
for grad students, the individual projects can be handed in later than the undergraduate
individual projects, but otherwise follow the same constraints. Note
that these projects are about testing and not about code writing, so
code being developed for your supervisor or in another class would be
ok to use as a base for investigating issues around testing and
quality assurance on same (such projects reusing work in other courses
or for other supervisors require permission from the person the work
is being done for as generally one doesn't get marking credit in two
different settings for the same work).