Pada tim yang sangat kecil, di mana pengujian kotak hitam dan kotak putih dilakukan oleh orang yang sama, yang mana yang harus dilakukan tester terlebih dahulu?
Pada tim yang sangat kecil, di mana pengujian kotak hitam dan kotak putih dilakukan oleh orang yang sama, yang mana yang harus dilakukan tester terlebih dahulu?
Jawaban:
Apa pun pasti paling benar.
Serius, pengujian kotak putih (yaitu pengujian internal kode) idealnya harus dilakukan dengan tes unit oleh pengembang yang menulis kode. Tes unit akan dibangun dari waktu ke waktu, dan merupakan bagian dari proses pembangunan sehingga kami tidak membuang waktu penguji yang miskin dengan kode yang kami tahu tidak berfungsi sebagaimana mestinya. Pengujian unit menjadi lebih penting jika tim Anda lebih kecil - terutama karena Anda tidak memiliki pasukan penguji untuk menyelesaikan masalah.
Pengujian black-box (yaitu pengujian melalui antarmuka pengguna / sistem) biasanya dilakukan oleh sebagian besar penguji.
Semua pengujian perlu diprioritaskan pada seberapa kritis suatu fungsi untuk produk jadi. Jika misinya adalah menyediakan alat untuk melakukan X dan produk tidak melakukan X, itu masalah besar.
Pengujian black-box untuk memverifikasi fitur. Pengujian kotak putih seperlunya jika ada yang rusak. Jika semua tes kotak hitam lulus dan cakupannya bagus, pengujian kotak putih tidak perlu.
Kotak hitam.
Komponen kotak putih biasanya tergantung pada komponen kotak hitam, jadi saya ingin menguji kotak hitam terlebih dahulu dan kemudian beralih ke kotak putih.
Anda pertama-tama melakukan pengujian pengujian putih sebagai pembuat kode / pengembang untuk memastikan semuanya berjalan dengan baik. Kemudian Anda melakukan pengujian kotak hitam yang biasanya mencoba berpikir seolah-olah Anda adalah pengguna akhir, tanpa memikirkan struktur internal program. Kadang-kadang Anda perlu berpikir seperti pembuat kode / pengembang bahkan jika Anda melakukan pengujian hitam karena Anda mungkin menguji modul internal yang ditulis oleh orang lain dan Anda tidak memiliki akses ke kode.
Jika Anda ingin memiliki siklus tes yang baik, Anda harus meminta orang yang berbeda untuk melakukan keduanya :
Seorang pengembang yang berfokus terutama pada pengujian white-box tahu apa yang telah berubah dalam kode baru-baru ini, area mana yang lebih kompleks (dan karenanya cenderung rusak), dll. Dan dapat memfokuskan upaya dengan tepat di area ini yang kemungkinan besar akan menyebabkan cacat baru.
Di sisi lain, tester QA yang berfokus pada pengujian kotak hitam dapat lebih mudah mendekati pengujian seperti pengguna akhir. Tanpa pengetahuan internal tentang kode, mereka dapat mengambil pendekatan baru dan tidak bias oleh pengetahuan tentang bagaimana berbagai bagian dari solusi diimplementasikan. Mereka akan menangkap bug yang mungkin diabaikan oleh pengembang, atau regresi dari perubahan kode yang secara tidak sengaja merusak area aplikasi lainnya.
Untuk menjawab pertanyaan Anda, pengujian kotak putih harus dilakukan terlebih dahulu. Tetapi Anda benar-benar perlu memiliki orang yang berbeda melakukan pengujian kotak hitam jika Anda ingin menjadi efektif.
Saya suka memulai dengan pengujian kotak hitam, kemudian menggunakan informasi cakupan kode atau debugger untuk mencari tahu apa yang saya lakukan dan menganalisis apa yang terjadi.
Tetapi jawaban sebenarnya adalah itu tergantung . Saya cenderung menyelami kode lebih cepat (bahkan lebih dulu) jika saya melakukan pengujian API, tetapi jauh kemudian jika tujuan saya adalah untuk melihat beberapa skenario ujung ke ujung yang besar.
Saya akan mengatakan pengujian Black Box terlebih dahulu, hanya karena sebagai pendukung TDD, tes ditulis sebelum kode (atau kotak) ada :)
Pengujian White Box (sejauh yang saya mengerti) lebih berguna dalam pola pikir debugging.
Pengujian kotak hitam, karena Anda menulis tes sebelum kode ada. Penguji perlu mengembangkan tes otomatis yang memakan waktu secara paralel dengan kode penulisan pengembang agar efisien pada tim kecil.
Jika kode sudah ditulis, saya sarankan Anda meluangkan waktu membuat sketsa cakupan tes dari sudut pandang kotak hitam untuk memastikan Anda mendapatkan waktu brainstorming sebelum Anda mengacaukan otak Anda dengan kode yang sebenarnya. Namun, Anda kemudian dapat beralih ke kotak putih dan melihat kode sebelum Anda terlalu jauh dengan pengujian yang sebenarnya untuk merasakan area berisiko dan untuk memprioritaskan tes yang Anda brainstorming sebelumnya (dan menambah mereka dengan tes baru dipikirkan oleh melihat bagian dari kode yang tampak rumit atau dipertanyakan).
Tidak juga. Saya mencoba untuk menulis tes yang baik menggunakan BICEP Kanan saya , dengan mengingat kondisi batas yang BENAR terlepas dari urutan apa yang mereka pikirkan. Keduanya adalah akronim yang diusulkan dalam Pengujian Unit Pragmatis .
Tujuan saya adalah fokus pada penulisan tes yang bagus, dan bukan warna mana yang harus ditulis terlebih dahulu.
Pertama lakukan pengujian kotak putih .
Go kedua untuk pengujian kotak hitam.
> Pengujian Kotak Hitam
I. Penguji harus memeriksa fungsionalitas aplikasi, seperti kotak Teks, tombol Radio, kotak daftar, tombol Perintah, ... dll. ,,
II Penguji harus memeriksa non fungsional aplikasi, seperti logo, Gambar, ejaan, dll. ,,
AKU AKU AKU. Penguji harus memeriksa seluruh aliran aplikasi.
Catatan: Untuk memeriksa kondisi Positif dan Negatif.