Adakah orang yang dapat dengan jelas menentukan level pengujian ini karena saya merasa sulit untuk membedakan saat melakukan pengujian TDD atau unit. Tolong jika ada yang bisa menjelaskan bagaimana, kapan menerapkannya?
Adakah orang yang dapat dengan jelas menentukan level pengujian ini karena saya merasa sulit untuk membedakan saat melakukan pengujian TDD atau unit. Tolong jika ada yang bisa menjelaskan bagaimana, kapan menerapkannya?
Jawaban:
Secara singkat:
Pengujian unit - Anda menguji unit setiap bagian kode. Pikirkan setiap file atau kelas.
Pengujian integrasi - Saat menyatukan beberapa unit yang berinteraksi, Anda perlu melakukan pengujian Integrasi untuk memastikan bahwa mengintegrasikan unit-unit ini bersama-sama tidak menimbulkan kesalahan.
Pengujian regresi - setelah mengintegrasikan (dan mungkin memperbaiki), Anda harus menjalankan pengujian unit Anda lagi. Ini adalah pengujian regresi untuk memastikan bahwa perubahan lebih lanjut tidak merusak unit apa pun yang telah diuji. Pengujian unit yang sudah Anda lakukan telah menghasilkan pengujian unit yang dapat dijalankan berulang kali untuk pengujian regresi.
Tes penerimaan - ketika pengguna / pelanggan / bisnis menerima fungsionalitas, mereka (atau departemen pengujian Anda) akan melakukan tes Penerimaan untuk memastikan bahwa fungsionalitas tersebut memenuhi persyaratan mereka.
Anda mungkin juga ingin menyelidiki pengujian kotak putih dan kotak hitam. Ada juga pengujian kinerja dan beban, dan pengujian "'utilitas" yang perlu dipertimbangkan.
Uji unit: ketika gagal, ini memberi tahu Anda bagian mana dari kode Anda yang perlu diperbaiki.
Uji integrasi: ketika gagal, ia memberi tahu Anda bahwa bagian-bagian aplikasi Anda tidak bekerja sama seperti yang diharapkan.
Uji penerimaan: ketika gagal, ini memberi tahu Anda bahwa aplikasi tidak melakukan apa yang diharapkan pelanggan.
Uji regresi: ketika gagal, ini memberi tahu Anda bahwa aplikasi tidak lagi berperilaku seperti dulu.
Berikut penjelasan sederhana untuk masing-masing tes yang disebutkan dan kapan tes tersebut dapat diterapkan:
Uji Unit unit dilakukan pada unit mandiri (biasanya kelas atau metode) dan harus dilakukan setiap kali unit telah diimplementasikan atau pemutakhiran unit telah selesai.
Ini berarti itu berjalan setiap kali Anda menulis kelas / metode, memperbaiki bug, mengubah fungsionalitas ...
Tes integrasi integrasi bertujuan untuk menguji seberapa baik beberapa unit berinteraksi satu sama lain. Jenis tes ini harus dilakukan Setiap kali bentuk komunikasi baru telah dibuat antara unit atau sifat interaksinya telah berubah.
Ini berarti dijalankan setiap kali unit yang baru ditulis diintegrasikan ke dalam sistem lainnya atau setiap kali unit yang berinteraksi dengan sistem lain telah diperbarui (dan berhasil menyelesaikan pengujian unitnya).
Uji Regresi Uji regresi dilakukan setiap kali ada yang berubah dalam sistem, untuk memeriksa bahwa tidak ada bug baru yang diperkenalkan.
Ini berarti dijalankan setelah semua tambalan, peningkatan, perbaikan bug. Pengujian regresi dapat dilihat sebagai kasus khusus dari uji unit gabungan dan uji integrasi.
Uji Penerimaan Uji penerimaan dilakukan jika relevan untuk memeriksa bahwa subsistem (mungkin seluruh sistem) memenuhi seluruh spesifikasinya.
Ini berarti ini terutama dijalankan sebelum menyelesaikan pengiriman baru atau mengumumkan penyelesaian tugas yang lebih besar. Lihat ini sebagai pemeriksaan terakhir Anda untuk melihat bahwa Anda telah benar-benar menyelesaikan tujuan Anda sebelum berlari ke klien / bos dan mengumumkan kemenangan.
Setidaknya begitulah cara saya belajar, meski saya yakin ada pandangan lain yang berlawanan. Either way, saya harap itu membantu.
Saya akan mencoba:
Uji Unit: apakah metode tunggal saya berfungsi dengan benar? (TIDAK ADA dependensi, atau dependensi yang diolok-olok)
Uji Integrasi: apakah dua modul saya yang dikembangkan secara terpisah berfungsi dengan baik saat disatukan?
Uji Regresi: Apakah saya merusak sesuatu dengan mengubah / menulis kode baru? (menjalankan pengujian unit / integrasi dengan setiap komit secara teknis (otomatis) pengujian regresi). Lebih sering digunakan dalam konteks QA - manual atau otomatis.
Acceptance Test : pengujian dilakukan oleh klien, bahwa dia "menerima" SW yang dikirimkan
Tidak bisa berkomentar (reputasi rendah: - |) jadi ...
@Andrejs menjelaskan perbedaan antara lingkungan yang terkait dengan setiap jenis pengujian.
Pengujian unit biasanya dijalankan pada mesin developer (dan mungkin selama build CI) dengan dependensi tiruan ke resource / sistem lain.
Tes integrasi menurut definisi harus memiliki (beberapa derajat) ketersediaan ketergantungan; sumber daya dan sistem lain dipanggil sehingga lingkungan lebih representatif. Data untuk pengujian dapat diolok-olok atau sebagian kecil dari data produksi nyata yang dikaburkan.
Pengujian UAT / Penerimaan harus mewakili pengalaman dunia nyata kepada QA dan tim bisnis yang menerima perangkat lunak. Jadi membutuhkan integrasi penuh dan volume data yang realistis serta kumpulan data yang disamarkan / dikaburkan untuk memberikan kinerja yang realistis dan pengalaman pengguna akhir.
"Fasilitas" lain juga mungkin membutuhkan lingkungan sedekat mungkin dengan kenyataan untuk mensimulasikan pengalaman produksi misalnya pengujian kinerja, keamanan, ...