A talk given at the Java.IL October 2019 meetup in Tel-Aviv
Modern-day software is usually built by multiple teams with well-defined domain boundaries. This is true of back-end systems (where microservices reign supreme), large web applications and virtually any system that's sufficiently successful. We opt for highly granular and highly interdependent designs, with the promise of letting teams make products independently. If that value is to be realized, however, teams need a consistent and reliable way of testing against their dependencies; this is where testkits come in. In this short talk we'll cover what testkits are, what makes a testkit useful (hint: ergonomics), and showcase a few common approaches and antipatterns.