This is the home page for the School of Informatics course "ST: Software Testing", given by Ajitha Rajan in January-March 2016.
Overview
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 Organisation
- Course staff:
- Descriptor: The course descriptor provides an overview of course content, learning outcomes and administration.
-
- Time Table 2015-2016:
- Course meetings are at 1210-1300 on Tuesdays and Fridays at H.R.B Lecture Theatre in the Robson Building -
Map. Classes commence on Tuesday 12th January.
- official timetable (page down to see the Semester 2 timetable)
- semester dates
-
Lectures
Copies of the Lecture slides and the schedule will appear in the Lectures tab.
I hope to have them in place the day before the lecture.
Until the lecture is in place the link will be broken. I will try to get as much material as I can in place well before the presentation.
-
Assessment
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 is now available.
There is a single coursework worth 25% of the overall assessment for the course.
You will work in groups of 3 or 4 people to produce a report that has both group and individual contributions.
The practical will be issued in the week ending 22nd January with a deadline of Monday 21st March at 1600.
There will be an opportunity to get formative feedback on draft submissions submitted at or before 1600 on Monday 29th February.
Please read the Informatics policy on late submissions and plagiarism.
- Discussion Forum for Software Testing. Ask questions here (and answer questions if you can!).
- Books
- 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 11th)
Tuesday Lecture
Course Organisation
[slides],
Why Test?
Faulty Software,
Testing Overview - Chapters 1 and 2
[Chapter 1] ,
[Chapter 2] .
Thursday Lecture
Software Process Models - Recap
[slides],
Test case selection and adequacy
[Chapter 9] ,
Functional Testing
[Chapter 10] .
Tutorials No tutorials in week 1
Required Readings:
- Read Chapters 1, 2, 9 and 10 in Pezze and Young textbook.
Suggested Readings:
- 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.
Week 2 (starting Jan 18th)
Lectures
Combinatorial Testing
[Chapter 11] ,
Unit Testing with JUnit
[JUnit] .
Required Readings:
Suggested Readings:
Tutorials No tutorials in week 2
Week 3 (starting Jan 25th)
No Lectures this Week
Tutorials Tutorial 1 this week. See Tutorial tab for more information.
Week 4 (Starting February 1st)
Lectures
Finite Models
[Chapter 5] ,
Structural testing
[Chapter 12] ,
[Activity] .
Week 5 (Starting February 8th)
Lectures
Data Flow Models
[Chapter 6] ,
Data Flow Testing
[Chapter 13] .
Model-Based Testing and Testing OO Software
[Chapter 14 and 15]
Tutorials Tutorial 2 this week. See Tutorial tab for more information.
Week 6 (Starting February 22nd)
Lectures
Mutation Testing
[Chapter 16] .
Regression Testing
[Chapter 22, Section5] .
Required Readings:
- Read Chapter 16 for Mutation Testing and CHapter 22, Section 5 for Regression Testing in Pezze and Young textbook.
Suggested Readings:
- 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.
[DOI Link]
Week 7 (Starting February 29th)
Lectures
Integration Testing
[Chapter 21] .
Test Execution
[Chapter 17] .
System and Acceptance Testing
[Chapter 22] .
Required Readings:
- Read Chapter 21 for Integration Testing and Chapter 17 on Test Execution in Pezze and Young textbook.
- Read Chapter 22 on System and Acceptance Testing.
Week 8 (Starting March 7th) - NO LECTURES THIS WEEK
Week 9 (Starting March 14th)
Lectures
Planning and Monitoring
[Chapter 20] .
Program Analysis
[Chapter19]
Week 10 (Starting March 21st)
Lectures
Summary Lecture
[Summary] .
Tutorials for the course will be held during Weeks 3,5, 7 and 8.
Time and location of tutorial groups is available through
theon.