Eiffel Testing Tool

Eiffel Studio Testing Tool

2 main UI: Testing Control Toolbar and Testing Control Panel

2 sub-UI: Test Run History Dialog and New Manual Test Case Dialog

All of them will be moved to Eiffel Studio as the new Testing tool.

Testing Control Toolbar

Eiffel Testing Tool Toolbar.png

xUnit Testing, Autotest, CDD are working together. We have three way to insert test case items as Eiffel Classes.

  • Press `New Manual Test Case', then a xUnit testing wizard appears (see below `New Manual Test Case Dialog'). After finished this wizard, a test case item will added to as an Eiffel Class in a specified cluster.
  • In testing tool bar, press `New Auto Test Case', then a Autotest testing wizard appears. In the wizard, we can configure various options described in the link `http://se.inf.ethz.ch/auto_test/toc.html'. After finished this wizard, a test case item will added as an Eiffel Class.
  • `New Auto Test Case For Current Execution will create a Eiffel testing class based on current application execution.
  • Press toggle button `Auto Generate Test Case When Crash', a confirm dialog about `CDD message' (see below) will appear every time just after a crash happens.

`Run Test' Button will

  • run all test cases (Eiffel Classes) shown in Testing Control Panel top grid if no line selected.
  • run select test cased in the TCP grid. The grid is multi-line selectable.

`Report Failed Test Runs' will report select test failure (in Testing Control Panel grid) to support.eiffel.com. We will allow end user to select where to post in future. This button allow drop failed test case onto it. `Show Testing Tool' will show the Testing Control Panel below.

Testing Control Panel

Eiffel Testing Tool Testing Control Panel.png

  • Select Test Cases:

Thanks to the sorting facility of EV_GRID, so we can manage different types of test case easily. In TCP, all test cases from xUnit Testing, Autotest and CDD stay together in same grid. They can be categorized in different ways by sorting the grid columns.

For example, if we want to find out all CDD test cases, sort column `Runner', then sort column `Auto Generated', then all CDD test case will appear at the top of grids. all Autotest cases will appear at middle position of grids. All manual xUnit test case will appear at bottom of the grid. We select multi rows at same time, then select button `Run Selected Test' on the TCP.

  •  ?Will add a new column? For each test, select whether it should be replayed
    • At every compilation
    • Only in a compilation after a change involving specified classes (default? to be discussed)
    • Only if requested manually
  • The progress bar indicate the progress when running test cases.
  • `Failures' means contract broken. `Errors' means problem such as `file not found' when running eWeasel unit testing.

Test Run History Dialog

This dialog will shown after pressed `All Test Runs' button in Testing Control Panel. It will record all test runs details, e.g. time, name, test cases count, result and other testing information shown in the TCP.

Eiffel Testing Tool Test Run History.png

New Manual Test Case Dialog

Eiffel Testing Tool New Manual Test Case Dialog.png

This dialog will appears after pressed `New Manual Test Case Dialog' in testing tool bar. `Which events would you like to create' in first dialog means whether to add hooks during the testing process. `on_before_setup' will be called before the testing start, `on_setup' will be called after testing started. `Available features' in second dialog will shown all features available from target test class. We will use check-able tree item in the tree. So end user can select/deselect features to test.

Plan

For Eiffel Studio 6.2

  • 2008-Jan-8 - 2008-Feb-15 xUnit part
    • New Manual test case wizard
    • Implement TCP Panel.
    • Implement Test Runs panel.
    • 2008-Feb-15 first beta version
  • 2008-Feb-16 - 2008-Mar-30 Add Autotest part.
    • New auto test case configure wizard
  • 2008-Apr-1 - 2008-May-15 Testing phase
  • 2008-May-15 Eiffel Studio 6.2 release

For Eiffel Studio 6.3

  • Add CDD part.
    • CDD integration -- learn from CDD Eiffel Studio 5.7 and CDD Eiffel Studio 6.0
  • Report failed test runs part
    • Make report bug configure-able, so user can configure which website to report. Maybe it's hard without a plug-in mechanism.
  • Demo Eiffel Studio will be available every week.

Unit Testing Detailed Design (eWeasel Testing)

Please see How_Testing_Tool_Works