Testing in Java
# Testing strategies and their tooling — unit, integration, E2E, mutation, property-based, performance, security.
❯ cat documents/
-
Testing in Java — strategies & tooling map
Concept
2026-08-09
Map of Java testing strategies — unit to security — with the standard tools for each and links to the deep-dive notes.
-
End-to-end testing — REST Assured, browsers & contracts
Concept
2026-08-09
Whole-system testing with REST Assured, Selenium/Playwright and Karate, contract testing as the leaner alternative, and flakiness discipline.
-
Integration testing — Testcontainers & framework test support
Concept
2026-08-09
Testing against real dependencies with Testcontainers, Spring test slices, Quarkus Dev Services, Micronaut Test and WireMock.
-
Mutation testing — PIT
Concept
2026-08-09
PIT mutates production bytecode to measure whether tests actually assert behaviour, giving a mutation score stronger than line coverage.
-
Performance & load testing — JMH and Gatling
Concept
2026-08-09
Microbenchmarking with JMH and system load testing with Gatling/k6/JMeter, plus latency methodology and profiling with JFR.
-
Property-based testing — jqwik
Concept
2026-08-09
Testing invariants over generated inputs with jqwik — properties, generators, shrinking, and model-based stateful testing on JUnit 5.
-
Security testing — SCA, SAST, DAST & fuzzing on the JVM
Concept
2026-08-09
Security testing for Java builds — dependency scanning, static and dynamic analysis, JVM fuzzing, secrets scanning, and CI wiring.
-
Unit testing — JUnit 5, Mockito, AssertJ
Concept
2026-08-09
The Java unit-testing stack — JUnit 5's Jupiter model, Mockito's disciplined use, AssertJ assertions, and test-double taxonomy.