Test suite (unit test and integration test) for the Apache Syncope project, and analysis of their adequacy through coverage tools such as Ba-Dua for data coverage, JaCoCo for statement coverage and branch coverage. Further quality controls of the developed tests were carried out through Pitest (aka PIT) tool, to verify their robustness to SUT mutations.
Mockito was used to simulate the execution environment and GitHub Actions was used as a continuous integration tool.
The following classes have been tested:
org.apache.syncope.core.spring.security.AuthDataAccessor
org.apache.syncope.core.spring.security.DefaultPasswordGenerator
org.apache.syncope.core.provisioning.api.utils.RealmUtils
Each tool is associated with a dedicated Maven profile, can be executed through the commands:
mvn clean verify -P jacoco
mvn clean verify -P badua
mvn clean test -P pit
Apache Syncope is an Open Source system for managing digital identities in enterprise environments, implemented in Java EE technology and released under Apache 2.0 license.
| Class | Statement Coverage | Branch Coverage | Mutation Coverage |
|---|---|---|---|
| DefaultPasswordGenerator | 96% | 86% | 36% |
| RealmUtils | 100% | 95% | 78% |
| buildAuthorities | 100% | 100% |
Testing report (:it:) made with all the results, improvements and considerations.