Saya membaca ulang Refactoring oleh Martin Fowler. Dalam Bab 4, Tes Bangunan, saya menemukan bagian berikut.
Bahkan, salah satu waktu paling berguna untuk menulis tes adalah sebelum Anda memulai pemrograman. Saat Anda perlu menambahkan fitur, mulailah dengan menulis tes. Ini tidak terbelakang seperti kedengarannya. Dengan menulis tes, Anda bertanya pada diri sendiri apa yang perlu dilakukan untuk menambahkan fungsi. Menulis tes juga berkonsentrasi pada antarmuka daripada implementasi (selalu merupakan hal yang baik). Ini juga berarti Anda memiliki titik jelas di mana Anda selesai melakukan pengkodean - saat tes bekerja.
Sementara saya seorang penganjur pengembangan yang didorong oleh tes sekarang, saya tidak ingat telah diperkenalkan dengan konsep ini ketika saya membaca buku ini hampir 5 tahun yang lalu.
Menurut Amazon.com, buku ini awalnya diterbitkan pada 8 Juli 1999. Apakah ini referensi pertama yang diterbitkan untuk menguji pemrograman pertama atau apakah ada sesuatu yang lebih awal?
Jawaban:
Pengembangan yang digerakkan oleh tes serupa dengan desain berdasarkan kontrak, di mana Anda memiliki prasyarat, invarian, dan postkondisi.
Metode formal paling tidak berasal dari tahun 1983, dan telah digunakan untuk sistem kritis keselamatan seperti metro Paris tanpa pengemudi menggunakan metode-B:
Ini bisa menjadi beberapa hal dari mana Kent Beck "membantu perintis ... penemuan kembali pemrograman uji-pertama".
Lebih penting lagi: Rupanya awal tahun 1960-an Proyek Mercury NASA adalah proyek perangkat lunak pertama yang menggunakan pengembangan berbasis tes dan praktik tangkas lainnya. Saya tidak dapat menemukan dokumentasi awal, tetapi inilah laporan tahun 2003 yang mengutip komunikasi anggota proyek:
Sisa dari laporan ini juga menarik, selanjutnya dikatakan:
Selain pengujian otomatis, laporan 1968 menganjurkan pengkodean dan pengujian paralel, jika bukan tes-pertama:
sumber
Jon Bently dalam Programming Pearls (aslinya diterbitkan tahun 1986) tidak secara khusus menyebutkan pemrograman Test-First. Tetapi dalam bab "Menulis Program yang Benar", ia menjelaskan menulis algoritma dengan terlebih dahulu mendefinisikan prasyarat, invarian dan postkondisi, dan pada bab berikutnya menjelaskan kerangka pengujian otomatis.
Ini bukan tes-pertama, tapi dia jelas meletakkan beberapa dasar.
Juga,
CIO Magazine, Maret 1993, Bug Busters , oleh Lucie Juneau, hal 84 :
sumber
Itu adalah Kent Beck , dalam bukunya Extreme Programming , juga diterbitkan pada tahun 1999 .
sumber