canmove, Confirmed users
2,041
edits
| Line 83: | Line 83: | ||
# Radio | # Radio | ||
# ListBox | # ListBox | ||
# ProgressMeter | # ProgressMeter | ||
# Tree | # Tree | ||
# ''RichListBox'' | |||
# ''Menus'' | # ''Menus'' | ||
# ''Image'' | # ''Image'' | ||
| Line 95: | Line 95: | ||
=== General Modules === | === General Modules === | ||
The | The General Modules are expected to cover the following scope in priority order. Modules in italics are unlikely to be developed in Q1 2011. | ||
# Assertions | # Assertions | ||
| Line 105: | Line 105: | ||
#* Multiple Parallel | #* Multiple Parallel | ||
# Localization (Match current functionality) | # Localization (Match current functionality) | ||
# Module Initialization Functions | # Module Initialization Functions | ||
# Teardown helper functions | # Teardown helper functions | ||
| Line 111: | Line 110: | ||
#* History Reset | #* History Reset | ||
#* Bookmarks Reset | #* Bookmarks Reset | ||
# Preferences handling | |||
# ''Screenshots'' | # ''Screenshots'' | ||
# ''Localization (Improve functionality)'' | # ''Localization (Improve functionality)'' | ||
| Line 119: | Line 119: | ||
Additional Firefox-specific helper functions will also be created as we encounter the need while migrating tests. | Additional Firefox-specific helper functions will also be created as we encounter the need while migrating tests. | ||
== Development Flow == | |||
This project is loosely structured as an Agile project, starting with one week sprints. | |||
Because of the distributed nature of the development team and the differing development concerns, UI Map development and General Module development will follow somewhat different flows within their sprints, as detailed below. | |||
Milestones have been defined. When each milestone is reached, shared module structure will be reviewed and possibly refactored to pay back any development debt incurred during the sprints. | |||
Completion for any library module means done to the point of accomodating current common test scenarios, with sufficient structure and patterns established to add new scenarios as they occur. | |||
Completion also includes creation of documentation and unit tests exercising each module. | |||
=== UI Map === | |||
At the beginning of each sprint, a number of existing Mozmill tests will be chosen, concentrating on those that rely on the highest priority control remaining on the queue above. | |||
These tests will be ported to the library, adding functionality to the UI Map as needed by the tests. | |||
=== General Modules === | |||
At the beginning of each sprint, one or more modules will be chosen from the queue above. | |||
The current Mozmill code will be surveyed to come up with an individual scope for that module (e.g., which assertions are currently used, what teardown functionality is needed). | |||
The module will be developed to that level of functionality. | |||
It is likely these modules will also be expanded as needed by the test porting detailed above. | |||
== Milestones == | |||
Milestones are provided both to meter progress and to synchronize development between the two tracks. All portions of any given milestone should be reached prior to moving on to the next milestone. | |||
=== Milestone 1 === | |||
Completion of: | |||
* UI Map | |||
** Base classes to enable proxy binding | |||
* General | |||
** Assertions | |||
** WaitFors | |||
** Services | |||
=== Milestone 2 === | |||
Completion of: | |||
* UI Map | |||
** TextBox | |||
** Button | |||
** Description | |||
** Label | |||
* General | |||
** Window Handlers | |||
** Localization | |||
=== Milestone 3 === | |||
Completion of: | |||
* UI Map | |||
** ToolbarButton | |||
** MenuList | |||
** Checkbox | |||
** Radio | |||
* General | |||
** Module Init | |||
** Teardown Helpers | |||
=== Milestone 4 === | |||
Completion of: | |||
* UI Map | |||
** ListBox | |||
** ProgressMeter | |||
** Tree | |||
* General | |||
** Preferences handling | |||
* Planning | |||
** Team-wide Pilot Plan | |||
=== Milestone 5 === | |||
Completion of Team-wide Pilot | |||