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:


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:


Unit Coordinator

Arran Stewart

Office
Rm G.08, CSSE Building
Email
AvailabilityI work half-time at UWA, and am normally only on campus on Tuesdays, Thursdays, and Friday afternoon.
Consultation
Email 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:


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: