TDDD04 Software Testing
Course Lectures
The lecture slides and related material used during the lectures will be made available for download after each lecture. Please check regularly this page for the latest update of the course material.
Lecture 01 |
Introduction to Testing, Black Box Testing |
|
| Lecturer | David Byers | |
| Reading Material | Chapter 1-4 Course Book |
|
| Slides | Lecture 1 (2 slides per page) |
Lecture 02 |
Black Box Testing |
|
| Lecturer | David Byers | |
| Reading Material | Chapter 3-9 Course Book |
|
| Slides | Lecture 2 (2 slides per page) |
Lecture 03 |
Control Flow Testing |
|
| Lecturer | David Byers | |
| Reading Material | Chapter 10 Course Book |
|
| Slides | Lecture 3 (2 slides per page) |
Lecture 04 |
Data Flow Testing |
|
| Lecturer | David Byers | |
| Reading Material | Course Book Chapter 11 An Introduction to Data-Flow Testing, Janvi Badlaney, Rohit Ghatol, Romit Jadhwani |
|
| Slides | Lecture 4 (2 slides per page) |
Practical Exercise
Here comes a nonmandatory(optional) exercise for those of you who would like to try out some new testing tools during the course.
| 1 | Download the Java source code of a simple interval arithmetic library from sourcefourge http://interval.sourceforge.net/interval/index.html |
| 2 | Interval arithmetic is the arithmetic of quantities that lie within specified ranges (i.e. intervals) instead of having definite known values. Interval arithmetic can be especially useful when working with data that is subject to measurement errors or uncertainties. For a short overview of interval arithmetic please consult the Wikipedia webpage. http://en.wikipedia.org/wiki/Interval_arithmetic |
| 3 | Create and compile sample project in Eclipse that integrates the Java interval arithmetic library that you have just downloaded. |
| 4 | In the next step you should download and install JUnit on you Eclipse environment (if it is not already installed, most of the Eclipse installations already have the JUnit plug-in installed). There are several good tutorials on the internet on how to install and use JUnit in the eclipse environment. The folowing tutorial might be a good starting point: http://www.vogella.de/articles/JUnit/article.html |
| 5 | Create some unit test for yor application and especialy for the interval library. Learn how to write unit tests and how to use JUnit togehter with your projects. |
| 6 | In the next step you will learn how to use a testing coverage tool. Install and download the Attlasian Clover tool. More information on how to do this can be found here: http://confluence.atlassian.com/display/CLOVER/Clover-for-Eclipse+Installation+Guide |
| 7 | You can obtain a full license for Clover by sending an email to Peter Bunus with the following subject line "TDDD04 Clover License". You need to be enrolled in the TDDD04 course in order to get the license and the issued license can be used only for educational purposes and in the framework of this course. |
| 8 | Get confortable with Clover and compute some coverage metrics. A clover for Eclipse user guide can be found here: http://confluence.atlassian.com/display/CLOVER/Clover-for-Eclipse+User%27s+Guide Check how Clover computes the cylomatic complexity of the module under the test. |
Lecture 05 |
Agile testing |
|
| Lecturer | David Byers | |
| Reading Material | Introduction to test-driven development (http://www.agiledata.org/essays/tdd.html) | |
| Slides | Lecture 5 (2 slides per page) |
Lecture 06 |
System Level Testing |
|
| Lecturer | David Byers | |
| Reading Material |
|
|
| Slides | Lecture 6 (2 slides per page) |
Lecture 07 |
Automating the Software Testing Process |
|
| Lecturer | David Byers | |
| Reading Material | Chapter 12 and Chapter 13 of the Course Book |
|
| Slides | Lecture 7 (2 slides per page) |
Lecture 8.5 |
How Spotify Does Testing |
|
|
Part 1: General discussion on how software development and testing processes works at Spotify. Part 2: Test Automation specifics. Lecture on how Model-based testing can used in an agile development cycle. Challenges testing on different platforms like iOS, Android, Windows, OSX and web browsers. What supporting services would be useful to implement, like result services, test data services. |
||
| Lecturer | Kristian Karl, Spotify | |
| Useful links: |
Tools
http://graphwalker.org/ Testing
Open Lecture by James Bach on Software Testing Processes
Scaling Agile @ Spotify from http://blog.crisp.se/author/henrikkniberg | |
Lecture 09 |
Integration Testing |
|
| Lecturer | Kristian Sandahl | |
| Reading Material | Jorgensen, Paul C.. Software Testing: A Craftsman's Approach, Third Edition. Auerbach Publications. © 2008. Books24x7. Online version is available via the library (accessed April 6, 2011) |
|
| Slides | Lecture 9 (2 slides per page) |
Lecture 10 |
IEEE Std 829-2008 Test Plans |
|
| Lecturer | Kristian Sandahl | |
| Reading Material | ||
| Slides | Lecture07_1slides_per_page Lecture07_2slides_per_page | |
Lecture 11 |
Invited Lecture - Testing in Real Life |
|
| Lecturer | Mohamed AbuBaker - Test Manager (Zenterio AB) | |
| Reading Material |
|
|
| Slides |
Lecture 12 |
Exam Preparation |
|
| Lecturer | David Byers | |
| Reading Material |
|
|
| Slides | Note that these are from 2012 -- dates are not correct for
2013 ExamPreparation_1slides_per_page ExamPreparation_2slides_per_page |