UI Partition Jester Design

Val, Sharon, Tom

9/07/2000

Nutshell Vision: Design and Implement an intuitive GUI Partition for Jester as stated by the Jester
  architecture.
   
Narrative: The tester has a GUI interface (in addition to a command line interface) that allows very
  quick automated testing.  We want to have a window come up, similar to the mockup.
  The customer will have the ability to enter the full class name of their test, and
  hit 'Run'.  This will send the test to the Tester Partition, and call runSuite().  While
  the test is running, a progress bar will advance to provide a visual indication of test
  progress towards completion.  Thus when the test suite is complete, the bar is red or
  green. A text box will display the elapsed time in seconds of the test thus far.  While
  the test is running, the GUI Partition will display three boxes, "Test", "Exceptions",
  and "Failures", the number of Tests, the number of Exceptions, and the number of
  Failures encountered.  "Failures" is the total number of AssertFailureExceptions,
  and is always less than or equal to "Exceptions".
   
  When the test completes, an Exceptions _list_ box at the bottom will display one
  line per exception encountered.  The size of this window shall be 5 lines, and shall
  be scrollable.  An exception may be selected and the exception stack trace will
  display in an Exception Stack Trace box, which is also 5 lines and scrollable, and
  is located beneath the Exceptions list box.
   
Key High Value Goals: Ability to specify full class name to test. Verifies class name is valid. (Future
  version: browse for class name)  GUI indicates number of successes and failures.
  Progress bar indicates progress of the test.  Green and red color in progress bar
  indicates success or failure.  One line displays per Exception, with option to
  display Stack Trace.
   
Use Cases: Actors
  1. Starter of the system (could be a human, could be a system call...)
  2. User of the Jester GUI
  3. Events from Tester partition
  4. Tester of the GUI (future release)

 

Use Cases Stepped Out
         Start System
- Starter invokes main()
- Create tester partition
- Hook up to tester to listen to tester events
- Create the window
- Hook up to listen to window events
- Reset progress bar to initial state
- Clear/initialize display boxes
- Display the window
         Run Test
- User enters full class name to test
- User clicks Run button
- Something receives the run event
- Something gets the test name
- Something tells the tester to run the test
- Initialize color to green for progress bar indicator
         User Wants to See Window Updated When Events Occur
- Something receives event from tester
- Something gets the event type
- Something gets the Event Data
- Display Event Data
- Test Ended
- Increment progress bar in progress bar indicator
- Report seconds elapsed in timer box
- Exception Found
- Increment number in Exceptions counter box
- Add the exception in Exceptions list box
- Change color of progress bar indicator to red
- if failure, increment number in Failures text box
         User Wants to Know What Caused An Exception
- User selects Exception in list
- Something receives the exception selected event
- Something gets the stack trace for the exception
- Something passes the stack trace to the window
- The window displays the stack trace in the detail list box
         User Closes Tester Window
- User closes window by selecting Window close icon
- Something receives the close event
- Exit the system

 

Use Case Step Responsibility
         Start System  
- Starter invokes main() Mediator
- Create tester partition Mediator
- Hook up to tester to listen to tester events Mediator
- Create the window View Creator
- Hook up to listen to window events View Creator
- Reset progress bar to initial state View
- Clear/initialize display boxes View
- Display the window View
         Run Test  
- User enters full class name to test User
- User clicks Run button User
- View state receives the Action event View
- View state sends view event to Mediator Mediator
- Something gets the test name Mediator
- Something tells the tester to run the test Mediator
- Initialize color to green for progress bar indicator View
         User Wants to See Window Updated When Events Occur  
- Something receives event from tester Mediator
- Something gets the event type Mediator
- Something gets the Event Data Mediator
- Display Event Data  
- Test Ended  
- Increment progress bar in progress bar indicator View
- Report seconds elapsed in timer box View
- Exception Found  
- Increment number in Exceptions counter box View
- Add the exception in Exceptions list box View
- Change color of progress bar indicator to red View
- if failure, increment number in Failures text box View
         User Wants to Know What Caused An Exception  
- User selects Exception in list User
- Something receives the exception selected event View
- Something gets the stack trace for the exception Mediator
- Something passes the stack trace to the window Mediator
- The window displays the stack trace in the detail list box View
         User Closes Tester Window  
- User closes window by selecting Window close icon User
- Something receives the close event Mediator
- Exit the system Mediator