Lecturer: Uwe Gühl and Jittat Fakcharoenphol
219343: Software verification and validation
State: Winter 2007 / 2008
When and where: Friday from 9:00 am to 12.00 am in E204
Homework: ... should be done until following Thursday 12.00 am
Lectures
- Lecture 00 Syllabus, General information (Version 1.1)
Simple Specifikation KasetClock (Version 0.1)
as .pdf-File,
as .odt-File, and
as .doc-File
Template for Teams
as .pdf-File,
as .odt-File, and
as .doc-File
Proposal for Agreement on Objectives (Version 1.1) for each team
as .pdf-File,
as .odt-File, and
as .doc-File.
Template for Presentations (Version 1.0)
as .pdf-File,
as .odp-File, and
as .ppt-File
- Lecture 01 Overview / Introduction (Version 1.2)
To start discussion a story about
the princess + the frogs (including comments), see the
Warming up
in Introduction to Software Testing.
- Lecture 02 Test Basics (Version 1.2)
- Lecture 03 Proceeding with Test Basics
- Lecture 04 Unit Testing (Version 1.0) - presented by
Jittat.
- Lecture 05 Test Strategy (Version 1.0b)
- Lecture 06 Unit Testing: Mock Objects (Version 1.0) - presented by
Jittat.
- Lecture 07 Proceeding with Test Strategy
- Lecture 08 Test Planning (Version 1.1)
Main activity is the execution of a Test Planning Workshop.
Corresponding slides are available as
Test Planning (Version 1.0) hand out (4 slides on 1 page).
A Test Plan Template spreadsheet is available
as .ods-File and
as .xls-File.
- Lecture 09 Inspection (Version 1.0) - focussing on object oriented code,
KUClock: Code Inspection (Version 1.0) with results concerning the "add clock" Use Case
- presented by Jittat.
The practical exercise ist an extract out of the appendix
(download) of the
PhD Thesis "Investigating Effective Inspection of Object-Oriented Code" by A. P. Dunsmore.
- Lecture 10 Proceeding with Test Planning
- Lecture 11 Test Preparation (Version 1.3)
We will create some Test Cases, a description could be found here:
Test Case Creation Exercise (Version 1.1).
We will practice pairwise Test Cases (Version 1.3).
Concerning pairwise testing an additonal spreadsheet is available
as .ods-File and
as .xls-File.
- Lecture 12 Test Execution (Version 1.0)
We will execute some Test Cases, a description could be found here:
Test Case Execution Exercise (Version 1.0)
- Lecture 13 Test Automation (Version 2.0) -
Practical example presented by Jittat
- Lecture 14 Proceeding with Test Preparation, Execution, and Automation
- Lecture 15 Test Completion – Outlook (Version 1.1)
Proposal for a software acceptance form (Version 1.0)
as .pdf-File,
as .odt-File, and
as .doc-File.
We will do a Lessons Learned workshop, a description could be found here:
Lessons Learned Workshop Exercise (Version 1.0)
Exercises
Scores
Attached are the scores of the teams after the second presentations
Useful Links
Testing in general
some links stolen from Jittat:
- Jittats 2006 website 219343: Software verification and validation
- Jittats 2005 website 219343: Software verification and validation
- CS295 Software Engineering at Stanford.
covers topics in developing reliable software other than programming, including testing,
bug finding, verification, and methodologies for constructing robust code.
- Black-box software testing
by Cem Kaner & James Bach
- Jacek Czerwonka, working for Microsoft, created a Pairwise Testing website with
a collection of links related to pairwise testing.
Test Strategy
Testing Tools
Unit Testing
- JUnit is a unit test framework for Java developed by Kent Beck and Erich Gamma.
- Easymock provides Mock Objects for interfaces in JUnit tests.
- TestNG is another testing framework. It's flexible,
e.g., test cases can have parameters. It covers more areas of testing like functional, integration, ...
Read about the difference to JUnit 4.
- Additionally FindBugs, a Static Analysis Tool
from the University of Maryland, helping you to find bugs in Java code.
Test Management Tools
- Fitnesse is a is a lightweight, open-source framework for software teams to:
- Collaboratively define AcceptanceTests -- web pages containing simple tables of inputs and expected outputs.
- Run those tests and see the results.
Test Automation Tools
- Goranka Bjedov gave an impressive talk at
Google London Test Automation Conference (LTAC), Sept. 8th, 2006.
- Nice article from Lisa Crispin:
Agile Tool Selection Strategy for Web Testing Tools
- Selenium is a test tool for web applications.
It contains a set of tools that enables you to write test scripts (in many languages like Java, .net, Perl)
that run through a web browser.
Read an article (German).
- WATIR (Web Application Testing in Ruby) is an automation tool for web applications.
- STAF, the Software Testing Automation Framework,
is a framework designed to improve the level of reuse and automation in test cases and test environments.
-
Siege is a simple load generating tools for web applications.
It supports http regression testing and is a benchmarking utility as well.
It was written on GNU/Linux and does not run under Microsoft Windows.
-
Eclipse Test & Performance Tools Platform Project (TPTP - archived) for Java applications.
-
Apache JMeter is a Java desktop application designed
to load test functional behavior and measure performance.
It was originally designed for testing Web Applications but has since expanded to other test functions.
-
Abbot is a framework for testing Java GUIs.
It lets you launch an application or GUI component, play back user actions on it, and examine its state.
Tests may be coded or scripted where test scripts are JUnit extensions.
© Uwe Gühl; last updated: