ETA User Interface Prototype and Walkthrough

Part II: Testing a Class

[prev]

1) Main screen - class has been loaded and instantiated, objects have been created and added to the Object Pool under the Parameter Objects tab

User selects 'intFive' as a parameter for the 'makeFoo' method

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
     
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  Foo  
  java.lang.Integer -none-  
  java.lang.Integer -none V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

3) User presses 'makeFoo' method button to invoke that method with 'intFive' as a parameter.
User clicks on 'returned objects' tab of object pool to examine the Foo object returned by 'makeFoo'

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Returned From Value
Foo Foo.makeFoo
     
     
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  Foo  
  java.lang.Integer -none-  
  java.lang.Integer -none V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

4) User clicks on the 'Inspect...' button for the Foo returned from Foo.makeFoo(int) to inspect it

An 'object inspector' modal dialog pops up. The dialog contains information about the returned object's fields. Everything presented in the 'object inspector' dialog is read-only.

User presses Close

Object Inspector

Object Type: class Foo
Description: Foo.makeFoo

foo java.lang.object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer x 5
  java.lang.Integer y 5
  java.lang.Integer z 5

 

5) User is returned to main screen
User scrolls through public methods of Foo and finds the 'setX' method
User types a '10' in the Combo Box for setX's int parameter and presses enter

A new Test Data Item is created for the user of type int and with value 10. This newly created int becomes the selected int in the Combo Box

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
java.lang.Integer
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  void  
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

7) User clicks on the 'setX' button to invoke the method.

Note that the output of a System.out.println call in the setX method is displayed in the output tab of the Status Panel

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
java.lang.Integer
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  void  
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

8) User clicks on 'x' button in fields panel to view x's value

A new test data item of x's type is added to the 'Test Data Items' tab of the object pool. The name of this item is FooX and its value is 10 (the value of x at this point). This new item becomes the selected item of x's value combo box.

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Test Data Items
Type Name Value
java.lang.Integer
Foo
Foo
java.lang.Integer
java.lang.Integer
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  void  
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

9) User clicks on 'Inspect...' button of tempFoo in the object pool

An 'Object Inspector' modal dialog pops up. Unlike object inspector dialogs invoked from the Returned Objects tab, this dialog lets the user change the values of the fields of the object being inspected.

User sets the values of the x, y, and z fields of tempFoo by selecting one of the ints in the combo boxes and presses OK

Object Inspector

Object Type: class Foo
Description: tempFoo

foo java.lang.object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer x
  java.lang.Integer y
  java.lang.Integer z

 

9) User is returned to the main screen

User invokes 'setFoo(Foo)' method of Foo, selecting 'tempFoo' as the parameter for the method
User clicks on the x, y, z buttons to view the effects of the setFoo(int) method

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Parameter Objects
Type Name Value
java.lang.Integer
Foo
Foo
java.lang.Integer
java.lang.Integer
java.lang.Integer
java.lang.Integer
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  Foo -none-  
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

 

10) User clicks on 'Returned Objects' tab, invokes getX, getY, getZ methods one after the other

User makes a mental note to himself to fix the getY() function so that it returns the correct value of 'y'

Empirical Test Application - Foo
File     Test     Help
Object Pool
Returned Objects Parameter Objects
Type Returned From Value
Foo Foo.makeFoo
java.lang.Integer Foo.getX 10
java.lang.Integer Foo.getY 10
java.lang.Integer Foo.getZ 10
Methods
Foo java.lang.Object
public protected private package local
Modifiers Return Type Name Parameters ^
  void  
  Foo -none-  
  void V
Fields
Foo java.lang.Object
public protected private package local
Modifiers Type Name Value
  java.lang.Integer
  java.lang.Integer
  java.lang.Integer
Status
Output Messages Session Log

[next]