Haruskah pengembang, penguji, dan pengguna bisnis memiliki satu skrip pengujian terpadu?

11

Dalam pengembangan, saya biasanya memiliki skrip pengujian sendiri yang akan mendokumentasikan data, skenario, dan langkah-langkah eksekusi yang saya rencanakan untuk diuji; ini adalah rencana pengujian dev saya. Ketika fungsionalitas telah digunakan untuk Uji, penguji mengujinya menggunakan skrip pengujian mereka sendiri yang mereka tulis. Di UAT, pengguna bisnis kemudian menguji menggunakan rencana pengujian mereka sendiri.

Dalam retrospeksi, sepertinya ini memberikan cakupan yang lebih baik, dengan tes dev memiliki campuran pengujian kotak hitam dan putih, sementara penguji dan pengguna bisnis fokus pada pengujian kotak hitam. Tetapi di sisi lain, ini memunculkan kasus uji berbeda yang hanya dieksekusi per tahap (mis. Beberapa kasus yang dianggap penguji hanya dieksekusi pada tahap Uji) dan ia ingin dev melewatkannya, yang membuatnya menjadi temuan / bug .

Apakah layak mengkonsolidasikan skrip pengujian dari awal? Dengan demikian menggunakan satu skrip pengujian terpadu, atau apakah agak sulit untuk melakukan ini di muka?

Carlos Jaime C. De Leon
sumber

Jawaban:

19

QA pertama bukan Tes. Jika departemen QA Anda tidak terlibat dalam seluruh proses pengembangan, mereka adalah Tes, bukan QA. QA ketika melakukan pekerjaannya, memberikan jaminan kualitas, paling-paling Tes menunjukkan kurangnya kualitas, tetapi tidak dapat membuktikan kualitas ada - yaitu Uji menunjukkan QA telah gagal, tetapi tidak dapat menunjukkan mereka telah berhasil, jadi Tes dan QA tidak boleh menjadi departemen yang sama.

Saya percaya cara terbaik adalah membuat masing-masing kelompok mengelola tes mereka sendiri, karena memberikan cakupan yang lebih baik. Namun, setiap tim harus memulai pengujian sesegera mungkin. Ini berarti bahwa UAT dimulai segera setelah ada sesuatu yang dapat digunakan oleh Pengguna, Tes akan dimulai segera setelah bagian yang mereka uji siap, dll. Ini mencegah keterlambatan menemukan kasus uji yang berbeda. Ini mungkin berarti beberapa rejigging model kerja Anda, seperti yang sering dilakukan UAT dan Test untuk bekerja pada produk lengkap dan perlu pelatihan dalam menguji sebagian hasil lengkap. Ini bisa lebih mahal kecuali alur kerja tidak disiplin dan pengembang "Lengkap" berarti Lengkap.

QA harus mengawasi hal ini, bersama dengan langkah-langkah kualitas lainnya, untuk memastikan proses tidak hanya memberikan hasil kualitas yang diinginkan, tetapi juga pada tingkat efisiensi yang tepat.

Sunting: Referensi pertanyaan asli untuk QA telah dihapus, karenanya jawaban ini sekarang muncul OT.

mattnz
sumber
2
+1 - jawaban luar biasa. Aktivitas yang terjadi selama berbagai jenis pengujian cukup berbeda sehingga satu skrip yang disatukan tidak benar-benar masuk akal. Selain itu, pengembang biasanya akan menginginkan skrip uji yang sepenuhnya otomatis, sehingga mereka dapat menjalankannya dengan cepat, baik di kotak pasir dan di server CI; ini tidak cocok dengan apa yang ingin dilakukan oleh QA dan UAT.
Dawood ibn Kareem
"QA bukan Uji". Saya tidak dapat cukup memilih ini.
Bernhard Hofmann
2

Kami menggunakan UAT sejak awal.

Ini bertindak sebagai referensi universal dan saya pikir itu berfungsi dengan baik. Meskipun mungkin ada skrip pengujian yang hanya digunakan oleh Devs atau Penguji untuk komponen yang lebih kecil, arah pengujian selalu mengarah ke satu target yang disatukan. Pada akhirnya, UAT adalah satu-satunya yang penting sehingga Anda bisa menjadikannya fokus di awal.

Melakukan UAT sejak awal juga memiliki manfaat tambahan. Ini benar-benar menghapus ambiguitas antara harapan pelanggan dan harapan Anda sendiri.

Permas
sumber
Ketika Anda mengatakan Anda menggunakan skrip pengujian UAT dari awal, apakah itu berarti itu harus berasal dari pengguna bisnis? Maksud saya mengatakan, pengguna telah membuat rencana pengujian awal pada tahap ini dan bahwa rencana ini dapat diakses oleh pengembang untuk digunakan sebagai bagian dari pengujian dev-nya?
Carlos Jaime C. De Leon
@ CarlosJaimeC.DeLeon, ya, itu berasal dari pengguna bisnis. Kami menemukan bahwa itu bekerja dengan baik karena sebagian besar pelanggan cenderung memiliki gagasan kabur tentang apa yang mereka inginkan dan ini membantu menyempurnakannya serta memberikan panduan bagi para pengembang dan penguji. Juga, ketika kita seperti dalam UAT yang mereka nyatakan, mereka lebih memahami ketika kita meminta waktu jika mereka menginginkan perubahan: P
Permas
1

Mereka tidak memerlukan skrip uji unifed karena hal-hal yang mereka uji dan cara mereka melakukan tes sering dianggap berbeda, yang mereka butuhkan adalah persyaratan terpadu yang semua pihak kerjakan. Jika UAT dan QA menguji hal-hal yang tidak pernah dipikirkan pengembang, maka sudah saatnya untuk melihat persyaratan.

HLGEM
sumber
1

Saya setuju, bahwa memiliki skrip pengujian terpadu untuk devs, penguji dan pengguna bisnis akan menyenangkan untuk dimiliki tetapi saya percaya itu tidak mungkin tanpa banyak upaya di mana biaya melebihi penghunian sebagai manfaat.

Alasan kesulitannya adalah bahwa konten database di setiap sistem berbeda dan tes biasanya sangat tergantung pada konten database. pendekatan kami untuk "tes terpadu" adalah bahwa setiap sistem juga mendapatkan database uji tambahan dan ada skrip untuk membuat db dari awal. skrip uji dijalankan terhadap testdb di mana kontennya standar.

k3b
sumber
1

Di dunia yang sempurna pengembang harus memiliki unit test (xUnit), penguji - tes integrasi otomatis (Selenium) dan pengguna bisnis - tes penerimaan (FIT). Mereka dapat memiliki akses ke tes satu sama lain.

Nikolay Fominyh
sumber
1

Itu sangat tergantung pada proyek. Dalam beberapa kasus, tes terpadu, tim QA dan UAT yang bertemu untuk membahas temuan bisa sangat bermanfaat. Ini menghemat duplikasi upaya pengujian, dan memastikan bahwa semua pihak memiliki pemahaman yang lebih jelas tentang kebutuhan bisnis melalui skrip UAT. Di sisi lain, tergantung pada kompleksitas proyek, mungkin lebih masuk akal untuk memiliki QA input dan output sebelum menguji contoh bisnis. Untuk pengembangan sistem yang dikembangkan di rumah, QA awal akan menjadi keharusan sebelum penerimaan pengguna. Untuk implementasi out-of-the-box, tim pengujian terpadu akan paling masuk akal.

ASG
sumber