On 30 Jul 2018, at 12:39, Vincent Massol
<vincent(a)massol.net> wrote:
Hi devs,
It would be great if you could help improve our unit tests using Descartes. This is
needed for the STAMP research project (
https://www.stamp-project.eu/view/main/) and will
benefit XWiki by having 2 effects:
* increasing the test coverage
* improving the tests themselves (increasing their mutation score)
Since 10.7 is 50% testing and 50% BFD, it would be great if you could spend all or a
substantial part of your testing time working on this.
I propose the following strategy:
* You find a module you want to work on.
* In that module you run: mvn clean install -Pquality -Dxwiki.pitest.skip=false
You can also run that at the top of a multimodule project and then find pseudo/partially
tested methods with:
find . -name "methods.json" -exec egrep -oH
"pseudo-tested|partially-tested" {} \;
Thanks
-Vincent
* Then you check
target/pit-reports/<date>/issues/index.html and verify if there are "pseudo
tested" methods listed (when we have finished fixing all of those we can move to
“partially tested methods”).
* If there are some, then please record the current jacoco threshold and the current
mutation score.
* You can get the jacoco threshold by running "mvn clean install -Pquality
-Dxwiki.pitest.skip=false -Dxwiki.pitest.mutationThreshold=100” (or by checking
target/pit-reports/<date>/index.html, I haven’t checked yet if they are the same).
* You can get the current mutation score by checking
target/pit-reports/<date>/index.html
* Then fix the test so that Descartes doesn’t report any pseudo tested or partially
tested methods
* Update the jacoco threshold and the mutation scores in the pom.xml
* Send a PR on
https://github.com/STAMP-project/descartes-usecases-output/tree/master/xwiki using the
format already defined there.
WDYT? Doable?
Thanks
-Vincent