BN331 - Software Quality Assurance and Testing

Credit Points: 15 credit points

Workload: 48 hours

Prerequisite: N/A

Co-requisite: N/A

Aims & Objectives

This is a fifth trimester core unit out of a total of 24 units in the Bachelor of Networking with Major in Software Engineering (BNet (SE)). This unit addresses the BNet (SE) learning outcomes and complements other courses in a related field by developing students’ knowledge and skills in software quality assurance and testing. For further course information refer to: http://www.mit.edu.au/study-with-us/programs/bachelor-networking. This unit is part of the AQF Level 7 (BNet) course.

This unit introduces students to the software quality assurance and testing tools and methodologies. The students will learn about software testing lifecycles, testing methodologies including unit, integration, and user acceptance testing. The students will be able to apply their skills and knowledge in software quality assurance testing in order to provide an acceptable high quality software solution to a contemporary industry application.

This unit will cover the following topics:

  • Software quality assurance fundamentals
  • Software testing life cycles
  • Software testing techniques
    • Static testing and unit testing (and refactoring)
    • Integration Testing
    • Database Testing
    • User acceptance testing
  • Support tools for testing
  • Mocks and testing fragility
  • Testing Management
     

Learning Outcomes

At the completion of this unit students should be able to:

a. Demonstrate understanding of software quality assurance and testing principles in software engineering applications.
b. Select and apply appropriate software quality assurance methodologies and software testing tools to meet the user requirements.
c. Plan, design and deploy software testing environments to assure quality of the software in line with the software testing life cycles.
d. Evaluate and analyse software testing outcomes to enhance the software quality in good understanding of industry requirements and standardization.
e. Recommend and direct the team of ICT engineers in ensuring software quality to meet the industry expectations and ethical standards.
 

Weekly Topics

This unit will cover the content below:

  • Software quality assurance fundamentals
  • Life cycle of software testing and static testing
  • Testing design techniques
  • Unit testing principles
  • Unit testing practices
  • Testing management
Week Topic
1 Software quality assurance principles
2 Software testing life cycles
3 Testing techniques
4 Static testing
5 Unit testing principles
6 Integration testing and user acceptance testing
7 Styles of unit testing and refactoring
8 Support tools for testing
9 Mocks and testing fragility
10 Database testing
11 Industry best practices in software testing
12 Review of software testing with case examples

Assessment

Assessment Task Due Date A B Learning Outcomes Assessed
Formative Assignment 1 Part A
Assignment 1 Part B
Week 3
Week 8
5%
10%
- a-c
Assignment 2 Week 11 30% - a-e
Laboratory participation & submissions Week 2 – 11 10% - a-e
Final Examination (2 hours) End of trimester - 45% a-e
TOTALS   55% 45%  

Task Type: Type A: unsupervised, Type B: supervised.

Class Participation and Contribution
This unit has class participation and student contribution as an assessment. The assessment task and marking rubric will follow the Guidelines on Assessing Class Participation (https://www.mit.edu.au/about-us/governance/institute-rules-policies-and-plans/policies-procedures-and-guidelines/Guidelines_on_Assessing_Class_Participation). Further details will be provided in the assessment specification on the type of assessment tasks and the marking rubrics.

Presentations (if applicable)
For presentations conducted in class, students are required to wear business attire.
 

Textbook and Reference Materials

Textbook:

  • Unit Testing Principles, Practices, and Patterns, Jan 202 Software Testing - An ISTQB-BCS Certified Tester Foundation guide 4th edition, July 2019

References:

TBA


 Adopted Reference Style: IEEE

Graduate Attributes

MIT is committed to ensure the course is current, practical and relevant so that graduates are “work ready” and equipped for life-long learning. In order to accomplish this, the MIT Graduate Attributes identify the required knowledge, skills and attributes that prepare students for the industry.
The level to which Graduate Attributes covered in this unit are as follows:

Ability to communicate Independent and Lifelong Learning Ethics Analytical and Problem Solving Cultural and Global Awareness Team work Specialist knowledge of a field of study

Legend

Levels of attainment Extent covered
The attribute is covered by theory and practice, and addressed by assessed activities in which the students always play an active role, e.g. workshops, lab submissions, assignments, demonstrations, tests, examinations.
The attribute is covered by theory or practice, and addressed by assessed activities in which the students mostly play an active role, e.g. discussions, reading, intepreting documents, tests, examinations.
The attribute is discussed in theory or practice; it is addressed by assessed activities in which the students may play an active role, e.g. lectures and discussions, reading, interpretation, workshops, presentations.
The attribute is presented as a side issue in theory or practice; it is not specifically assessed, but it is addressed by activities such as lectures or tutorials.
The attribute is not considered, there is no theory or practice or activities associated with this attribute.