Software Testing and Maintenance
Syllabus, Master's level, 1DL600
This course has been discontinued.
- Code
- 1DL600
- Education cycle
- Second cycle
- Main field(s) of study and in-depth level
- Computer Science A1N, Technology A1N
- Grading system
- Pass with distinction (5), Pass with credit (4), Pass (3), Fail (U)
- Finalised by
- The Faculty Board of Science and Technology, 13 March 2014
- Responsible department
- Department of Information Technology
Entry requirements
120 credits of which at least 15 in Mathematics and 60 in Computer Science including a second course in programming in an imperative language, object-oriented programming and algorithms and data structures. Compiler Design is recommended.
Learning outcomes
To pass the course, the student should be able to
- describe key techniques and standards in software testing,
- explain and evaluate strategies for software testing for both complete program life cycles and individual phases,
- be able to develop correct, stable, maintainable and efficient software that extends or improves existing code,
- specify and design test cases and test, debug and optimise programs,
- produce appropriate documentation for test management, including test plans, test schedules and test progress monitoring,
- develop code using test driven development,
- be able to use suitable software developing and testing tools and discuss their range and capabilities.
Content
Techniques and methods for developing and extending correct, stable, maintainable and efficient software. Testing methodologies and their practical application in software development. Different aspects of testing: Black box testing where testing is done without knowledge of how the program is written; white box testing where the developer tries to guarantee that every statement, execution path and method is executed during the testing and finally unit testing which is a practical design methodology where test cases are developed as each function or method is written. Software developing aids and methods such as code-inspection. Code and memory profiling as a support for program optimizing.
Instruction
Lectures, laboratory exercises as part of a larger project.
Assessment
Oral and written assessment of exercises that are parts of the project (7 credits). Written take-home exam at the end of the course (3 credits).
Other directives
This course cannot be included in a degree together with Methods of programming DV2 (1DL005, 1DL122, 2AD513, 2AD511), Large Scale Programming (1DL410), Testing Methodology (1DT053).