Kami mengintegrasikan proses pengujian dalam proses SCRUM kami. Peran baru saya adalah menulis tes penerimaan aplikasi web kami untuk mengotomatiskannya nanti. Saya telah membaca banyak tentang bagaimana tes kasus harus ditulis, tetapi tidak ada yang memberi saya saran praktis untuk menulis kasus uji untuk aplikasi web yang kompleks, dan sebaliknya mereka melemparkan prinsip-prinsip yang saling bertentangan yang saya rasa sulit untuk diterapkan:
Kasus uji harus pendek: Ambil contoh CMS. Kasing uji pendek mudah dipelihara dan untuk mengidentifikasi input dan output. Tetapi bagaimana jika saya ingin menguji serangkaian operasi yang panjang (mis. Menambahkan dokumen, mengirim pemberitahuan ke pengguna lain, balasan pengguna lain, status perubahan dokumen, pengguna mendapat pemberitahuan). Menurut saya agaknya kasus uji harus mewakili skenario lengkap. Tapi saya bisa melihat bagaimana ini akan menghasilkan dokumen uji yang terlalu rumit.
Tes harus mengidentifikasi input dan output:: Bagaimana jika saya memiliki bentuk panjang dengan banyak bidang yang berinteraksi, dengan perilaku yang berbeda. Apakah saya menulis satu tes untuk semuanya, atau satu untuk masing-masing?
Kasing uji harus independen: Tetapi bagaimana saya bisa menerapkannya jika menguji operasi pengunggahan mensyaratkan operasi sambungan berhasil? Dan bagaimana itu berlaku untuk menulis kasus uji? Haruskah saya menulis tes untuk setiap operasi, tetapi setiap tes menyatakan dependensinya, atau haruskah saya menulis ulang seluruh skenario untuk setiap tes?
Kasus uji harus didokumentasikan secara ringan: Prinsip ini khusus untuk proyek Agile. Jadi, apakah Anda punya saran tentang bagaimana menerapkan prinsip ini?
Meskipun saya berpikir bahwa menulis tes penerimaan akan menjadi sederhana, saya merasa kewalahan oleh setiap keputusan yang harus saya buat (FYI: Saya seorang pengembang dan bukan penguji profesional). Jadi pertanyaan utama saya adalah: Langkah atau saran apa yang Anda miliki untuk menulis kasus uji penerimaan yang dapat dipertahankan untuk aplikasi yang kompleks. Terima kasih.
Sunting : Untuk memperjelas pertanyaan saya: Saya sadar bahwa pengujian Penerimaan harus dimulai dari persyaratan dan menganggap keseluruhan aplikasi sebagai kotak hitam. Pertanyaan saya berkaitan dengan langkah-langkah praktis untuk menulis dokumen pengujian, mengidentifikasi kasus pengujian, menangani ketergantungan antar tes ... untuk aplikasi web yang kompleks
Informasi yang bertentangan dapat membuat frustrasi, dan sulit untuk digeneralisasi dan diterapkan pada situasi spesifik Anda. Ergo, Anda mungkin harus melakukan yang terbaik dalam konteks Anda.
Saya bukan penggemar berat dokumen uji panjang, dan telah menggunakan visual cukup efektif untuk beberapa proyek kecil. Coba itu? Seperti diagram alir (atau diagram UML lainnya seperti diagram keadaan, dll) alih-alih hanya menggunakan teks? Tunjukkan input, output, kondisi, loop, jalur, status, interaksi dengan komponen lain dll, dan kemudian tunjukkan jika mereka berhasil, gagal, ditransfer, lainnya (?) Berdasarkan kriteria Anda.
Mungkin sedikit kerja di awal, tetapi mungkin membantu Anda tetap waras dalam jangka panjang. Apapun metode yang Anda pilih, semakin banyak Anda bekerja dengannya, semakin baik Anda mendapatkannya.
HTH, dan semoga berhasil!
KM
sumber
Saya pikir Anda sudah menemukan beberapa kriteria bagus. Poin kedua Anda adalah cara yang baik untuk mendefinisikan cakupan untuk pengujian Anda, dan saya sarankan juga menguji untuk kondisi kesalahan dan perbaikan (saya menganjurkan bahwa setiap perbaikan bug datang dengan setidaknya satu tes unit baru). Ini mungkin tampak luar biasa sekarang, tetapi cukup menyelam, dan setelah mendapatkan sedikit pengalaman, mengenali apa yang membuat tes yang baik akan menjadi lebih mudah.
sumber