Welcome
Welcome to CITS5501 Software Testing and Quality Assurance
Welcome to the website for CITS5501 in 2023. 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.
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 Mondays and Tuesdays. |
Consultation | Email cits5501-pmc@uwa.edu.au for an appointment, or visit my office between 3–5pm Mondays. 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; labs don’t start until week 2)
- Lecture
-
There is one two-hour lecture each week (starting in week one), at Tuesday 3 p.m. in the Robert Street Lecture Theatre (Robert Street Building, room G.16).
It’s recommended you attend in person, if possible, but lectures will normally be recorded, so you can also watch the recorded lecture (accessible via the UWA Blackboard LMS).
- Labs
-
You should attend one lab each week, starting in week two.
However, as long as there is room available for you, you are welcome to attend other sessions as well.One of the lab facilitators (Abdullah and James) will be available to assist you with the lab material and answer questions.
There are currently three face-to-face lab sessions:
- Monday, 9 am–11 am, in CSSE lab 2.05
- Wednesday, 4 pm–6 pm, in CSSE lab 2.05
- Friday, 12 noon–2 pm, in CSSE lab 2.05
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”.)
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 at least review these before attending class.
Who’ll be helping in labs
Our facilitators for labs are:
- James Arcus
- Abdullah Alelyani
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 object-oriented (OO) language (typically either Python 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: