Apa itu Pengembangan Berbasis Tes?

Test-Driven Development (TDD) adalah pendekatan untuk desain perangkat lunak yang berakar pada tantangan kode produksi untuk melanjutkan langkah kecil untuk membangun fungsionalitas.Ini bisa terasa berlawanan dengan intuisi bagi orang yang baru mulai belajar, tetapi menawarkan beberapa keuntungan, termasuk pengembangan yang lebih bersih.Juga dapat lebih cepat menggunakan metode ini setelah orang terbiasa, tergantung pada sifat proyeknya.Pemrogram dapat menggunakan berbagai macam bahasa pemrograman dalam pengembangan yang digerakkan oleh pengujian, dan dapat menerapkannya pada perangkat lunak baru, peningkatan versi, atau perbaikan pada program yang sudah ada.

Wanita melakukan handstand dengan komputer

Dalam pendekatan ini, pemrogram memulai dengan menulis tes yang seharusnya gagal karena kode produksi tidak dapat menjalankan perintah atau kueri tertentu.Menggunakan kegagalan sebagai dasar, programmer dapat mengembangkan beberapa baris kode untuk ditambahkan, dan menjalankan tes lagi.Jika gagal, ada sesuatu yang salah yang perlu di-debug sebelum programmer dapat melanjutkan.Setelah lulus, programmer menyadari bahwa tes telah secara khusus mendefinisikan dan memandu pembuatan suatu fungsi, dan dia dapat melanjutkan ke fungsi berikutnya.

Alih-alih menghasilkan volume tinggi kode fungsional yang mungkin perlu diperiksa nanti untuk bug dan kekurangan, pengembang bergerak perlahan dan sengaja.Mereka membangun program dengan kode yang sangat ramping karena mereka hanya menulis dengan tepat apa yang mereka butuhkan untuk fungsi tertentu.Seiring waktu, kode dapat tumbuh cukup besar, tetapi setiap baris sesuai dengan fungsi atau fitur tertentu.Insiden bug dengan pengembangan yang digerakkan oleh pengujian juga harus dikurangi karena orang-orang secara efektif melakukan debug saat mereka melakukan pengujian berulang kali.

Setiap tes yang ditulis dapat digunakan lagi kapan saja.Pemrogram dapat menjalankan setiap program untuk memastikan bahwa seluruh program terus bekerja sebagaimana mestinya.Jika tidak, programmer tahu bahwa baris kode terbaru adalah masalah, dan dapat mundur untuk mengevaluasi dan memperbaiki masalah.Pengaturan pengembangan yang digerakkan oleh tes berbeda dari situasi di mana seseorang mungkin harus menyaring banyak baris kode untuk menemukan kesalahan, yang dapat menghabiskan banyak waktu.

Intinya, pendekatan ini melibatkan pengkodean untuk bagaimana orang ingin perangkat lunak berperilaku, berdasarkan tes khusus yang mereka lakukan saat mereka bergerak.Sementara pengembangan yang digerakkan oleh tes dapat terdengar memakan waktu dan sulit, itu sebenarnya bisa sangat efisien.Pengembang terampil membutuhkan tidak lebih dari beberapa menit untuk setiap putaran pengujian dan pengkodean.Pendekatan yang agak terbalik juga dapat membantu mereka memikirkan kembali strategi dan alat untuk memungkinkan mereka bekerja dengan cara baru dan terkadang lebih efektif.