Software Testing and Maintenance

10 credits

Syllabus, Master's level, 1DL600

A revised version of the syllabus is available.
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).

FOLLOW UPPSALA UNIVERSITY ON

facebook
instagram
twitter
youtube
linkedin