Schedule

The table below shows the topics intended to be covered in each week of semester. The order or delivery date of lectures on this page may change during the semester.

The schedule gives recommended readings for each topic: either chapters from the textbooks, or extracts from other books.

Online copies of the textbooks and the extracts are available via the LMS (look under “Unit Readings”). The readings may be added to or modified as the semester progresses.

Your understanding of the lecture and workshop material will be greatly enhanced if you work through these readings prior to attending.

Java resources

The unit assumes you are familiar with at least one statically type-checked language (e.g. Java or C). If you are not already familiar with Java, you should make sure you have access to a Java textbook which covers the language.

One recommended textbook is:

It not only introduces the the Java language and object-oriented programming, but also explains the basics of design, testing and debugging in Java (see ch. 9, “Well-behaved Objects”).

You may also want to take a look at the following (very brief) revision document on Java language concepts, available here (PDF). In addition to basic language concepts, it provides references to books and resources that may be useful.

Week Lecture Lab Reading Assessment
1
22 Jul

Introduction

No labs this week

  • Amman & Offutt, ch 1
  • Pressman, ch 8 (“Understanding Requirements”), ch 19 (“Quality concepts”)
  • Bruegge and Dutoit, Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd edn), ch 11 “Testing” (extract available here)
2
29 Jul

Testing automation

Testing introduction

  • Pressman, ch 23 (“Testing conventional applications”)
  • Amman & Offut, ch 3 (“Test automation”)
3
5 Aug

Testing 1 (Input Space Partitioning)

Data-driven tests and test design

  • Amman & Offutt, ch 6 (ISP)
4
12 Aug

Testing 2 (graph testing)

ISP

  • Amman & Offutt, ch 7 (graph)

Online quiz 1

5
19 Aug

Software quality plans

Project Quality and Management in Github

  • Pressman, ch 15 (Quality Concepts) and Ch 17 (Software Quality Assurance)

Project phase 1 published

6
26 Aug

Testing 3 (logic testing)

Logic and Graph-based testing

  • Amman & Offutt, chs 7 and 8

2 Sep

no class – non-teaching week

Project phase 1 due

7
9 Sep

Testing 4

Syntax-based testing and mutation testing

  • Amman & Offutt, ch 9

Project phase 2 release

8
16 Sep

Reviews, integration

Software reviews

  • Pressman, ch 20 (“Review techniques”), ch 22 (“Software testing strategies”)

Online quiz 2

9
23 Sep

Reviews, integration

Systems and standards

  • Pressman, ch 20 (“Review techniques”), ch 22 (“Software testing strategies”)
10
30 Sep

Risk management

Risk management and QA strategies

  • Pressman, ch 26 (“Risk Management”)
11
7 Oct

Formal methods

Work on Project

TBA

Project phase 2 due

12
14 Oct

Revision

No workshops

Project peer evaluations due