Skip to content

Instantly share code, notes, and snippets.

@eliasnogueira
Last active September 6, 2023 14:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eliasnogueira/40671c0ab3ebe84d026b79070006dcd5 to your computer and use it in GitHub Desktop.
Save eliasnogueira/40671c0ab3ebe84d026b79070006dcd5 to your computer and use it in GitHub Desktop.
Modern Testing Tools for Java Developers

Title

Modern Testing Tools for Java Developers

Description

We are, constantly, evolving the codebase by applying the best development practices, approaches, and design patterns. There's a lot of support from frameworks and libraries to do this during the SDLC. New versions of the API framework appear, adding the last trending and here we go again: changing our code to adopt these new things. How awesome it is! We are improving!

How about one of the most important but missed items: quality! matchestalk will show you 5 libraries you, as a Java Developer, to improve the application quality with real-world examples.

AssertJ will give you infinity assertion possibilities compared to JUnit internals and Hamcrest matches, enabling easy assert additions.

PiTest will even increase, even more, the coverage of your tests by applying the mutation testing technique and creating bullet-proof unit tests.

RestAssured will take your API tests to the next level where, using it as a "hard user", can ease the test creation based on an OpenAPI specification.

Awaitility will solve one of the biggest problems in the API tests: asynchronous calls/messages (mainly in a messaging system). We will be able to wait for the request to be completed to assert any result.

Wiremock will give you the ability not only restricted as a mock solution for your unit and integration test but as a service virtualization tool solving common problems in an integrated environment.

Takeaways

  • discovering new testing tools to apply in your project
  • have examples to solve real problems
  • modernize the testing tools

Elevator pitch

As the software development process evolves, so do libraries. As software engineers, we are, most of the time, close to the testing libraries defined by the frameworks we use. It's a common and safe thing to do, but we can miss a lot of improvements in the quality perspective to deliver high-quality software by missing some essential tools and libraries.

This presentation will show you some of the modern testing tools available in the market and how to use them to get the best benefits of it.

Notes

This talk can be in another session type. The main purpose is to show the audience modern tools, which are most of the time, detaches from the development framework developers use, to speed up the testing process by adopting open-source tools which will solve modern problems.

During the presentation, I will also show how it's being applied to the Jakarta EE Data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment