Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alansastre/sedcat-plugin
SonarQube Sedcat plugin for quality measurement in unit testing.
https://github.com/alansastre/sedcat-plugin
complexity coverage expert-systems fuzzy-logic java metrics percentage quality sonarqube testing testing-tools unit-testing unit-testing-framework widget
Last synced: 9 days ago
JSON representation
SonarQube Sedcat plugin for quality measurement in unit testing.
- Host: GitHub
- URL: https://github.com/alansastre/sedcat-plugin
- Owner: alansastre
- License: lgpl-3.0
- Created: 2015-12-28T18:26:22.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-09-23T16:10:06.000Z (over 7 years ago)
- Last Synced: 2024-11-13T16:52:22.897Z (2 months ago)
- Topics: complexity, coverage, expert-systems, fuzzy-logic, java, metrics, percentage, quality, sonarqube, testing, testing-tools, unit-testing, unit-testing-framework, widget
- Language: Java
- Homepage:
- Size: 3.95 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Sedcat plugin for SonarQube
The Sedcat plugin for [SonarQube](http://www.sonarqube.org/) allows developers get an overview on the state of quality in unit testing of a software project.
[![Quality Gate](https://sonarqube.com/api/badges/gate?key=org.sonar.plugins.sedcat:sonar-sedcat-plugin)](https://sonarqube.com/dashboard/index/org.sonar.plugins.sedcat:sonar-sedcat-plugin)
## Rationale
This plugin has expert systems for classifying uncertainty involved in assessing the quality of unit testing. Currently [SonarQube](http://www.sonarqube.org/) has metrics for unit testing such as success and coverage. Sedcat uses the values of these metrics and others to provide new project-level metrics such as quality of unit tests and recommended actions to improve it.
Thus, a developer user can see on sedcat widget the percentage of quality corresponding to unit testing and which parameters needs to fix to improve that percentage and in what order of priority.
## How does it works
The operations of Sedcat are divided into three parts:
1. Reading input data. Internal and external metrics to the platform are read:
- Unit Test Success.
- Unit Test Coverage.
- Unit Test Mutations Coverage (calculated with external [Pitest Mutation Tool](https://github.com/hcoles/pitest)).
- Number of Unit Test.
- Total Lines of Code.
- Complexity Average Class.2. Operations:
- Adapt input data to expert systems.
- Run expert systems. An expert system for quality metric and another system to get the set of improvement actions.
- Process results.3. Send output data to the SonarQube platform for visual representation in the widget.
Expert systems have been developed with the fuzzy system development environment [Xfuzzy](http://www2.imse-cnm.csic.es/Xfuzzy/index.html) in XFL3 language, synthesized in java language and integrated on plugin lifecycle.
More details at [Sedcat Wiki](https://github.com/alansastre/sedcat-plugin/wiki/Example-Results).
## Usage
### Requirements and Compatibility Matrix
| Sedcat Plugin | SonarQube | [Pitest Mutation Tool](https://github.com/hcoles/pitest) |
|-------------------|-------------------|-----------------------|
| 1.0.0 | 5.3 up to 5.5 | 1.1.4 and above |### Plugin installation
The plugin can be directly [downloaded from GitHub releases](https://github.com/alansastre/sedcat-plugin/releases).
After having placed the plugin's jar in `{SONARQUBE_INSTALL_DIRECTORY}/extensions/plugins` you need to restart your SonarQube instance.
You have then to add the `Sedcat Plugin` widget to your project or view dashboard.
### Plugin settings
The plugin have three options in General Settings:
1. `Complexity Threshold`: allows set the threshold for acceptable complexity /class. If complexity of project is above this value, it negatively affects the quality metric and complexity will be an essential parameter to fix. Complexity is not a direct measure of the test, but it is an indirect measure. At more complexity, more complicated are unit tests and therefore more efforts must invest in developing them and maintenance. The default value is 30.
2. `Pitest reports directory path`: specifies the directory path with reports generated by the Pitest mutation tool from where sedcat extracts mutations coverage.
3. `Sedcat active mode`: enable or disable the plugin on the analysis.## Design
The software design of this project was carried out by UML language and is in the `designUML` folder.
## Example results
Here is the widget:
![Sedcat Widget](sedcat-screenshot1.jpg)Another examples in: [Sedcat Wiki](https://github.com/alansastre/sedcat-plugin/wiki/Example-Results).
# License
Copyright © 2016 Sonar Sedcat Plugin.
Licensed under GNU Lesser General Public License, Version 3.0