code coverage revised : eclemma on jacoco
TRANSCRIPT
Code Coverage Revised
EclEmmaon JaCoCo
Evgeny Mandrikov
Code quality
1 of 7 deadly sins of developer
Insufficient code coverage by tests
http://sonarsource.com
Untested Code is theDark Matter of Software
Robert (Uncle Bob) MartinAugust 2006
Apparently because itmakes up 90% of the software universe
Correctness
Completeness
AppTest
RequirementsA Library
FrameworkAgnostic
Tested
Scalable
Freaking Fast
Freaking Easy
Runtime profiling Instrumentation
Bytecode
On-The-Fly
Java Agent
Source
Offline
Class LoaderReplace Inject
Code Coverage
ALOAD probearrayICONST probeidICONST_1BASTORE
Java Byte Code Instrumentation
*.exec
Java Agent$ java -javaagent:jacocoagent.jar killerApp
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
Comparison
IntegrationsAnt
MavenEclipse
SonarIntelliJ IDEA
SBTGUIDancer
Aquillian
MetricsTypes
MethodsLines
InstructionsBranches
Complexity
Plug-in Testing
No moreWorkspace Rebuilds!
Incremental Code Coverage
Intermediate Dumps
Fight Dark MatterIn Your Software!
Showcases
Future
Inject into a running JVM (Java 6)
Determine relationship code - test
Filters
Even faster with JSR 292 (Java 7)
Contribute
http://jacoco.org
?