Sonar fornisce un valore di copertura generale che è una combinazione di copertura di linea e di diramazione. Non sono sicuro di quanto sia importante questa metrica. Che cosa significa il valore della copertura generale? Com'è meglio della copertura di linee e diramazioni? Qualsiasi suggerimento sarebbe utile.Sonar-Overall Coverage
5
A
risposta
3
Ecco come la copertura complessiva è calcolata: http://docs.codehaus.org/display/SONAR/Metric+definitions#Metricdefinitions-Tests
Se la copertura ramo è inferiore a copertura della linea (e quindi inferiore a copertura complessiva), significa che il test di unità testare i casi principali, ma non è proprio il casi d'angolo .
3
Dalla documentazione del Sonar:
Si tratta di un mix di copertura di linea e la copertura Condition. Il suo obiettivo è quello di fornire una risposta ancora più precisa alla seguente domanda: Come gran parte del codice sorgente è stato coperto dai test unitari?
Coverage = (CT + CF + LC)/(2*B + EL)
where
CT = conditions that have been evaluated to 'true' at least once
CF = conditions that have been evaluated to 'false' at least once
LC = covered lines = lines_to_cover - uncovered_lines
B = total number of conditions
EL = total number of executable lines (lines_to_cover)
Fonte: http://docs.sonarqube.org/display/SONAR/Metric+definitions (catturato 23/02/2015)
Problemi correlati
- 1. PHPUnit Code Coverage
- 2. PowerMock ECLEmma coverage issue
- 3. condition coverage in python
- 4. Django Template Test Coverage
- 5. Ember CLI Code Coverage Reports
- 6. SonarQube Test Coverage con MsTest
- 7. Visual Studio 2012 Code Coverage
- 8. Maven Emma coverage Report failed
- 9. Come aggiungere variabili membro statiche Jacoco Test Coverage?
- 10. CLang Code Coverage - Mac OS X - Linker Error
- 11. Caricamento di file .coverage da coverage.py in IntelliJ IDEA/vista la copertura del PyCharm
- 12. È possibile escludere il codice generato automaticamente da Entity Framework da Code Coverage Statistics?
- 13. Impossibile trovare i file di dati di copertura (.coverage o .coveragexml). Controllare i dettagli della corsa di test per possibili errori
- 14. Alternative per loop per R?
- 15. Come si generano i file xml in formato Cobertura usando gcovr per iOS?
- 16. La copertura della filiale è uguale alla copertura decisionale?
- 17. Come resovle __gcov_init problema di riferimento non definito quando il collegamento
- 18. deep copy of struct con Pointer Point in C
- 19. opere vstest.console.exe, ma non con un buon nome di file, CodeCoverage.exe non dà alcun risultato
- 20. Grails non può risolvere il plugin
- 21. Come si può ottenere unittest2 e coverage.py lavorando insieme?
- 22. Python: AssertionError durante l'esecuzione di test del naso con una copertura
- 23. dplyr mutate usando rbinom non restituisce numeri casuali
- 24. "Il simbolo nascosto 'atexit' è referenziato da DSO" quando si utilizza libtool con gcov
- 25. PyCharm, Django: copertura codice zero
- 26. Ottenere Istanbul.js di ignorare la definizione define (require.js)
- 27. Escludere la directory di base da PHPUnit Copertura del codice
- 28. Come impostare la copertura del codice runner Karma?
- 29. Test del pallone: perché la copertura esclude dichiarazioni di importazione e decoratori?
- 30. Come stampare un testo una volta completata l'attività grunt?
Grazie David! Se la copertura complessiva è una combinazione di copertura di linea e di diramazione, come vengono aggiunte queste frazioni? Non sono ancora sicuro della differenza tra la linea e la copertura complessiva, poiché entrambi misurano la quantità di codice coperta. – Pavneet
Questa risposta è incompleta. Esiste una metrica di copertura, che è in effetti la combinazione di copertura di linee e diramazioni come descritto. Ma la metrica overall_coverage è una combinazione di copertura del test di integrazione (it_coverage) e copertura del test unitario (copertura). Se uno dei due test copre una linea o una condizione viene contato come coperto. – David