Saya baru-baru ini ujian akhir saya untuk kursus rekayasa perangkat lunak untuk program master saya dan salah satu pertanyaan pada ujian adalah sebagai berikut:
Unit Testing is considered:
a. White-box Testing
b. Black-box Testing
c. Either
Dalam 7 tahun pengalaman pengembangan perangkat lunak saya, pengujian unit selalu mengambil pendekatan kotak putih. Penguji selalu memiliki pengetahuan penuh tentang implementasi unit saat menulis tes. Pengujian black box selalu datang kemudian dalam bentuk integrasi, sistem, dan pengujian penerimaan.
Namun, jawaban yang benar untuk ujian (menurut profesor) adalah bahwa pengujian unit dapat berupa pengujian kotak putih atau hitam.
Saya telah melakukan beberapa penelitian, dan tampaknya banyak kasus "pengujian unit kotak hitam" digunakan untuk menggambarkan pendekatan uji-pertama di mana tes unit ditulis sebelum kode tersebut. Namun menurut saya ini masih pengujian kotak putih. Sementara implementasi belum ada, siapa pun yang menulis tes umumnya memiliki ide yang cukup bagus tentang bagaimana kode sumber akan diimplementasikan.
Dapatkah seseorang tolong jelaskan kepada saya bagaimana pengujian unit kotak hitam bekerja (jika itu benar-benar suatu hal) dan bagaimana hal itu berbeda dari pengujian unit kotak putih?
While the implementation does not yet exist, whoever is writing the test generally has a pretty good idea about how the source code is going to be implemented.
- Ya, tetapi tes itu sendiri tidak. Pengujian white-box berarti menguji sesuatu yang internal untuk metode atau kelas, seperti nilai variabel. Itu tidak berarti bahwa penulis tes tahu seperti apa kode yang diuji itu.