Last Updated 8/19/00
The goal of this release is the features that are the bare minimum to using it on a very small system. Since in the customer's eyes the GUI is super useful, Release 1 will have a simple GUI with no tree of tests.
The Key High Value Goals in this release are:
- Test feedback easy to interpret (Good GUI design)
- Know exactly what caused failures (Exceptions)
- High speed (No problem)The Use Cases in this release are:
1. System Startup
3. Edit test suite (Done with tree of tests)
4. View test suite results: summary data, detail data (Just totals and exceptions)
5. Select subset of suite to run (Can run any test, such as below the root)
6. Store test results (Do visually but not persistantly)
8. Explore a failure to determine exactly where it occurred (Examine exception trace)
9. Specify test to run (Enter in GUI. Can be one or a tree of tests.)We're using Mini Proces 3 which is a superset of XP. XP suggests breaking down the customer story cards into tasks. With MP3 we have added the design step, so we have a model that needs implementation. Examining the models plus including the GUI partition, we have the following tasks.
Note - Estimated time is intermediate level developer already familiar with the domain, analysis and design. An intermediate skill level requires at least 1 year experience with Java and 2 years solid experience with OO and modeling. When in doubt, double these estimates. Plan how your pair will work together if the task is not completed during a JSL meeting. Will you work together between meetings or wait until the next meeting? Avoid bogging down if you have a task with successors.
|
Task |
Summary |
Priority & Remarks |
Requires |
Status |
|
|
1 |
Properties Setup | Add TestContext, Property classes. Add setTestContext(TC) to Test and TestCase. | A - Easy, 2 hours. Extensive JavaDoc. Change model to make Property immutable, use factory. | Done | |
|
2 |
Properties Use | Tester - Implement Test.setTestContext(TC), provide TC, do share with children, do inheritance to children's children. | A - Medium, 4 hours. Testing will take time. Write test first using Jester itself. | Properties Setup | Done |
|
3 |
Test Info | Add remaining methods. Do not do exceptions. | C - Easy, 2 hours. | Started | |
|
4 |
Exception Policy | Add ExceptionPolicy, add exception methods to TestInfo. Mod Tester to honor policies. | C - Medium, 4 hours. Write test first since tricky. | Test Info | |
|
5 |
Suite State | Add SuiteState, mod Tester to keep all published state there, print out SuiteState.toString() at end of suite. | A - Easy, 2 hours. Skip updating any state not yet managed. | ||
|
6 |
Suite State Events | Add event , listener. Add add and removeListener methods to SuiteState. Mod SuiteState to fire events when any published state changes or print if no listeners. | A - Medium, 4 hours. This is the key to hooking up the GUI later. | Suite State | |
|
7 |
Command Extractor | Add CommandExtractor without -name=value feature, add setTokens() to Tester, mod Tester to use CmdEx. | B - Easy, 4 hours. Make CmdEx reusable. If reusable will put in util pkg. | Almost done | |
|
8 |
Suite Options | Add SuiteOptions, include only noCatch feature, mod Tester to set noCatch from CommandExtractor and use it to catch or not catch exceptions. | C - Easy, 2 hours. This eliminates to need to hard code tool for use in debugger. | Command Extractor | Mostly done. Postpone rest until GUI underway. |
|
9 |
Named Value Feature | Design and add "-name=value" feature to CommandExtractor. Mod Tester to use this to set properties for root test. | C - Easy, 2 hours. Decide how to handle property isInherited. | Command Extractor |
Then come the GUI related tasks. We need to start on these immediately since they define the release's critical path.
|
Task |
Summary |
Priority & Remarks |
Requires |
Status |
|
|
10 |
Visual Design | Examine other test tool GUIs, sketch prototypes, select best, do realistic model in Visio or such. Include tree and all known features. | A - Hard to do well, 4 hours. Will take extra time if no familiar with realistic modeler. Test on users. | In progress, first rough done. | |
|
11 |
Write GUI User Doc | Using html and following the document style in the other Getting Started, write Getting Started - Using the GUI. | B - Hard, 4 hours. Test on users. Improve visual design as feedback occurs. | Visual Design | |
|
12 |
Design GUI Partition | Class model and rationale, in the same style as other models. | A - Hard, 6 hours. Ideally use the Visio files as a starting point for best match. | Write GUI User Doc | |
|
13 |
Simple GUI | Implement the GUI model without the tree or any fancy features. | A - Hard, 4 hours. Familarity with awt, Swing is mandatory. | Design GUI Partition, Tester Events | |
|
14 |
Tree GUI | Add the tree GUI. (Release 2) | B - Hard, time unknown. | Simple GUI | |
|
15 |
Other GUI | Add other GUI features. (Release 2) | ? | Tree GUI | |
|
16 |
|||||
|
17 |
|||||
|
18 |
|||||
|
19 |
Here are the other various tasks:
|
Task |
Summary |
Priority & Remarks |
Requires |
Status |
|
|
20 |
Write First Full Test | Using Jester to test itself, write a small suite of tests to test whatever functinality exists at the time. | A - Easy once you have the first test written. Time depends on when done, 2 hours now. Do early to make easier. After this each pair will add their own tests to the Full Test. | Well done | |
|
21 |
Temp NoCatch | Mod Tester to use args[1] of "-nocatch" to count exceptions by adding message to Vector, print out exception count and messages at end of suite. | C - Easy, 1 hour. If -nocatch is not present then Tester should catch all exceptions. | No longer needed since Command Extractor does this now | |
|
22 |
Tester listTree(), createTree() | Add these methods to Tester. | C - Easy, one hour if familiar with Java and recursion. | ||
|
23 |
Refactor early tests. | Use properties instead of statics now that they're available. | C - Easy, 2 hours if familiar with tests, double that if not. | ||
|
24 |
|||||
|
25 |
|||||
|
26 |
|||||
|
27 |
|||||
|
28 |
|||||
|
29 |