Apakah masuk akal untuk memberikan otoritas penandatanganan kepada penguji? Haruskah tim uji
- Cukup uji fitur, masalah, dll, dan cukup laporkan lulus / gagal, serahkan kepada orang lain untuk bertindak atas hasil tersebut, atau
- Memiliki wewenang untuk menahan rilis sendiri berdasarkan hasil itu?
Dengan kata lain, haruskah penguji diharuskan untuk benar-benar keluar saat rilis? Tim pengujian yang saya kerjakan merasa bahwa mereka melakukannya, dan kami mengalami masalah dengan ini karena "pengujian cakupan creep" - penolakan untuk menyetujui rilis terkadang didasarkan pada masalah yang secara eksplisit tidak ditangani oleh rilis yang dimaksud.
testing
release-management
process
Ernest Friedman-Hill
sumber
sumber
Jawaban:
Sebagian besar tempat saya pernah bekerja, orang-orang QA memang memiliki semacam langkah keluar, tetapi tidak memiliki otoritas final tentang apakah rilis akan dilanjutkan atau tidak. Sign-off mereka menyatakan bahwa mereka menyelesaikan pengujian yang diharapkan oleh rencana rilis, bukan bahwa rilis itu sempurna.
Pada akhirnya QA! = Bisnis dan bisnis perlu memutuskan apakah mereka boleh menggunakan kode dalam kondisi saat ini atau jika manfaatnya melebihi kerugian atau apa pun. Ini sering dilakukan oleh klien atau pemangku kepentingan segera sebelum disebarkan dan sering disebut Penerimaan Pengguna.
Jika QA Anda juga merupakan grup Penerimaan Pengguna Anda, maka ada potensi bahwa mereka memiliki wewenang untuk menentukan kandidat rilis Anda sebagai tidak dapat diterima, tetapi jika Anda menyelesaikan masalah ini yang berada di luar ruang lingkup untuk perbaikan bug / iterasi / sprint / perubahan meminta / apa pun yang Anda masukkan dalam waktu Anda, maka Manajer Proyek atau pemangku kepentingan lini bisnis perlu mengadakan pertemuan Yesus dengan tim QA.
Baik-baik saja untuk melaporkan cacat yang sudah ada sebelumnya atau hasil yang tidak diinginkan dari persyaratan baru, tetapi jika itu di luar ruang lingkup dan non-bencana, umumnya tidak dapat diterima untuk menandainya sebagai masalah pemblokiran. Ini masuk dalam jaminan bagi pemilik produk untuk memprioritaskan seperti yang lainnya.
sumber
Seseorang membutuhkan otoritas itu . Apakah itu penguji, tim penguji, pemimpin tim penguji, atau pemimpin organisasi pengembangan agak tidak relevan. Atau mungkin lebih akurat, itu tergantung pada organisasi.
Pada akhirnya, pilihan untuk merilis perangkat lunak adalah fungsi bisnis. Bisnis harus memutuskan apakah kualitasnya sesuai. Dapat diperdebatkan, direktur penjaminan mutu harus membuat keputusan itu, atau memasukkan keputusan itu ke unit bisnis yang sesuai. Itu semua tergantung pada ukuran perusahaan, kepentingan relatif dari kualitas, dll.
Semua yang dikatakan, informasi yang digunakan untuk membuat keputusan dimulai dengan tester . Apakah mereka memiliki kekuatan untuk menghentikan rilis atau tidak, mereka harus merasakan tanggung jawab untuk memberi tahu para pembuat keputusan ketika mereka melihat sesuatu yang mereka pikir harus menyebabkan keterlambatan rilis.
sumber
Memberikan otoritas sign-off (yaitu hak veto) untuk rilis kepada penguji sama artinya dengan memberikan hak itu kepada pengembang: tidak ada sama sekali.
Penguji dan pengembang terutama adalah orang-orang teknis, sehingga mereka cenderung membuat keputusan sebagian besar alasan teknis. Namun, kekhawatiran yang perlu dipertimbangkan ketika membuat rilis adalah masalah teknis dan bisnis. Jelas, pelanggan tidak akan senang jika Anda mengirimkan produk yang dipenuhi bug, tetapi pelanggan akan sama-sama tidak senang jika Anda terus menunda rilis karena masih ada masalah terbuka pada produk.
Seseorang perlu menemukan keseimbangan yang tepat antara produk yang bagus dan menjaga jadwal yang dijanjikan kepada pelanggan. Untuk melakukan itu, Anda tidak boleh terlibat dalam proyek dalam peran teknis semata, melainkan dalam peran yang lebih berorientasi bisnis / manajemen seperti manajer proyek atau pemilik produk dan mengambil masukan dari penguji dan pengembang.
sumber
Keputusan untuk 'melepaskan' atau 'tidak melepaskan' pada akhirnya adalah keputusan bisnis, di mana analisis risiko / imbalan yang ketat perlu dilakukan.
Gila bagi organisasi mana pun untuk meminta tim penguji mengambil tanggung jawab ini atau meminta tim penguji menyetujui tanggung jawab ini.
Peran tim uji adalah memberikan analisis kualitas perangkat lunak, kesiapannya untuk dirilis, dan risiko apa pun yang diidentifikasi sebagai input pada keputusan bisnis untuk dirilis atau tidak dirilis.
Seperti yang orang lain catat, _ seseorang _ (dan saya percaya ini adalah seorang individu) memang membutuhkan otoritas untuk membuat keputusan 'melepaskan' atau 'tidak melepaskan'. Orang yang sama dapat mendelegasikan keputusan itu dalam kondisi tertentu (mis. Tidak ada Bug P1 atau P2)
sumber
Saya telah bekerja dengan situasi yang sama dengan penguji yang terlalu banyak menjangkau dan menemukan cara yang lebih kreatif untuk menghancurkan suatu sistem yang, ketika risiko dinilai, sangat tidak mungkin terjadi dalam produksi.
Sementara saya memahami dan memuji tim uji karena tidak ingin mengirimkan rilis yang tidak sempurna, itu memang membutuhkan kepemilikan produk yang kuat untuk mendefinisikan apa yang merupakan "risiko yang dapat diterima".
Dalam pengalaman saya, tim uji harus diberi veto pada rilis perangkat lunak tetapi veto ini harus ditimpa oleh pemilik produk tetapi hanya setelah diskusi dengan penguji utama.
Perangkat lunak tidak akan pernah sempurna, jika Anda menderita tes creep maka Anda tidak akan pernah merilis apa pun sampai ada masalah produksi utama (yang tidak akan diuji dengan benar) dan bergegas keluar.
sumber