Kami menulis spesifikasi fungsional lengkap untuk tim pengembangan kami yang terdiri dari dua. Kami tidak memiliki penguji profesional namun kami telah menyusun bantuan staf bantuan kami untuk melakukan 'pengujian QA'.
Kami memiliki masalah di masa lalu di mana potongan fungsionalitas lengkap tidak berfungsi, atau kode yang dikirimkan tidak sesuai dengan spesifikasi.
Pertanyaan saya adalah: pada tahap apa para pengembang harus berhenti melakukan koding pada tim QA? Apakah terlalu banyak untuk meminta pengembang meninjau kode mereka terhadap spesifikasi sebelum menyerahkan ke tim QA?
sumber
Nah, jika seluruh bagian kode diserahkan ke QA dalam keadaan tidak bekerja, mungkin Anda harus melihat menambahkan semacam pengujian unit / integrasi ke proses Anda. Jangan menyalahgunakan orang-orang QA Anda dengan membuat mereka mengetahui bahwa Anda gagal untuk menyatukan atau menguji kode Anda.
sumber
Ini adalah garis yang bagus, karena jika kode dikirimkan sesuai dengan spesifikasi maka bagi saya itu berarti tidak ada bug (dan tidak perlu untuk QA!). Fakta bahwa kode secara rutin tidak dikirimkan ke spec adalah alasan mengapa kita melakukan QA sejak awal.
Tapi saya sebenarnya tidak berpikir itu yang Anda bicarakan. Yang Anda maksud adalah bahwa tim dev tampaknya agak terlalu malas dengan pengkodean mereka, dan ada hal-hal besar yang tampaknya tidak berfungsi. Meletakkan sebelum tes bahwa unit test harus ada untuk masing-masing fitur A, B, dan C (dalam spesifikasi) dan kemudian memiliki kode dan tes ditinjau secara independen (oleh tim lean atau manajer) harus membantu meringankan masalah semacam ini .
sumber
Saya berpendapat bahwa paling tidak, para pengembang harus menguji "jalan bahagia." Bahwa jika mereka memasukkan data yang diharapkan maka ia melakukan apa yang menurut spesifikasi harus dilakukan. Pengembang yang tidak melakukan banyak hal harus dipertanyakan.
Saya juga kecewa jika pengembang belum menguji kasus tepi yang jelas: string terlalu panjang untuk database, teks yang jelas tidak valid, jika Anda memasukkan huruf di mana angka seharusnya, dll. Jika itu sering terjadi, sekali lagi pertanyaan harus ditanyakan .
Namun, dengan asumsi itu tidak disebutkan secara spesifik dalam spesifikasi, jika pengembang membatasi nama hanya huruf besar dan kecil, tetapi lupa bahwa beberapa nama memiliki tanda kutip, atau memungkinkan tanggal 29 Februari 2011 - itu sedikit lebih dimengerti . Kecuali mereka melakukan kesalahan yang sama dari waktu ke waktu.
Tim QA harus mengambil kasus tepi ekstrim. Saya lebih suka QA menjadi penguji-monyet: hanya memasukkan sampah acak, melihat apakah mereka dapat merusak aplikasi seperti itu.
Dalam pengembangan web, QA harus mencoba browser yang berbeda dan mencoba mencari plugin yang dapat memengaruhi kode. Mereka harus mematikan Javascript dan CSS dan melihat apa yang bisa mereka dapatkan dengan itu. Hal semacam itu. Jika Anda mengharapkan pengembang melakukan itu, Anda menghabiskan terlalu banyak uang untuk itu.
sumber
Jika fungsi yang disampaikan tidak berfungsi, maka masalahnya bukan antara pengembangan dan QA, tetapi antara pengembangan dan pemilik produk.
Pemilik dan pengembang produk harus menjadi bagian dari tim yang sama, dan harus bekerja bersama untuk menentukan apa yang perlu bekerja untuk mempertimbangkan fitur "selesai", dan untuk memastikan bahwa kode memenuhi kebutuhan itu.
Ketika kode dikirimkan, pengujian seharusnya hanya formalitas belaka, karena pemilik produk seharusnya telah bekerja sama dengan pengembang sepanjang jalan untuk memastikan semua case use sudah dicakup.
(Jika Anda memiliki penguji profesional, mereka harus menjadi bagian dari tim, dan harus terlibat di setiap tahap.)
sumber
Kami memiliki proses penyaringan untuk proyek-proyek di mana kami meminta pengembang untuk memberikan langkah-langkah / demo kode mereka sebelum masuk ke QA. Kami tidak hanya menyertakan penguji QA, tetapi juga pemilik bisnis kode, layanan pelanggan, dan pemasaran / desain. Ini cenderung berfokus pada pengembang pada setidaknya kasus penggunaan yang mudah, dan kadang-kadang diskusi yang dihasilkan antara berbagai tim menghasilkan perubahan spesifikasi dan keterlambatan masuk ke QA. Ketika kami bisa, kami melibatkan QA lebih awal dalam proses, yang membantu memperbaiki bug saat kode masih hangat - tetapi kami masih melakukan penelusuran sebelum QA "resmi" dimulai.
Saya kadang-kadang mengatakan bahwa kode tidak boleh dikirimkan ke QA jika Anda kesal jika salah masuk ke produksi alih-alih QA. Kode dengan disfungsi utama tidak termasuk dalam QA (kecuali dalam keadaan tertentu)
sumber