Welcome
Welcome to CITS5501 Software Testing and Quality Assurance
Welcome to the website for CITS5501 in 2024. Unit material (lecture slides and lab worksheets) for this unit will be published on these pages, and not on the UWA Blackboard LMS; but refer to the LMS for recorded lectures and the unit outline.
Do not rely on the Unit Outline for exact assessment due dates: dates for assessments are listed on this site on the unit Schedule (as well as on the Assessments page), and any changes will be published here, as well as being announced on the unit discussion forum.
On this page:
Quick links
| See below for quick details of the weekly activities for the unit, and see the Schedule for a guide to what will be covered in what week. (There’s also a link to the schedule at the top of every page.) | |
| See the list of Frequently Asked Questions. | |
| See the Assessments page. | |
| See the “Examinable topics” section of the Frequently Asked Questions page. | |
| You can find them on the Resources page. (There’s also a link to it at the top of every page.) | |
| Check the Frequently Asked Questions list, and if your question
isn’t answered there, make a post on the discussion forum
for the unit, help5501 –
that way, all students can benefit from answers to your questions. (Or, if it’s not a topic suitable for the forum, feel free to email me instead.) | |
| See the assumed knowledge for students taking this unit, below, and note that a prerequisite for this unit is the completion of 12 points of programming units. |
Unit overview
Software testing and quality assurance processes are critical to ensure the success of software projects. This unit covers testing and quality assurance topics including:
- testing methods and processes
- verification and validation of software
- quality assurance; and
- formal methods for design and verification.
Unit Coordinator
Office | Rm G.08, CSSE Building |
cits5501-pmc@uwa.edu.au | |
Availability | I work half-time at UWA, and am normally only on campus on Tuesdays, Thursdays, and Friday afternoon. |
Consultation | Email cits5501-pmc@uwa.edu.au for an appointment, or visit my office between 2–4pm Thursday. Students are also welcome to speak to me after the lectures. At busy times of semester, I may need one or two business days’ notice to schedule an appointment. |
Weekly activities
(Note that there are no labs in week 1, beginning Mon 22 July; labs don’t start until week 2)
- Lecture
-
There is one two-hour lecture each week (starting in week one), at Tuesday 11 a.m. in the Robert Street Lecture Theatre (Robert Street Building, room G.16).
I strongly recommend you attend lectures in person – they provide the best forum for asking questions about the unit content and clarifying your understanding. Lectures are recorded, so if you cannot attend, you can also watch the recorded lecture (accessible via the UWA Blackboard LMS).
Lecture slides are published here on this website.
- Labs
-
Lab worksheets are published on the resources page on this website, and there will be a worksheet available for each week from week 2 through to week 11. (Week 12 is reserved for your personal revision; no lab worksheet is published that week.)
You should attempt all exercises and activities in the worksheets; you can work through them from home or on campus in your own time. Some weeks, the activities will include unassessed quizzes or lessons on the CSSE department’s Moodle server. You should ensure you complete these, as they do form part of the examinable material.
Timetabled lab sessions are run on a drop-in basis. This means that:
- Once a worksheet for the lab has been released, you can work through it at your own pace, either at home or on campus.
- If you run into difficulties or have questions, you are welcome to visit any timetabled lab session to get them resolved – you do not need to be allocated to a particular lab on CAS (UWA’s Class Allocation System) in order to show up and ask questions.
- You can drop in on any timetabled lab – for a link to the timetable, see below – from week 2 through to week 11.
- No attendance is taken at timetabled lab sessions, and attendance is not compulsory.
Model answers to exercises are normally provided the following week so you can gauge your progress.
In later weeks, there may be topics where it’s useful to have group discussions or get feedback from other students. Before we get to those labs, I’ll assign groups and make the group details available on the CSSE department’s Moodle. Those groups can then arrange to meet online (e.g. via MS Teams) or in person at any time and place convenient to them – there is no need to physically meet on campus (unless you wish to).
It’s important to keep up with the lab material, so ensure you do some work on the lab materials every week (from week 2 onwards).
Laptop requirement: You will need to use your own laptop when attending labs (as well as for the final exam). The exact software you should install is discussed in more detail in the first lab (held in week 2) – but in general, it is possible to access all the languages and frameworks we will look at using only a web browser.
- Moodle exercises
-
Periodically, I’ll post (unassessed) exercises on the school’s Moodle server. You can complete these in your own time, and they will help you improve your understanding of testing and quality assurance concepts. (All assessments will be completed using the Moodle server, too.) More information about these will be available in the first lab.
You need to ensure you’re registered on Moodle by the end of week 3, in order to complete the week 4 assessment.
- List of timetabled sessions
-
You can always get full details of lecture and lab times and venues by visiting UWA’s Timetable site. (If the information for CITS5501 is not visible, then enter “CITS5501” in the box labelled “Unit search”, and then click “Show timetable”.)
(Note, however, that in addition to all the labs that are running, the Timetable site may also show some lab sessions which are not yet running, due to insufficient demand – check with the Unit Coordinator if you want to be sure whether a session is running.)
Lecture recordings
The lectures are recorded – see the list of Frequently Asked Questions.
But please note that recordings do sometimes fail – so if you can attend the lecture in-person , it’s recommended.
Time required
Note that materials presented during class sessions do not define the whole unit. A six-point unit is deemed to be equivalent to one quarter of a full-time workload, so you would be expected to commit 10–12 hours per week to the unit, averaged over the entire semester. Outside of the contact hours (4 hours per week) for the unit, the remainder of your time should be spent reading the recommended reading, attempting exercises and working on assignment tasks.
Preparing for lectures
The schedule contains the list of recommended readings for each topic. To gain maximum benefit from the lectures, I recommend you review these before attending class.
Assumed knowledge
Completion of 12 points of programming-based units is a prerequisite for enrolling in CITS5501. In particular, it’s assumed that you are familiar with programming in at least one statically type-checked language (typically either C or Java). Please let the Unit Coordinator know as soon as possible if this is not the case.
Advisable prior study for the unit is: familiarity with a statically-typed language (e.g. Java, C), and CITS3301/CITS4401 Software Requirements and Design.
Some basic familiarity with testing frameworks for an OO language will be helpful, but are not required:
- For CITS1001/CITS2005 (which uses the Java programming language), the relevant testing framework is JUnit. The textbook for CITS1001, Objects First with Java by Barnes and Kölling, contains good coverage of JUnit in Chapter 9, “Well-behaved objects”.
- For CITS1401 (which uses the Python programming
language), the relevant testing framework is
unittest
. The Python documentation contains basic examples of usage of theunittest
library.
Expectations
It is expected that you will act professionally at all times, both face to face and via electronic media. Please see the UWA Code of Conduct, which is founded on the UWA Code of Ethics.
It is also expected that you act ethically in your studies. You will have completed the Academic Conduct Essentials unit, which explains what is appropriate and inappropriate academic conduct.
It is expected that you regularly (at least twice a week) check the discussion forum for the unit (help5501) for announcements. (You can also set up an email subscription to the discussion forum as follows – see the FAQ page for details.)
It is expected that you keep reliable backups of your work, as computer and/or IT failures are not grounds for special consideration.
Policies
Before undertaking this unit, students are strongly encouraged to read the university policies that apply to this unit: