Undergraduate Course: Software Testing (INFR10057)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 10 (Year 3 Undergraduate)
||Availability||Available to all students
|Summary||This module is intended to provide in-depth coverage of software testing further to develop the introductory material covered in Informatics 2C - Software Engineering. The goal of the course is to provide students with the skill to select and apply a testing strategy and testing techniques that are appropriate to a particular software system or component. In addition the student will become a capable user of test tools; will be able to assess the effectiveness of their testing activity; and will be able provide evidence to justify their evaluation. The course will be supported by two practical exercises involving the development of appropriate tests and the application of a range of testing tools. This course is based on the IEEE Software Engineering 2004 Software Testing syllabus.
# Testing techniques and principles: Defects vs. failures, equivalence classes, boundary testing.
# Types of defects.
# Black-box vs. Structural testing.
# Testing strategies: Unit testing, integration testing, profiling, test driven development.
# State based testing; configuration testing; compatibility testing; web site testing.
# Alpha, beta, and acceptance testing.
# Coverage criteria.
# Test instrumentation and tools.
# Developing test plans.
# Managing the testing process.
# Problem reporting, tracking, and analysis.
Relevant QAA Computing Curriculum Sections: Software Engineering
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2019/20, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 20,
Seminar/Tutorial Hours 8,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||The coursework will comprise two, equally weighted, assessed practicals the first will concentrate on unit and integration testing the second on acceptance and performance testing. Both practicals will involve working with a reasonably large sample of code.
You should expect to spend approximately 40 hours on the coursework for this course.
If delivered in semester 1, this course will have an option for semester 1 only visiting undergraduate students, providing assessment prior to the end of the calendar year.
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
|Resit Exam Diet (August)||2:00|
On completion of this course, the student will be able to:
- Analyze requirements to determine appropriate testing strategies
- Design and implement comprehensive test plans with instrumented code
- Apply a wide variety of testing techniques and compute test coverage and yield according to a variety of criteria
- Evaluate the limitations of a given testing process, using statistical methods where appropriate, and summarise outcomes
- Conduct reviews and inspections
|* Mauro Pezzè and Michal Young, Software Testing and Analysis, John Wiley & Sons, 2008|
* Glenford J. Myers, et al, The Art of Software Testing , John Wiley & Sons Inc, 2004
* Scott Loveland et al, Software Testing Techniques: Finding the Defects That Matter , Charles River Media, 2004
* R. Patton, Software Testing, SAMS, 2005
* C Kaner, J Bach & B Pettichord Lessons Learned in Software Testing: A Context-Driven Approach, Wiley Europe, 2002
* There is also extensive supporting material online which will be used in teaching
|Course organiser||Dr Ajitha Rajan
Tel: (0131 6)50 5118
|Course secretary||Mrs Michelle Bain
Tel: (0131 6)51 7607