More Than 57 Useful Java Links for Testing

More Than 57 Useful Java Links for Testing

Programming

In this article, I’ll continue the series of useful java links, it will be about Testing

In the previous articles, I’ve shared the useful java links for development, database, ..ect.

 

Summary :

  1. Testing
  2. Code Coverage
  3. Continuous Integration
  4. Formal Verification

 

1. Testing

Tools that test from model to the view.

Name Description
1. ArchUnit is a free, simple and extensible library for checking the architecture of your Java code. License: Apache 2 , GitHub stars
. business friendly license
2. Junit Common testing framework. License:  Eclipse Public 1.0 , GitHub stars. business friendly license
3. Mockito Creation of test double objects in automated unit tests for the purpose of TDD or BDD. License: MIT , GitHub stars. business friendly license
4. Selenium Portable software testing framework for web applications. License: Apache 2 , GitHub stars. business friendly license
5. Cucumber jvm BDD testing framework. Cucumber-JVM is a pure Java implementation of Cucumber that supports the most popular programming languages for the JVM. Hello World examples. License: MIT, GitHub stars. business friendly license
6. JBehave extensively configurable framework for Behavior-Driven Development (BDD). BDD is an evolution of test-driven development (TDD) and acceptance-test driven design, and is intended to make these practices more accessible and intuitive to newcomers and experts alike. License: BSD 3, GitHub stars. business friendly license
7. Spock JUnit-compatible framework featuring an expressive Groovy-derived specification language. License: Apache 2 , GitHub stars. business friendly license
8. Google Firing range Firing Range is a test bed for web application security scanners, providing synthetic, wide coverage for an array of vulnerabilities. It can be deployed as a Google App Engine application. License: Apache 2 , GitHub stars. business friendly license
9. Fitnesse FitNesse is the fully integrated stand-alone acceptance testing framework and wiki.. License: CPL-1.0, GitHub stars.
10. Sikuli Sikuli is a visual technology to automate graphical user interfaces (GUI) using images (screenshots). The current release of Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily. License: MIT , GitHub stars. business friendly license
11. JavaHamcrest Matchers that can be combined to create flexible expressions of intent. License: BSD 3, GitHub stars. business friendly license
12. Wiremock Stubbs and mocks web services. License: Apache 2 , GitHub stars. business friendly license
13. TestNG Testing framework. License: Apache 2 , GitHub stars. business friendly license
14. Galenframework Galen Layout and functional testing framework for websites. License: Apache 2 , GitHub stars. business friendly license
15. AssertJ Fluent assertions that improve readability. License: Apache 2 , GitHub stars. business friendly license
16. Google truth Google’s assertion and proposition framework. License: Apache 2 , GitHub stars. business friendly license
17. Apache JMeter Functional testing and performance measurements. License: Apache 2. business friendly license
18. Arquillian Integration and functional testing platform for Java EE containers. License: Apache 2. business friendly license
19. Awaitility DSL for synchronizing asynchronous operations. License: Apache 2. business friendly license
20. Citrus Integration testing framework with focus on client- and serverside messaging. License: Apache 2. business friendly license
21. Gatling Load testing tool designed for ease of use, maintainability and high performance. License: MIT. business friendly license
22. GreenMail In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. License: MIT. business friendly license
23. JGiven Developer-friendly BDD testing framework compatible with JUnit and TestNG. License: MIT. business friendly license
24. JMockit Mocks static, final methods and more. License: MIT. business friendly license
25. JUnitParams Creation of readable and maintainable parametrised tests. License: Apache 2. business friendly license
26. Moco Concise web services for stubs and mocks, Duke’s Choice Award 2013. License: MIT. business friendly license
27. PIT Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test-suites. License: Creative Commons License.
28. PowerMock Enables mocking of static methods, constructors, final classes and methods, private methods and removal of static initializers. License: Apache 2. business friendly license
29. REST Assured Java DSL for easy testing for REST/HTTP services. License: Apache 2. business friendly license
30. Selenide Concise API around Selenium to write stable and readable UI tests. License: MIT. business friendly license
31. Unitils Modular testing library for unit and integration testing. License: Apache 2. business friendly license
32. SeLion Enabling Test Automation in Java. SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with WebDriver in a short time. It can be used for testing web and mobile applications, GitHub stars. License: Apache 2. business friendly license
33. cdp4j Web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. GitHub stars License: MIT. business friendly license
34. Image-Comparison Published on Maven Central Java Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison. GitHub stars License: The Unlicense

 

 


 

2. Code Coverage

Frameworks and tools that enable collection of code coverage metrics for test suites.

Name Description
1. JaCoCo Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation; prominently used by EclEmma, the Eclipse code-coverage plugin. License: Eclipse Public License v1.0, Apache 2, BSD. business friendly license
2. Clover Proprietary code coverage tool by Atlassian that relies on source-code instrumentation, instead of bytecode instrumentation. License: proprietary proprietary license
3. Cobertura Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. License: GNU 2. impossible proprietary code linking license
4. JCov Code coverage tool used in the OpenJDK project’s development toolchain. License: GNU 2. impossible proprietary code linking license

 


 

3. Continuous Integration

Tools which support continuously building, testing and releasing applications.

Name Description
1. Bamboo Atlassian’s solution with good integration of their other products. You can either apply for an open-source license or buy it. proprietary license
2. CircleCI Hosted service with a free trial. proprietary license
3. Codeship Hosted services with a limited free plan. proprietary license
4. fabric8 Integration platform for containers. License: Apache 2. business friendly license
5. Go ThoughtWork’s open-source solution. License: Apache 2. business friendly license
6. Jenkins Provides server-based deployment services. License: MIT. business friendly license
7. TeamCity JetBrain’s CI solution with a free version. License: proprietary proprietary license
8. Travis Hosted service often used for open-source projects. License: ?
9. Hudson Hudson monitors the execution of repeated jobs, such as building a software project or jobs run by cron. Currently Hudson focuses on the following two jobs: Building/testing software projects continuously and Monitoring executions of externally-run jobs. License: Eclipse Public License v1.0. business friendly license
10. Apache Continuum Apache Continuum software is an enterprise-ready continuous integration server with features such as automated builds, release management, role-based security, and integration with popular build tools and source control management systems.. License: Apache 2. business friendly license

 


 

4. Formal Verification

Formal-methods tools: proof assistants, model checking, symbolic execution etc.

Name Description
1. CATG Concolic unit testing engine. Automatically generates unit tests using formal methods. License: BSD 2, License: BSD 2. business friendly license
2. Checker Framework Pluggable type systems. Includes nullness types, physical units, immutability types and more. License: GNU 2. impossible proprietary code linking license
3. Daikon Daikon detects likely program invariants and can generate JML specs based on those invariats. License: GNU. impossible proprietary code linking license
4. Java Modeling Language (JML) Behavioral interface specification language that can be used to specify the behavior of code modules. It combines the design by contract approach of Eiffel and the model-based specification approach of the Larch family of interface specification languages, with some elements of the refinement calculus. Used by several other verification tools. License: GNU 2. impossible proprietary code linking license
5. Java Path Finder (JPF) JVM formal verification tool containing a model checker and more. Created by NASA. License: NASA OPEN SOURCE AGREEMENT VERSION 1.3
6. jCUTE Concolic unit testing engine that automatically generates unit tests. Concolic execution combines randomized concrete execution with symbolic execution and automatic constraint solving. License: proprietary. proprietary license
7. JMLOK 2.0 Detects nonconformances between code and JML specification through the feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. License: GNU 3. impossible proprietary code linking license
8. KeY The KeY System is a formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. License: GNU. impossible proprietary code linking license
9. OpenJML Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. License: GNU 2 and Eclipse Public License v1.0. impossible proprietary code linking license

 

Related Post:

More than 230 Useful Java Development Links

More than 193 Useful Java Links for Databases, Search Engines, Big Data And Machine Learning

More Than 151 Useful Java Links for Network and Integration

Leave a Reply

Your email address will not be published. Required fields are marked *