## page was renamed from RFCTemplate ## This template may be useful for creating new RFC's (Request for comments) ## This is a wiki comment - leave these in so that people can see them when editing the page || '''RFC Name''' : Testing || '''Editor(s)''': PietMolenaar, TeroAittokallio || <> == About this document == This is an official Request for Comment (RFC) for '''Testing'''. For details on RFCs in general, check out the [[http://www.answers.com/main/ntquery?method=4&dsid=2222&dekey=Request+for+Comments&gwp=8&curtab=2222_1&linktext=Request%20for%20Comments|Wikipedia Entry: Request for Comments (RFCs)]] == Status == ##Put the date and the status. Status can be e.g. "Not yet completely written", "Open for public comment", "Closed for public comment". There could be some explanation of the status 30/10/06 Not yet completely written but open for public comment 31/10/06 Short investigation of testing environments started: see below; based on [[http://www.junit.org/news/extension/gui/index.htm|JUnit extensions]] but any suggestions welcome!! == How to Comment == To view/add comments, click on any of 'Comment' links below. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Here is an example to get things started: [[/Comment]]. '''Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.''' == Proposal == Apart from the currently already implemented JUnit tests, the Cytoscape framework needs tests that cover (and preferably automatically test) user interaction; functional/regression tests. All along the following lines: 1. create a brief overview GUI testing environments 2. code-spike: 'load a network and move nodes around' 3. extend this as a default test framework for GUI tests 4. implement this (or have this implemented) for all basic GUI operations 5. extend tests to include PerformanceProfiling 6. put up a small set of recommended GUI and JUnit tests for plugin developers; including data ##The sections below may be useful when creating an RFC, delete the ones that are not == Biological Questions / Use Cases == * Typical user scenarios are recorded as GUI actions in a file that can be re-used for automated testing == Requirements == GUI-testing environment: * OpenSource * Java; preferably JUnit integration * Record/Play-back facilities * Code and script facilities * Active community; under active development == General Notes == Based on requirements above currently investigated: * [[https://swingunit.dev.java.net/|SwingUnit]] * [[http://jemmy.netbeans.org/|Jemmy]] * [[https://sourceforge.net/projects/jfcunit/|JFCUnit]] * [[http://abbot.sourceforge.net/doc/overview.shtml|Abbot]] == Open Issues == == Backward Compatibility == == Implementation Plan == * [[/Implementation Plan]] == Comments == Piet: I have done some testing using the Abbott framework but as I see it now this might be of use when testing 'black box' plugins, but for the framework and core plugins (where the source is available) the SwingUnit provides the most structured way of writing Gui tests.