|
CS3346 Software Testing and Maintenance
Part I
Course Duration: One Semester
Credit Units: 3
Level: B3
Medium of Instruction: English
Pre-requisites: CS2301 Problem Solving and Programming /or CS2331 Problem Solving and Programming /or equivalent
Pre-cursors: Nil
Equivalent Courses: Nil
Exclusive Courses: Nil
Part II
Course Aims:
This course aims to equip students with the theories, principles and practices of software testing and maintenance. Students will have the opportunity of getting familiar with a variety of formal approaches, practical techniques and contemporary tools for testing different types of software systems and applications.
Course Intended Learning Outcomes (CILOs): Upon successful completion of this course, students should be able to: No. | CILOs | Weighting (if applicable) | 1. | describe the roles and process of testing and maintenance within a software life cycle; | | 2. | discuss and explain the basic issues and fundamental principles involved in the testing and maintenance of software; | | 3. | develop and implement appropriate strategies for testing software in structured and organized ways; | | 4. | apply appropriate techniques and tools for systematic detection and prevention of software defects. | |
Teaching and learning Activities (TLAs): (Indicative of likely activities and tasks designed to facilitate students' achievement of the CILOs. Final details will be provided to students in their first week of attendance in this course)
Teaching pattern: Suggested lecture/tutorial/laboratory mix: 2 hrs. lecture; 1 hr. tutorial. CILO No | TLAs | Hours/week (if applicable) | CILO 1 - 4 | Practical testing activities – Students may be required to work on a practical software problem which involves the selection and application of appropriate strategies and techniques for structured and organized testing for systematic detection of software defects. They may be required to use existing testing tools or develop simple tools to automate part of the tasks.
Case studies – This may involve an in-depth study, usually within a small group, of a larger practical case/problem in software testing and/or maintenance. Students may be required to propose the use of appropriate strategies, techniques and/or tools for solution of the problem, to implement part or the whole of their proposed solution, and/or to present their work orally or by written reports.
Project – This may involve a review of the current state of the art or practice of a topic related to the course syllabus, evaluation of testing/maintenance tools, guided reading and presentation, or self study of a selected topic related to the course syllabus beyond the lecture/tutorial learning materials. Typically, the work is to be done in groups and presented orally or by written reports.
Critical reflection or analysis – This is not an independent teaching/learning activity by itself, but usually included as a component of one or more of the above activities. It requires students to critically reflect on their own work, the state of the practice, or the pros and cons of different approaches, strategies or processes. While some of the above activities may be done in groups, each student will normally be required to do his/her own critical reflection or analysis, as different students may learn different lessons through the same or similar experiences. | |
Assessment Tasks/Activities: (Indicative of likely activities and tasks designed to assess how well the students achieve the CILOs. Final details will be provided to students in their first week of attendance in this course) CILO No | Type of assessment tasks/activities | Weighting (if applicable) | Remarks | CILO 1 | Coursework – This may be assessed by means of quizzes, tutorial exercises, or presentation of work on case studies or projects. Exam – Final exam may include questions to assess the depth of understanding of the students on the roles and process of software testing and maintenance. | | | CILO 2 | Coursework – This may be assessed by means of quizzes, tutorial exercises or evidence of critical reflection in various teaching/learning activities such as case studies or projects. Exam – Final exam may include questions to assess the depth of understanding of the students on the related issues and principles. | | | CILO 3 | Coursework – This may be assessed through students’ work on practical testing activities or case studies. Exam – Final exam may include small software testing problems for students to discuss or propose solutions. | | | CILO 4 | Coursework – This can be assessed through tutorial exercises, case studies or projects. Exam – Final exam may include short questions on the techniques and hypothetical cases for students to discuss or propose solutions. | | |
Grading of Student Achievement:
Examination duration: 2 hours Percentage of coursework, examination, etc.: 40% CW; 60% Exam Grading pattern: Standard (A+AA-…F) For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.
Part III
Keyword Syllabus:
Nature of software testing. The testing process: unit testing, integration testing, system testing. Test case selection. Specification-based testing. Category-partition testing. Statistical testing. Operational profiles. Code-based testing. Control flow analysis. Data flow analysis. Code coverage. Software maintenance. Nature of software evolution. Regression testing. Software maintainability.
Related Links
Department of Computer Science
|