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.
- For lecture slides and lab worksheets see the Resources page.
- For recordings of the lectures, visit UWA’s LMS (Learning Management System).
Recommended readings
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.
- References to “Ammann & Offutt” are to Ammann, P., & Offutt, J., Introduction to software testing, 2nd edn (Cambridge University Press, 2016).
- References to “Pressman” are to Pressman, R.S., & Maxim, B.R., Software engineering: A practitioner’s approach, 8th edn (McGraw-Hill, 2015), but earlier and later editions should have equivalent sections.
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:
- Barnes and Kölling, Objects First with Java: A Practical Introduction using BlueJ (6th edn, Pearson 2016).
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 |
|
No labs this week |
|
|
2
29 Jul |
Introduction to testing |
Introduction to testing |
|
|
3
5 Aug |
Test automation |
Test case selection |
|
|
4
12 Aug |
|
Test automation |
|
|
5
19 Aug |
|
Graph-based testing |
|
|
6
26 Aug |
Quality assurance, software reviews, performance testing |
Property-based testing and mutation testing |
|
|
2 Sep |
no class – non-teaching week |
|||
7
9 Sep |
Systems and standards, risk management |
Software reviews |
|
|
8
16 Sep |
Risk management |
Systems and standards |
|
|
9
23 Sep |
Formal methods & program verification |
Risk management and QA strategies |
|
|
10
30 Sep |
Formal specifications |
Simple specifications |
|
|
11
7 Oct |
Specifications in Alloy |
Specifications in Alloy |
||
12
14 Oct |
revision |
no workshop |
|