Contract Testing: Consumer-Driven tanpa Integrasi Rapuh
Tes integrasi end-to-end yang melibatkan banyak layanan lambat dan mudah gagal karena satu perubahan kecil. Contract testing menawarkan pendekatan yang lebih terfokus.
Kontrak antara konsumen dan penyedia
Konsumen mendefinisikan apa yang ia harapkan dari penyedia. Kontrak ini diverifikasi terhadap penyedia secara terpisah. Bila kontrak putus, gagal cepat di CI, bukan di produksi.
Pact dan pola consumer-driven
Pact mempopulerkan pola ini: konsumen menulis kontrak, penyedia memvalidasi. Keduanya tidak perlu berjalan bersama. Ini mempercepat pipeline dan menjelaskan siapa butuh apa.
Bukan pengganti E2E
Contract testing tidak menggantikan semua tes integrasi. Tapi ia mengurangi ketergantungan pada tes E2E yang berat. Sisakan E2E untuk alur kritis, bukan untuk setiap pasangan layanan.