The University of Western Australia
School of Computer Science and Software Engineering
 
 

School of Computer Science and Software Engineering

CITS5501 Software Testing and Quality Assurance

Useful links




Project Management Proverbs

Nothing is impossible for the person who doesn't have to do it themselves.

The sooner you begin coding the later you finish.

Any project can be estimated accurately (once it's completed).

The most valuable and least used WORD in a project manager's vocabulary is "NO".

The most valuable and least used PHRASE in a project manager's vocabulary is "I don't know".

You can con a sucker into committing to an impossible deadline, but you cannot con him into meeting it.

At the heart of every large project is a small project trying to get out.

Unit Material

A rough schedule of topics for 2018 is given below, but note that this is subject to change.

Week
2018
Lecture
Tue 2-4pm CS Rm 1.24
Workshop
Thurs 4pm Math building, rm 1.23
Assessment
1
26 Feb
Unit info
Concepts in testing
No workshop
2
5 Mar
Introduction to testing
Testing in Python
Testing in Python
3
12 Mar
Test automation
Input space partitioning
Test case selection
Box code and unit tests
Workshop 2 (5%)
check.py
Workshop 2 sample solution
4
19 Mar
Graph testing
Whitebox testing

Logic testing
White box testing
Solutions to control flow problems
Source Code
Notes
5
26 Mar
Mutation testing
old slides
MutPy mutation testing library
Mutation testing Chow’s Conformance Test
Notes

2 Apr
Non-teaching study period
6
9 Apr
Quality assurance
Software reviews
Performance testing
Software reviews
Java Checklist and sample code
Workshop 5 (5%)
7
16 Apr
Systems and standards

Risk Management
Systems, standards, and web applications
ISO90003
Automation project v1.1
– Automation project code:
  cits5501-project-v2.1.zip
  users.json
Quick guide to web apps
8
23 Apr
Risk management
Software metrics
Risk management
9
30 Apr
Formal methods & program verification Quality assurance strategies Workshop 8 (5%)
Sample solution
10
7 May
Formal specifications Simple specifications in Alloy
Sample solutions
11
14 May
Specifications in Alloy Specifications in Alloy
Ex. 2 sample solution
Automation Project (20%)
12
21 May
Research seminars (15%) Research seminars (15%)
13
28 May
Research seminars (15%) Research seminars (15%)

Lectures commence in the first week of semester. Students are expected to attend all lectures. The slides used in the lectures can be downloaded using links in the table above. These slides will always be available at least two hours before the relevant lecture.

Recordings of the lectures are available through LMS. But note that recordings sometimes fail, and that attendance at lectures, labs and workshops is expected.


Workshop

Workshops will present practical exercises and activities to complement the unit’s content, and commence from week 2. The focus in workshops will be on group discussion and work on the exercises and material presented. Active student participation is expected. As described in the unit outline, three of the workshops are assessed (each worth 5% of the total grade); further details on these are provided below. All work for these is to be done individually.

Workshop 2 (week 3)

In this workshop, you are asked to write (in your own time):

  • some simple Python functions;
  • doctests and unit tests for those Python functions; and
  • a short explanation of how you decided on the unit tests you did.

At least 1 week will be available to complete the assessment. Familiarity with the principles of object-orientation will be expected, and an ability to search for and use appropriate Python libraries.

Workshop 5 (week 6)

In this workshop, you are asked to perform a code inspection during the workshop, in small groups (not assessed). You will then be asked to apply the principles we have covered by performing a code inspection (individually, in your own time) on code you have previously written (or have been involved in writing) (5%). You will be required to write a short report on the results of your inspection. At least 1 week will be available to complete the assessment.

Workshop 8 (week 9)

In this workshop, you will be asked to write a short (1-2 pages) report, in your own time, documenting a process or sample system that will be specified in the assessment details. At least 1 week will be available to complete the assessment.


Project

The major project for the unit involves writing tests and documentation for a system which will be given in the project specifications. Students may opt to do the project individually, or in pairs. For students who opt to complete the project in pairs, pairs will be randomly allocated. The project will be due in week 11 (the week of 14 May).


Laboratories

Laboratory work will present practical exercises to complement the unit’s content, and commence from week 2. The focus in laboratories is on familiarising students with the software packages and frameworks being used. Active student participation is expected.


Research Seminar

As part of the unit, you are required to present a short (10 minute, allowing 5 minutes for questions) presentation on a testing or quality assurance topic of your choice. Students may opt to do this individually, or in pairs. If students opt to work in a pair, pairs will be randomly allocated. Seminars will be presented during the lecture and workshop times in weeks 12 and 13. Topics will be agreed on with the unit coordinator beforehand. You will be required to provide a short (one-page) overview of your presentation, which will be published on the course website prior to week 12. Requirements will be specified in more detail closer to the date.


Exam

The final exam will be held in the June exam period. Details of the exam schedule will be released through studentConnect. The exam is worth 50% of the total mark for the unit, and it examines all of the material discussed in all parts of the unit: lectures, labs, projects and workshops.

The 2015 Final Exam is available via this site, and others via the library online collection. Happy studying!