SQLFpc exposes a Web service to generate the SQLFpc Coverage Rules from third party applications (alternatively, they can be generated interactively from a browser). In order to get started on how to integrate an application using the service, read the following information:
Follow this link to get the main documentation page
Links to the Service:
The web service provides two operations:
The getRules method requires three strings as input:
The service returns a string containing the fules formatted in an XML document that can be further loaded and processed by any application.
The format of the result is explained below:
The root tag named <sqlfpcws>
which contains:
<version>
which contains a single text with the version number.
<sql>
which contains the SQL statement being mutated.
<error>
tag is returned if an error occurred during the process. The text inside displays an explanatory message.
<fpcrules>
tag is returned when the rule generation is successful. It
contains all rules generated and, for each one:
<fpcrule>
tag representing a single rule. Inside this tag:
<id>:
a sequence number, <category>
,
<type>
and <subtype>:
)
<sql>
tag that contains the SQL representation of the coverage rule
<description>
tag that contains a textual explanation of the test requirement represented by the rule
The third parameter of the web service methods is a xml character string which may include a set of options enclosed in the tag <options></options>
. Enclosed in this tag you may include one or more of the following tags:
<lang>
: Specifies the output language for the textul description (place either es
or en
inside the tag)<noconditions>
: If present, rules for conditions (select operator) are not generated<noboolean>
: If present, rules for boolean conditions (select operator) are not generated<nonulls>
: If present, rules for nulls in conditions (select operator) are not generated<noboundaries>
: If present, rules for boundary values in numeric expressions are not generated<nojoins>
: If present, rules for joins are not generated<nosubqueries>
: If present, rules for subqueries are not generated<nogroupby>
: If present, rules for group by clauses are not generated<noaggregate>
: If present, rules for aggregate funcions are not generated<nounsolvable>
: (experimental) If present, a number of rules for WHERE and CASE conditions that are unsolvable due to coupled conditions are filtered out<getgtime>
: If present, an additional tag <summary gtime="nnn" />
before the mutants will include the time spent in generating the mutants in milliseconds.
<hideids>
: If pressent, ommits the number of each mutant and version. Only
for development.
The help pages for the SQLMutation Web Service include two examples written in Java and .NET. Both examples will also work with SQLFpc. The only change to be made is the url for the web service (see above in this document)
Open the Web application and then click the button "Submit Problem Report/Request for Enhancement" at the bottom of the form