Ian's List of Java Test Tools GitHub logo Twitter logo
Java Test Tools List - 80 of them.

This is my list of Java-related testing frameworks, ranging from the basic and ubiquitous (JUnit, TestNG) to the esoteric, to the now-defunct or never-caught-on. If I've missed one, please let me know - you know where to find me.

There's not currently a link to the Maven Plugins for those projects where the plugin is maintained by other than the main project, but a really comprehensive set of Maven plugins is at http://www.mojohaus.org/plugins.html (formerly at CodeHaus).

Also, many useful tools are not specifically about testing or checking Java programs, and I've had to draw the line somewhere. I've also left out many generic tools, such as Google's Mobile Friendly Test service that are worth knowing about but are neither Java-centric or Java-specific.

NameWeb SiteSource Code?TypeLicense TypeNotes
ACRA https://github.com/ACRA/acra https://github.com/ACRA/acra CrashOPEN_ASLV2Android-specific crash reporting; client is open source, various backends can be used.
Airbrake https://airbrake.io/ https://github.com/airbrake CrashCOMMERCIALLong widely used in the Ruby/Rails community, supports Java, several other languages, lots of back-end integration. Client libs are open source
Android Lint http://developer.android.com/tools/help/lint.html https://source.android.com/ StaticOPEN_MIT_BSDIncluded w/ Android SDK
Android Testing Support Library https://google.github.io/android-testing-support-library/docs/ https://android.googlesource.com/platform/frameworks/testing/+/android-support-test ATSL includes Espresso, JUnit4 support for Android Testing, UI automator, expressions, and more.
annabot http://darwinsys.com/annabot/ https://github.com/IanDarwin/annabot/ StaticOPEN_MIT_BSDChecks annotations for correct usage
AppPerfect http://www.appperfect.com/products/java-unit-test.html DynamicCOMMERCIALCommercial. Aims to automate dev and running of test
Arquillian http://arquillian.org/ https://github.com/arquillian DynamicOPEN_ASLV2Container-in-test EE component tester
Assent Formerly from Tata (http://www.tcs.com/), apparently no longer available
Bandera http://bandera.projects.cis.ksu.edu/ ModelUses Pathfinder
BugSplat http://www.bugsplatsoftware.com/Documents/java-applications/ CrashCOMMERCIALCommercial, cross-platform crash reporting
Canoo WebTest http://webtest.canoo.com/webtest/ https://github.com/canoo/webtest.git WebOPEN_ASLV2
Cenqua Merged into Clover
Checker Framework http://checkerframework.org/ https://github.com/typetools/checker-framework/ StaticOPEN_GPLIntegrates with standard compiler(s)
CheckStyle http://checkstyle.sourceforge.net/ http://checkstyle.sourceforge.net/ Static
CloneDR http://www.semanticdesigns.com/Products/Clone/ DuplicateDetectorCOMMERCIAL
Clover https://www.atlassian.com/software/clover/ CoverageCOMMERCIAL
Cobertura http://cobertura.sf.net https://github.com/cobertura/cobertura Coverage
Coverity http://www.coverity.com/ StaticCommercial
CPD https://pmd.github.io/pmd-5.4.1/usage/cpd-usage.html DuplicateDetectorPart of PMD
CrashBurnFree http://darwinsys.com/crashburnfree/ https://github.com/IanDarwin/CrashBurnFree Crash
Cucumber https://cucumber.io/docs/reference/jvm https://github.com/cucumber TDD
dbUnit http://dbunit.sourceforge.net/ http://dbunit.sourceforge.net/source-repository.html DynamicJUnit extension for database work
DoctorJ https://github.com/jpace/doctorj https://github.com/jpace/doctorj Static
EasyMock http://easymock.org/ https://github.com/easymock/easymock MockingAn influence on Mockito
EclEmma http://eclemma.org/ CoverageEclipse plugin for coverage. Started with Emma, switched to JaCoCo
Emma http://emma.sourceforge.net/ Coverage
ESC/Java http://kindsoftware.com/products/opensource/ESCJava2/ https://github.com/kiniry/ESCJava2 StaticClaims to be on github but source is not checked in after 3 years.
Espresso https://google.github.io/android-testing-support-library/docs/espresso/ https://android.googlesource.com/platform/frameworks/testing/+/android-support-test Part of Android Testing Support Library. Do not confuse with Espresso web framework
fb-infer http://fbinfer.com/ https://github.com/facebook/infer StaticOPEN_MIT_BSD
FindBugs http://findbugs.sourceforge.net/ https://github.com/findbugsproject/findbugs StaticOPEN_GPL
Fortify http://www8.hp.com/us/en/software-solutions/application-security/index.html StaticCOMMERCIALAcquired by HP
Grinder http://grinder.sourceforge.net/index.html Load
Hamcrest http://hamcrest.org/ https://github.com/hamcrest/JavaHamcrest DynamicMatchers for JUnit (etc), supports other prog langs
Hammurapi https://sourceforge.net/projects/hammurapi/ StaticOPEN_GPL
HtmlCleaner http://htmlcleaner.sourceforge.net/ https://svn.code.sf.net/p/htmlcleaner/code/trunk/ HTMLHtmlCleaner cleans poorly-formed HTML pages into well-formed XML
JaCoCo http://eclemma.org/jacoco/ StaticJava Code Coverage library, Developed by EclEmma devs.
Jamit http://grothoff.org/christian/xtc/jamit/ http://grothoff.org/christian/xtc/#download StaticJava Access Modifier Inference Tool. Examines Java class files to infer tighter access modifiers.
Java Pathfinder http://babelfish.arc.nasa.gov/trac/jpf/#WelcometotheJPFWiki http://sourceforge.net/projects/javapathfinder/ ModelOPEN_OTHERThe original Model Tester for Java; has own JVM written in Java.
jcabi http://w3c.jcabi.com/ https://github.com/jcabi/jcabi-w3c HTMLUses REST API to access W3 validator; depends on JAX-RS and Jersey
JCov https://wiki.openjdk.java.net/display/CodeTools/jcov CoverageUsed in checking the JDK; now part of OpenJDK project.
JCSC http://jcsc.sourceforge.net/ StaticJava Coding Standard Checker
jdeps https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool StaticCmd Line Tool included w/ JDK 1.8+
JIRA Mobile Connect https://marketplace.atlassian.com/plugins/com.atlassian.jconnect.jconnect-plugin CrashCOMMERCIALCommercial, cross-language crash reporting
Jlint http://jlint.sourceforge.net/ http://sourceforge.net/p/jlint/git/ci/master/tree/ StaticOPEN_GPL
JMeter http://jmeter.apache.org/ Load
JMock http://www.jmock.org/ https://github.com/jmock-developers/jmock-library Mocking
JMockit http://jmockit.org/ https://github.com/jmockit/jmockit1 Mocking
JStyle http://www.mmsindia.com/jstyle.html n/a Commercial. May be defunct; web site says "JDK1.0-1.4".
JTidy http://jtidy.sourceforge.net/ https://sourceforge.net/p/jtidy/code/HEAD/tree/ HTMLHTML syntax checker and pretty printer.
JUnit http://junit.org/ https://github.com/junit-team/junit DynamicOPEN_EPL_CPLOne of the oldest and most used; the mother of all xUnit packages
JWalk http://staffwww.dcs.shef.ac.uk/people/A.Simons/jwalk/ DynamicCOMMERCIALFree for individual use; source code not available.
JWebUnit http://jwebunit.github.io/jwebunit/ https://github.com/JWebUnit/jwebunit HTMLHigh-level Java API that wraps HtmlUnit and Selenium
JWiz http://csdl.ics.hawaii.edu/research/jwiz/ StaticUniversity project, active development ended in 1998. Don't confuse with BertrandDupraz' 'JWiz' which aims to become a Wizard Generator.
Maveryx http://www.maveryx.com/ https://sourceforge.net/p/maveryx/code/HEAD/tree/ DynamicCommercial; free vers available; serves Java and Android.
MaxQ http://maxq.tigris.org/ http://maxq.tigris.org/source/browse/maxq/ WebOPEN_MIT_BSDRecording proxy, lets you ensure that website still works, or script interactions.
Mockito http://mockito.org/ https://github.com/mockito/mockito MockingOPEN_MIT_BSDOne of the oldest Mock Objects projects.
Nu Html Checker V.nu http://validator.github.io/validator/ https://github.com/validator/validator HTMLCode behind html5.validator.nu, validator.w3.org/nu, and the HTML5 support of the legacy W3C Validator. Needs Python and Java to build from src.
pageunit http://darwinsys.com/pageunit/ https://github.com/IanDarwin/pageunit/ WebOPEN_MIT_BSDEasy script-based web testing
Parasoft JTest https://www.parasoft.com/product/jtest/
PMD https://pmd.github.io/ https://github.com/pmd/pmd StaticOPEN_MIT_BSDSupport multiple programming langs. Includes CPD (Copy-n-Paste Detector)
PowerMock http://powermock.org https://github.com/jayway/powermock MockingOPEN_ASLV2
Raygun https://raygun.io/docs/languages/java https://github.com/MindscapeHQ/raygun4java CrashCrash reporting for deployed applications.
SamePlugin https://plugins.jetbrains.com/plugin/21 DuplicateDetectorIntelliJ plugin only
scalatest http://www.scalatest.org/ https://github.com/scalatest/scalatest
SDD https://wiki.eclipse.org/Duplicated_code_detection_tool_%28SDD%29 http://sourceforge.net/p/sddforeclipse/code/ DuplicateDetectorEclipse-only plugin for dupe detection
SeLion http://paypal.github.io/SeLion/ DynamicOPEN_ASLV2"SeLion helps scale your Selenium based testing efforts by offering a set of enhanced capabilities and incorporating best practices recommended by the Selenium community."
Sentry https://getsentry.com/welcome/ CrashCOMMERCIALCommercial, cross-language crash reporting
Serenity https://wiki.jenkins-ci.org/display/JENKINS/Serenity+Plugin https://svn.jenkins-ci.org/trunk/hudson/plugins/serenity CoverageHudson/Jenkins-only plugin for test coverage
Simian http://www.harukizaemon.com/simian/ DuplicateDetectorCOMMERCIALSIMIlarity ANalyser, similar to PMD's CPD.
SimScan http://blue-edge.bg/simscan DuplicateDetectorDefunct
Solex http://solex.sourceforge.net/ WebEclipse plugin for web testing
Spin http://spinroot.com/spin/ ModelModel analysys of C (not Java!) code, but, has useful free course on logic model checking
Splunk Mint http://www.splunk.com/en_us/products/splunk-mint.html CrashCOMMERCIALCommercial, cross-platform crash reporting
Spock http://spockframework.org/ https://github.com/spockframework DynamicOPEN_ASLV2A higher level than JUnit, also for BDD etc. Written in Groovy
TagSoup http://mercury.ccil.org/~cowan/XML/tagsoup/ http://mercury.ccil.org/~cowan/XML/tagsoup/tagsoup-1.2.1-src.zip HTMLOPEN_ASLV2Hopes to handle even the most egregious violations of HTML syntax.
TeamScale https://www.cqse.eu/en/products/teamscale/landing/ StaticCOMMERCIAL
Test Butler https://github.com/linkedin/test-butler OPEN_ASLV2Helps testing Android apps
TestNG http://testng.org/ https://github.com/cbeust/testng/ DynamicOPEN_ASLV2Aimed to supplant JUnit but largely supplanted by it
verifydesign http://ant-contrib.sourceforge.net/tasks/tasks/verifydesign.html StaticOPEN_ASLV2Verifies API conformance. Alas, tightly bound to the Ant API
Verisoft http://verisoft.com/ No longer seem to do Java coder verification