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 and, sometimes, missed things: quality! How the quality evolves within the adoption of new versions of development frameworks and libraries? This talk will show you 5 libraries you can use, 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 you to easily use any kind of assertion, even creating your own. You will learn how to use these tools with real-world examples! PiTest will increase, even more, the coverage of your tests by applying the mutation testing technique and creating bullet-proof unit tests. TestContainers will add the flexibility to remove hard dependencies like databases, messaging, vault, frontend containers, and more. 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. Awaitability 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.
Elias is an experienced IT professional with a background in software engineering, consulting, agile coach, and tech lead, currently working as Principal Engineer in Test at Backbase. He helps software engineers to develop their quality mindset and deliver bug-free software. His specialization is in Quality Engineering for backend, frontend, and mobile technologies. He's a writer, blogger, and loves to help the community by running meetups and sharing knowledge by giving presentations around the world. He's also a Browserstack champion and Oracle ACE for Java.