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, 29 May 2015
- 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,
- work towards constructive cooperation in programming projects,
- plan projects so that they can be implemented within a given framework .
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).