Tolong jelaskan mengenai Test-driven development

Test-driven development (TDD) adalah pendekatan untuk pengembangan perangkat lunak di mana praktisi melakukan interleave proses pengujian dan pengembangan kode Pada dasarnya, praktisi membangun kode secara bertahap, bersama dengan pengujian untuk increment itu. Praktisi tidak beralih ke increment berikutnya sampai kode yang dikembangkan lolos uji. Test-driven Development diperkenalkan sebagai bagian dari metode agile seperti Extreme Programming. Namun, ini juga dapat digunakan dalam plan-driven development process.