Chapter 19 GUI Testing
Chapter 19 GUI Testing
Ian Tucker
December 3, 2006
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
1 Introduction
2 The Currency Conversion Program
An Introduction to the Program
Testing the program
3 Unit Testing
Unit Testing Considerations
Unit Testing Methods
4 Integration Testing
Integration Testing Considerations
5 System Testing
System Testing Considerations
System Level Threads
6 Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Introduction
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Event driven
Unit “button level” testing
Not much integration testing
System level testing
UML Behavioral models
StateCharts
Finite State Machines
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
The Program:
Testing the Program
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Identify
User inputs
Visible & observable system outputs
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Input Events
Input Event
ip1 Enter U.S. dollar amount
ip2 Click on a country button
ip2.1 Click on Brazil
ip2.2 Click on Canada
ip2.3 Click on European Community
ip2.4 Click on Japan
ip3 Click on Compute Button
ip4 Click on Clear Button
ip5 Click on Quit Button
ip6 Click on OK in error message
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Output Events
Output Event
op1 Display U.S. dollar amount
op2 Display currency name
op2.1 Display Brazilian reals
op2.2 Display Canadian dollars
op2.3 Display European Community euros
op2.4 Display Japanese Yen
op2.5 Display ellipsis
op3 Indicate selected country
op3.1 Indicate Brazil
op3.2 Indicate Canada
op3.3 Indicate European Community
op3.4 Indicate Japan
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Output Events
Output Event
op4 Reset selected country
op4.1 Reset Brazil
op4.2 Reset Canada
op4.3 Reset European Community
op4.4 Reset Japan
op5 Display foreign currency value
op6 Error msg: must select a country
op7 Error msg: must enter USD amount
op8 Error msg: must select country and enter USD amount
op9 Reset U.S. Dollar amount
op10 Reset equivalent currency amount
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Test driver
GUI test bed
System level unit testing
What if computation correct, but fault in output software?
How do you get the test execution results?
Seat-of-the-pants testing
User input & observation errors
Repeating tests is time-consuming
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Some possibilities
Every ASF
Every Port Input
Every Port Output
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
More Detail?
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
An Incidence Matrix
s1 s2 s3 s4 s5 s6 s7 s8
s1 1 1 1 1 1 1 1 1
s2 1 0 1 1 1 1 1 1
s3 1 1 0 1 1 1 1 1
s4 1 1 1 0 1 1 1 1
s5 1 1 1 1 0 1 1 1
s6 1 1 1 1 1 1 1 1
s7 1 1 1 1 1 1 1 1
s8 0 0 0 0 0 0 0 0
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Summary
Ian Tucker
Chapter 19: GUI Testing
Introduction The Currency Conversion Program Unit Testing Integration Testing System Testing Summary
Any Questions?
www.xkcd.com
Ian Tucker
Chapter 19: GUI Testing