Increase width and depth of Smooks automated testing
----------------------------------------------------
Key: JBIDE-5675
URL:
https://jira.jboss.org/jira/browse/JBIDE-5675
Project: Tools (JBoss Tools)
Issue Type: Task
Components: smooks
Reporter: Brian Fitzpatrick
Fix For: LATER
Now that we have started putting together some automated tests, it's made me think
again about what it is we should be testing...
At a high level, we have some basic functional areas... Setting the input data, mapping to
some Java Classes, and then taking the data from the Java Classes and outputting to some
other format (such as CSV or XML (XSD)).
We take input from:
* XML/XHTML files
* Incoming Java classes (meeting JavaBean-type interfaces)
* XSD/WSDL files
* CSV files
* EDI files
* JSON files
* Custom files (what requirements do custom Smooks inputs have?)
So we need to test to make sure that a variety of these input types can be successfully
brought into the editor without errors. But since we only really support a limited set of
inputs, this should remain pretty stable if we come up with a few solid examples of each.
Tests should include edge cases such as Java Classes that don't match the Java Bean
structure, invalid files, empty files, etc.
The next area is then the Java Mapping task, where we provide a facility for users to
import Java classes to map their input to. These java classes need to meet the Java
Bean-type structure.
This Java Mapping should be tested against:
* Java Classes that don't match the Java Bean-type structure
* Simple classes (single class vs. collection)
* Collection of simple classes
* Collection of compound classes
And the final area at this point is applying a template - either CSV or XML (XSD). This
mapping between the Java Mapping task and the output template should mix/match a number of
things, including but not limited to:
* (Same things we tested the Java Mapping against)
* Java Classes that don't match the Java Bean-type structure
* Simple classes (single class vs. collection)
* Collection of simple classes
* Collection of compound classes
Plus:
* Single-field CSV (field1)
* Multi-field CSV (field1,field2,field3,...)
* Simple XML (XSD) - i.e. XSD with only simple types
* Complex XSD - multiple complex types
* Invalid XSD
* Blank XSD
Generally I just want us to try and automate as many tests as we can. Dart, Tom & I
can help you with this process once we get through the release.
Ultimately we need to think of as many weird or strange things as we can to start hitting
fringe cases that our users may try. Users are talented in the ways they will try to make
tools work. And I have to admit I've used the occasional screwdriver to pound in a
nail (typically unsuccessfully) so we should anticipate the user will try and do the same
thing with the Smooks editor.
The better we build our test suite, the better off we'll be as we add additional
template types, new functionality, and continue to bang on this thing.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira