code coverage revised : eclemma on jacoco
TRANSCRIPT
![Page 1: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/1.jpg)
Code Coverage Revised
EclEmmaon JaCoCo
Evgeny Mandrikov
![Page 2: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/2.jpg)
Code quality
1 of 7 deadly sins of developer
Insufficient code coverage by tests
http://sonarsource.com
![Page 3: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/3.jpg)
Untested Code is theDark Matter of Software
Robert (Uncle Bob) MartinAugust 2006
Apparently because itmakes up 90% of the software universe
![Page 4: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/4.jpg)
Correctness
Completeness
AppTest
![Page 5: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/5.jpg)
![Page 6: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/6.jpg)
![Page 7: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/7.jpg)
RequirementsA Library
FrameworkAgnostic
Tested
Scalable
Freaking Fast
Freaking Easy
![Page 8: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/8.jpg)
Runtime profiling Instrumentation
Bytecode
On-The-Fly
Java Agent
Source
Offline
Class LoaderReplace Inject
Code Coverage
![Page 9: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/9.jpg)
ALOAD probearrayICONST probeidICONST_1BASTORE
Java Byte Code Instrumentation
![Page 10: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/10.jpg)
*.exec
Java Agent$ java -javaagent:jacocoagent.jar killerApp
![Page 11: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/11.jpg)
Emma Cobertura Clover JaCoCo
License CPL GPL Commercial EPL
Latest release 13/06/2005 03/03/2010 25/04/2012 19/04/2012
Type offlinebytecode
offlinebytecode
offlinesource code
onlinebytecode
Java 1.2 — 1.6 1.3 — 1.6 1.4 — 1.7 1.5 — 1.7
Line hits partial yes yes partial
Branch coverage
no yes yes yes
Comparison
![Page 12: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/12.jpg)
Comparison
![Page 13: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/13.jpg)
IntegrationsAnt
MavenEclipse
SonarIntelliJ IDEA
SBTGUIDancer
Aquillian
![Page 14: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/14.jpg)
![Page 15: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/15.jpg)
MetricsTypes
MethodsLines
InstructionsBranches
Complexity
![Page 16: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/16.jpg)
Plug-in Testing
No moreWorkspace Rebuilds!
![Page 17: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/17.jpg)
Incremental Code Coverage
Intermediate Dumps
![Page 18: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/18.jpg)
Fight Dark MatterIn Your Software!
Showcases
![Page 19: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/19.jpg)
Future
Inject into a running JVM (Java 6)
Determine relationship code - test
Filters
Even faster with JSR 292 (Java 7)
![Page 20: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/20.jpg)
Contribute
http://jacoco.org
![Page 21: Code Coverage Revised : EclEmma on JaCoCo](https://reader034.vdocument.in/reader034/viewer/2022052619/5565a974d8b42a083a8b4e2b/html5/thumbnails/21.jpg)
?