This is the home page for the School of Informatics course "ST: Software Testing", given by Ajitha Rajan in January-April 2018.
This course provides 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 a group practical exercise involving the development of appropriate tests and the application of a range of testing tools.
- Course staff:
- Descriptor: The course descriptor provides an overview of course content, learning outcomes and administration.
- Time Table 2017-18:
- Course meetings are at 1210-1300 on Tuesdays at Adam House Basement Theatre for Weeks 2,3,4,7,8 ;
and Medical School Room 425 Anatomy Lecture Theatre - Doorway 3 for Weeks 5,6,9,10,11
Fridays (at Room F.21, 7 George Square ). Classes commence on Tuesday 16th January.
- Official timetable (page down to see the Semester 2 timetable)
- Semester dates
- Discussion Forum for Software Testing. Ask questions here (and answer questions if you can!).
Copies of the Lecture slides and the schedule will appear in the Lectures tab.
The slides and any other relevant reading material will be put up the day before the lecture.
Lectures are recorded and are available on Media Hopper Replay (accessed through the Learn page for the course).
The final examination counts for 75% of the final grade for the course.
The coursework counts for 25% of the final grade of the course. In line with previous years, the examination will be open book.
You will be permitted to take any written material (on paper) into the examinations. Laptops, phones, tablets, e-readers etc are not
permitted because of the difficulty of ensuring they cannot communicate outside the examination room.
Coursework description for Task 1 and Task 2 is available.
There is a single coursework worth 25% of the overall assessment for the course.
You will work in groups of 2 people to complete 2 tasks in the coursework.
Please read the Informatics policy on late submissions.
- Task 1 (10%) - Issued: 9th February . Deadline : 28th February.
- Task 2 (15%) - Issued: 1st March. Deadline : 30th March.
Academic misconduct is viewed as a serious offence.
Please read our general guide to policies for academic misconduct.
- Main Text: Pezze and Young, Software Testing and Analysis: Process, Principles and Techniques, Wiley, 2007.
- Suggested Readings:
Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008.
G.J. Myers, The Art of Software Testing, Second Edition, John Wiley and Sons, New York, 1976.
- B. Marick, The Craft of Software Testing, Prentice Hall, 1995
- C Kaner, J. Bach, B. Pettichord, Lessons Learned in Software Testing, Wiley, 2001.
Week 1 (starting Jan 15)
Testing Overview - Chapters 1 and 2
[Chapters 1 and 2]
Unit Testing with JUnit
No tutorials in week 1
- Whittaker, J.A., What is software testing? And why is it so hard?, IEEE Software, vol.17, no.1, pp.70-79, Jan/Feb 2000.
- Michael Olan. Unit testing: test early, test often.
Journal of Computing Sciences in Colleges archive Volume 19 Issue 2, December 2003, Pages 319-328.
Week 2 (starting Jan 22)
, [Example- Category Partition]
- Read Chapter 11 and 5 in Pezze and Young textbook.
No tutorials in week 2
Week 3 (starting Jan 29th)
Test case selection and adequacy
Tutorials Tutorial 1
this week. See Tutorial tab for more information.
Week 4 (Starting February 5th)
Path coverage [Extra Slides on Path Coverage]
Data Flow Models
Data Flow Testing
Week 6 (Starting February 26th)
NO TUESDAY LECTURE
University Closure, Lecture CANCELLED
Week 7 (Starting March 6th)
, Model-Based Testing and Testing OO Software
[Chapter 14 and 15]
- Read Chapter 16 for Mutation Testing and Chapter 21 for Integration Testing in Pezze and Young textbook.
- Yu-Seung Ma, Jeff Offutt and Yong-Rae Kwon, MuJava: An Automated Class Mutation System. Journal of Software Testing, Verification and Reliability, 15(2):97-133, June 2005.
Week 8 (Starting March 13th)
NO TUESDAY LECTURE
Week 9 (Starting March 19th)
[Chapter 22, Section5]
System and Acceptance Testing
- Read CHapter 22, Section 5 for Regression Testing and Chapter 17 on Test Execution in Pezze and Young textbook.
Week 10 (Starting March 26th)
Security Testing [slides]
Software Process Models - Recap
Planning and Monitoring
Week 11 (Starting April 2nd)