You are here: Foswiki>Tasks Web>Item12728 (23 Jan 2014, GeorgeClark)Edit Attach

Item12728: Automated configuration testing notions

pencil
Priority: Normal
Current State: Proposal Required
Released In: n/a
Target Release: n/a
Applies To: Extension
Component:
Branches:
Reported By: RichMorin
Waiting For:
Last Change By: GeorgeClark
I have some notions (ie, partly-baked ideas) about automated configuration testing. This is all science fiction at this point, but I'm pretty sure it would work and it could be very useful to administrators, plugin developers, and occasional users.

The basic idea is that each plugin developer (or some other motivated party) would create one or more example pages that show off a plugin's features. They would then walk through the page, clicking buttons and such to exercise the page.

During this walkthrough, a JavaScript would record each event and the resulting (serialized) state of the DOM (eg, using dashcode). A reliable (eg, cryptographically strong) checksum would also be calculated and saved. Finally, all of this could be stored on Foswiki.org.

This would provide a script of interactions and set of expected results for the plugin. Anyone with a Foswiki installation could "play back" the interactions and find out whether the plugin is acting as expected (eg, by comparing the checksums). If a mismatch is detected, the DOM serializations and local configuration could be examined, fixes attempted, etc.

Tests could be added or updated at any time, because the local site would only ask for them when testing is desired. Any desired amount of provenance information (eg, authors, version numbers) could also be built into the system.

-- RichMorin - 23 Jan 2014

Rich, The way to get this stuff handled is to make a FeatureProposals, and also find a CommittedDeveloper, to work on them. Of course new developers are welcome, see GettingStarted. Actually you are already listed as a developer.

We also have Selenium unit tests (currently non-working) for testing via the browser. Especially important for tools like the WysiwygPlugin. The above ideas look very interesting, especially if it could drive another JS application like TinyMCEPlugin

Actually this could be implemented as an extension without needing a feature proposal. But to get it into the development process, a feature proposal is the way to go.

-- GeorgeClark - 23 Jan 2014
 

ItemTemplate edit

Summary Automated configuration testing notions
ReportedBy RichMorin
Codebase
SVN Range
AppliesTo Extension
Component
Priority Normal
CurrentState Proposal Required
WaitingFor
Checkins
TargetRelease n/a
ReleasedIn n/a
CheckinsOnBranches
trunkCheckins
Release01x01Checkins
Topic revision: r2 - 23 Jan 2014, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy