Gui Testing
Gui Testing
Gui Testing
Spring 2009
H.Reza
Event-based
GUI
systems
Testing
The
What
is GUI?
values
Menu
The
windows
E.g., Replace in MS World
There
Safety/ reliability
E.g., GUI for Safety critical systems can affect life-ordeath decisions (functionality and ease of use)
Accessibility
Equal access for disabled users
Focus
Data validation
Incorrect field defaults
Mishandling of server process failures
Mandatory fields, not mandatory
Wrong fields retrieved by queries
Incorrect search criteria
Field order
Multiple database rows returned, single row expected
Currency of data on screens
Window object/DB field correspondence
Correct window modality?
Window system commands not available/dont work
Control state alignment with state of data in window?
Focus on objects needing it?
Menu options align with state of data or application mode?
Action of menu commands aligns with state of data in window
Synchronization of window object content
State of controls aligns with state of data in window?
Testing Strategies
Functionality
include
Model-Based
requires:
Unit
Event driven
Unit button level testing
Not much integration testing
System level testing: Models
UML Behavioral models
StateCharts
Finite State Machines
Starts
Two
approaches
events)
testing
to generate scenarios/threads
Tables 19.1 and Table 19.2
How
Coverage criteria?
Reasonable
coverage includes
Definition:
EDPN is tripartite-directed
graph (P, D, S, In, Out)
P: a set of port events
D: a set of data places
S: a set of transitions
In: a set of ordered Paris from (P D) S
Out: a set of ordered pairs from S (P D)
P,
D, S correspond to
Tuple
description
m1
(1,0,0,0,0)
S4 enabled; s4 fired
m2
(0,1,1,1,1)
Nothing enabled
m3
..
mn
Port
Input Events
Output Events
P9: Display U.S. dollar amount
P10: Display Brazilian Reals
P11: Display Canadian dollars
P12 :Display European Community Euros
P13: Display Japanese Yen
P14: Display ellipsis
P15: Indicate Brazil
P16: Indicate Canada
P17: Indicate European Community
P18: Indicate Japan
Output Event
P19: Reset selected country
P20: Reset Brazil
P21: Reset Canada
P22: Reset European Community
P23: Reset Japan
P24: Reset equivalent currency amount
P25: End application
Atomic
D1:
D2:
The
Place fusions?
Looks like it
Transition fusions?
Scenario 3:
T3 = {s3, s1, s6, s7}
Scenario 4:
Unexpected
scenario)
Neg-Sencario1: User changes his/her mind
about currency
T6 = [s1, s2, s3, s4, s5, s6, s7, s8]
unexpected
Unit
GUI?