SENG 609.33 Software Testing, Test Driven Development and Quality Assurance

This is a QUARTER course, admission is restricted to 16 students.

Outline: This course looks at traditional software testing and compares/contrasts it with the emerging practice of Test Driven Development. In the process it looks at Agile Testing and Context Driven Testing as examples of changes in the software testing world arising out of the Manifesto for Agile Software Development. The course ties this all together by looking at the changed role of quality assurance in agile software development projects.

Dates: Wednesdays, 25-Sep through 30-Oct, 17:00-20:00

Instructor: Pete McBreen, please contact him by email (pete@mcbreen.ab.ca) if you have any questions about participating in this course.

Room: ICT 517

Pre-requisites: Hands-on participation

Recommended Reading: Test Driven Development by Example, Kent Beck's latest book, draft is available at http://groups.yahoo.com/group/testdrivendevelopment/files/.

Assessment: Students will work in teams of 4 to produce and present a quality plan for a mission critical software development project.

Sessions

Notes for all sessions will be posted here, hotlinked from the date of the session. Notes will be posted by the Monday immediately before the session.

25-Sept - A hands on session introducing Test Driven Development using JUnit, followed by a discussion on the impacts TTD can have on the development process.

2-Oct - A hands on session introducing traditional software testing, defining test plans and running the tests, followed by a discussion about software testing and how it interacts with the software development process.

9-Oct - Quality and the software development process examines the arguments around "Good Enough Software"

16-Oct - Open Source quality - how the "many eyeballs" theory of open source development interacts with the traditional thoughts about white box and black box testing. Avaya Labs Research on Open Source Projects has some interesting statistics.

23-Oct - Quality assurance and the agile software development process - what is different, what is the same?

30-Oct - Quality assurance and software testing for a mission critical project, assessed team presentation of their quality plan for a real project.

UofC site has list of all of the other graduate courses in the program

Pete McBreen, pete@mcbreen.ab.ca