Kapan seharusnya pengembangan berhenti dan QA dimulai?


9

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?

Jawaban:


5

Seharusnya tidak!

Sangat sulit untuk melakukan semua pekerjaan, berhenti, dan kemudian memperbaiki semua masalah. Ketika Anda pergi untuk memperbaiki masalah yang Anda temukan selama proses QA, Anda mungkin belajar bahwa akan lebih baik untuk melakukan sesuatu yang berbeda.

Alih-alih menganggap segala sesuatu sebagai proses kunci-langkah, cobalah membuatnya lebih siklus. Kode beberapa fungsi dan coba. Kode lagi dan coba (dan hal-hal lama masih berfungsi). Proses yang lebih lancar ini mengurangi kesulitan kapal untuk mencoba memuat semuanya. Anda masih dapat memiliki konsep pembekuan kode (hanya memperbaiki bug) ketika Anda mendekati tenggat waktu, tetapi intinya adalah untuk menguji lebih awal dan sering.


jadi jawaban untuk masalah pengembang yang memutar kode buggy terang-terangan adalah ... QA perlu menguji lebih sering? Aku menyukainya.
Kevin

@ Kevin: Tampaknya memang ada masalah lain dalam sistem mereka saat ini yang perlu ditangani, tetapi saya berusaha untuk lebih langsung menjawab pertanyaan.
unholysampler

4

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.


0

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 .


0

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.


0

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.)


0

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)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.