1 x 1-hour lecture weekly
1 x 2-hour practical weekly
1 x 4-hour project work weekly
Enrolment not permitted
1 of COMP8791, ENGR9791 has been successfully completed
Assumed knowledge
Computer skills such as those acquired in ENGR2792 Software Engineering 2. Students without the assumed knowledge should check with the topic coordinator as to the background required, as there will be no additional assistance to compensate for missing background.
Topic description
This topic presents to students the fundamentals of software testing. The focus will be on processes and techniques by which testing activities can be carried out systematically in order to meet software quality goals. Consequently the topic covers subjects such as general testing principles, fundamental test process, testing and the software lifecycle, static techniques, test design techniques, and test management. A significant practical project will be offered to enable students to gain a well rounded experience in professional practice.
Educational aims
The aim of this topic is to extend the student's understanding of the processes, techniques and methods involved in a systematic engineering approach to the development and maintenance of software systems, with a particular emphasis on the unique technical and management challenges associated with software testing. This topic will also extend students' ability to apply their knowledge of software testing through a substantial practical project in a team-work environment.
Expected learning outcomes
At the completion of the topic, students are expected to be able to:

  1. Understand and explain the key concepts and principles of software testing
  2. Describe and apply various testing techniques
  3. Specify and perform the activities involved in a testing process
  4. Understand the various issues and problems associated with test management and various approaches and tools dealing with these
  5. Work well in a team environment
  6. Understand the role of ethics in the software engineering and the responsibilities of software engineers in general