Secara khusus, saya ingin tahu tentang aspek-aspek berikut:
Bagaimana Anda tahu bahwa kasus pengujian Anda salah (atau kedaluwarsa) dan perlu diperbaiki (atau dibuang)? Maksud saya, bahkan jika suatu test case menjadi tidak valid, itu mungkin masih berlalu dan tetap diam, yang dapat membuat Anda secara salah percaya bahwa perangkat lunak Anda bekerja dengan baik. Jadi, bagaimana Anda menyadari masalah seperti pada test suite Anda?
Bagaimana Anda tahu bahwa test suite Anda tidak lagi memadai dan bahwa test case baru harus ditambahkan? Saya kira ini ada hubungannya dengan perubahan persyaratan, tetapi apakah ada pendekatan sistematis untuk memeriksa kecukupan test suite?
testing
maintenance
Ida
sumber
sumber
Jawaban:
Jawaban singkat: gunakan alat yang dikenal yang membantu menjaga kualitas kasus uji seperti cakupan kode berikut dan alat kualitas kode: Cobertura, PMD, Sonar, dll. Yang akan membantu Anda memperhatikan ketika komponen penting dari program tidak cukup diuji. Juga, tulis tes integrasi, yang kemungkinan besar akan rusak lebih dulu setiap kali terjadi kesalahan.
Jawaban panjang:
Apa yang saya tulis untuk pertanyaan pertama adalah bagian dari jawaban untuk pertanyaan kedua Anda. Saya juga akan menambahkan poin-poin berikut di sini:
sumber
Sebenarnya tidak ada cara untuk memastikan kasus pengujian Anda benar, kecuali dengan berkonsentrasi dengan sangat baik saat membuatnya - memahami persyaratan, memahami kode, dan memastikan bahwa mereka setuju. Intinya memiliki test suite adalah Anda hanya perlu melakukan ini sekali saja, dan sejak saat itu Anda dapat menjalankan kembali tes dan memastikan bahwa tes tersebut lulus, sedangkan tanpa test suite Anda harus berkonsentrasi sangat keras setiap saat. , yaitu setiap kali Anda melakukan sesuatu pada basis kode Anda. Tetapi masalah mendasar karena harus memastikan bahwa Anda melakukan hal yang benar tetap ada - komputer memang tidak cukup cerdas untuk membebaskan kita dari tugas itu.
Karena itu, (1) jika ruang tes Anda tidak lengkap, tidak ada cara sederhana untuk melihatnya. Analisis cakupan kode dapat membuktikan bahwa beberapa baris kode tidak pernah dieksekusi, yaitu bahwa suite kekurangan dalam beberapa hal, tetapi tidak seberapa parah kekurangan itu, dan tidak pernah dapat membuktikan bahwa itu cukup. Bahkan dengan cakupan kode 100% Anda tidak memiliki jaminan bahwa semua negara yang relevandari sistem dilaksanakan, dan cakupan negara lengkap tidak dapat dicapai untuk sistem realistis karena jumlah kombinasi dari negara yang bisa ada. Salah satu teknik yang baik untuk memastikan bahwa Anda menguji kasus setidaknya benar untuk memeriksa hal yang ingin Anda periksa adalah menulis tes, memverifikasi bahwa itu memang gagal, menulis / mengubah kode, dan kemudian memverifikasi bahwa itu sudah lewat. Karena itu, antusiasme untuk pengembangan yang digerakkan oleh tes: tes ini memungkinkan Anda untuk cukup yakin bahwa tes individu melakukan hal yang benar, dan jika Anda membuat seluruh basis kode Anda dengan cara itu, Anda bisa mendapatkan tingkat kepercayaan yang serupa bahkan dalam sistem yang besar.
(2) Paket uji biasanya menjadi tidak memadai setiap kali persyaratan berubah - Anda tidak perlu menebak. Jika pelanggan menginginkan beberapa perilaku tertentu diubah, dan pengujian Anda akan berhasil sebelum dan sesudah perubahan, maka jelas mereka tidak menggunakan hubungan input / output tertentu.
Mengenai sistem warisan yang tidak memiliki cakupan tes, atau di mana Anda tidak tahu apa cakupannya, tidak ada bukti formal, tetapi (penasehat orang tua: pendapat pribadi mengikuti!) Berbicara dari pengalaman, sangat mungkin bahwa tes yang tidak memadai. Ketika pengujian dipandang sebagai aktivitas setelah-fakta-opsional, opsional, peningkatan kualitas-tetapi-tidak-benar-benar-diperlukan, itu cenderung tidak lengkap dan tidak sistematis karena insentif untuk memastikan tes mengikuti kode dasar hanya tidak di sana.
sumber