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

Software quality plans

Introduction to testing

TBA

3
5 Aug

Testing 1

Test case selection

  • Amman & Offutt, ch 3
  • Pressman, ch 23 (“Testing conventional applications”)
4
12 Aug

Testing 2 (ISP, graph testing)

Test automation

  • Amman & Offutt, chs 6-7
  • Pressman, ch 23 (“Testing conventional applications”)

Online quiz 1

5
19 Aug

Testing 3 (logic testing)

Graph-based testing

  • Amman & Offutt, chs 8–9

Project phase 1 published

6
26 Aug

Testing 4

Property-based testing and mutation testing

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

Project phase 1 due


2 Sep

no class – non-teaching week

7
9 Sep

Testing 5 (syntax testing)

Software reviews

  • Amman & Offutt, chs 10-12
  • Pressman ch 19 (“Quality concepts”), ch 21 (“Software quality assurance”)

Online quiz 2

8
16 Sep

Reviews, integration

Systems and standards

TBA

9
23 Sep

Risk management

Risk management and QA strategies

TBA

TBA

10
30 Sep

Standards

Simple specifications

TBA

11
7 Oct

Formal methods

Specifications in Alloy

TBA

Project phase 2 due

12
14 Oct

Revision

no workshop

Project peer evaluations