Apa Itu Dokumentasi QA, dan Bagaimana Kita Dapat Mengurangi Biaya Pembuatan dan Pemeliharaannya?

Diterbitkan: 2023-08-01

Andrii Hilov, Pimpinan Tim QA di ITRex, telah menulis artikel lain yang membahas tantangan dan kendala jaminan kualitas dalam proyek perangkat lunak. Kali ini, Andrii mendalami dokumentasi QA dan perannya dalam mengembangkan perangkat lunak berkinerja tinggi — tepat waktu, sesuai anggaran, dan sejalan dengan sasaran bisnis Anda.

Inilah yang dia katakan tentang itu.

Sebagai Pimpinan Tim QA di perusahaan pengembangan perangkat lunak perusahaan ITRex, saya sangat menyadari aspirasi klien kami untuk mengurangi biaya pengembangan perangkat lunak sambil meluncurkan produk yang berfungsi penuh tepat waktu dan dengan nilai maksimum.

Meskipun sasaran ini dapat dimengerti, saya menyarankan untuk tidak memberhentikan tim QA Anda di awal proyek, bahkan jika mereka tidak menemukan bug setiap hari, meskipun ini mungkin merupakan opsi yang mudah untuk memotong gaji dan mempercepat siklus rilis perangkat lunak.

Selain itu, saya sarankan Anda mengikuti praktik terbaik jaminan kualitas di seluruh proyek untuk memvalidasi bahwa solusi Anda dan semua fiturnya berfungsi seperti yang diharapkan dan tidak membahayakan keamanan siber Anda.

Dan salah satu praktik tersebut adalah membuat dan memelihara dokumentasi QA yang tepat.

Apa sebenarnya dokumentasi jaminan kualitas itu? Bagaimana ini dapat membantu Anda mendapatkan manfaat paling banyak dari memanfaatkan QA dan layanan pengujian? Dan apakah ada cara untuk mengoptimalkan biaya dan upaya yang terkait dengan menyiapkan dokumentasi QA sambil meminimalkan risiko pengembangan aplikasi yang dirancang dengan buruk, penuh bug, dan harus membangun kembali semuanya dari bawah ke atas?

Ayo cari tahu!

Pengantar dokumentasi QA

Dokumentasi QA adalah kumpulan dokumen dan artefak yang dibuat dan dipelihara oleh tim jaminan kualitas selama proses pengembangan dan pengujian perangkat lunak.

Ini mungkin termasuk berbagai dokumen yang menguraikan strategi pengujian, rencana pengujian, kasus pengujian, skrip pengujian, data pengujian, log pengujian, laporan bug, dan dokumentasi lain yang terkait dengan aktivitas QA. Dokumen-dokumen ini memfasilitasi komunikasi di antara anggota tim QA, memberikan pedoman untuk pengujian, dan membantu dalam mengidentifikasi dan menyelesaikan masalah secara efisien.

Dengan demikian, dokumentasi QA memainkan peran penting dalam memastikan kualitas dan keandalan produk perangkat lunak — dan itulah tujuan utama yang dikejar klien kami.

Dokumen QA apa yang digunakan dalam proyek perangkat lunak

Untuk tujuan artikel ini, kami akan memberi Anda ikhtisar singkat tentang dokumen jaminan kualitas yang membentuk tulang punggung dokumentasi pengujian dalam proyek pengembangan perangkat lunak:

  • Rencana pengujian adalah dokumen QA yang menguraikan keseluruhan pendekatan, tujuan, ruang lingkup, sumber daya, dan jadwal kegiatan pengujian perangkat lunak. Sederhananya, itu mencakup:
  1. Nama dan deskripsi proyek, termasuk jenis aplikasi yang sedang diuji dan fungsi intinya
  2. Metode pengujian pilihan (manual, otomatis, campuran) dan jenis pengujian (fitur baru, integrasi, kompatibilitas, regresi, dll.)
  3. Fitur yang perlu diuji, beserta perkiraan jadwal untuk setiap aktivitas pengujian
  4. Komposisi tim yang optimal
  5. Gambaran umum tentang risiko dan masalah yang mungkin timbul selama proses pengujian
  6. Daftar dokumen pengujian yang akan digunakan tim QA Anda selama proyek berlangsung

Aturan praktisnya adalah menulis rencana pengujian di awal proyek perangkat lunak saat tim TI Anda menentukan persyaratan fungsional dan non-fungsional untuk solusi perangkat lunak, memilih tumpukan teknologi yang sesuai dan metodologi manajemen proyek, serta membuat peta jalan proyek.

Biasanya diperlukan waktu hingga tiga hari untuk menyiapkan dan meninjau rencana pengujian sederhana tanpa kasus pengujian.

  • Kasus uji menjelaskan skenario uji spesifik, termasuk data input, hasil yang diharapkan, dan langkah-langkah untuk mengeksekusi. Uji kasus dirancang untuk memverifikasi fungsionalitas, kinerja, atau aspek lain dari produk perangkat lunak. Harap diperhatikan bahwa kasus pengujian digunakan oleh layanan pengujian manual dan tim layanan otomatisasi QA. Dengan cara ini, Anda akan memastikan cakupan pengujian maksimum, artinya tidak ada bug yang muncul dalam kode produksi.

Meskipun seorang insinyur QA yang terampil dapat menulis kasus uji tingkat tinggi hanya dalam sepuluh menit, jumlah kasus uji untuk proyek berukuran sedang dapat dengan mudah melebihi 4.000 (dan terus bertambah). Lipat gandakan angka itu dengan rata-rata tarif per jam teknisi QA menengah ($65 per jam kerja untuk pasar Amerika Utara), dan Anda akan mendapatkan angka yang mengesankan.

  • Daftar periksa adalah daftar singkat tindakan atau tugas yang perlu diselesaikan atau diverifikasi selama proses pengujian. Oleh karena itu, daftar periksa dalam dokumentasi QA biasanya menyertakan ikhtisar lengkap modul fungsional, bagian, halaman, dan elemen lain dari aplikasi atau sistem fisik siber yang memerlukan perhatian tim QA.

Dalam proyek yang lebih kecil, daftar periksa dapat berhasil menggantikan kasus pengujian terperinci (lebih lanjut nanti.)

  • Skrip pengujian adalah potongan kode yang ditulis menggunakan alat atau kerangka kerja pengujian tertentu, seperti Selenium, Appium, dan Mentimun. Skrip ini mengotomatiskan pelaksanaan kasus pengujian, menjadikan proses pengujian lebih efisien — khususnya, dalam proyek perangkat lunak yang besar dan kompleks seperti sistem SaaS multi-penyewa dan aplikasi B2C populer, yang sering diperbarui dan bahkan bug terkecil pun dapat berdampak negatif terhadap pengalaman pengguna .
  • Data uji adalah data yang digunakan oleh insinyur QA untuk menilai kinerja, fungsionalitas, keandalan, dan keamanan solusi perangkat lunak dalam berbagai kondisi. Ini mungkin termasuk nilai input sampel, kondisi batas, dan berbagai skenario. Misalnya, tim QA Anda mungkin menggunakan data pengujian positif dan negatif untuk memvalidasi bahwa hanya kredensial masuk yang benar yang dapat digunakan untuk memasuki sistem perangkat lunak. Demikian pula, data pengujian dapat digunakan untuk menerapkan batasan usia pada jenis aplikasi tertentu atau menyelidiki bagaimana aplikasi menangani peningkatan beban kerja.
  • Log pengujian mendokumentasikan proses pelaksanaan pengujian, termasuk tanggal dan waktu kinerja pengujian, ringkasan kasus pengujian yang dijalankan, hasil yang dicapai tim QA Anda, tangkapan layar, dan masalah atau pengamatan apa pun yang dicatat selama pengujian. Log pengujian adalah sumber informasi penting untuk melacak kemajuan pengujian, mengidentifikasi pola atau tren dalam hasil pengujian, dan memberikan catatan riwayat aktivitas pengujian. Ini membantu mengidentifikasi dan menyelesaikan masalah secara efisien dan berfungsi sebagai referensi untuk upaya pengujian atau audit di masa mendatang.
  • Laporan cacat atau bug adalah dokumen pengujian yang merinci cacat dan masalah yang ditemukan selama aktivitas QA. Secara khusus, mereka menjelaskan bug yang terdeteksi, tingkat keparahan dan prioritasnya, dan kondisi di mana kerusakan terjadi. Manajer QA menggunakan laporan bug untuk menetapkan tugas ke spesialis pengujian perangkat lunak dan melacak status mereka.
  • Matriks ketertelusuran memetakan hubungan antara kasus uji dan persyaratan atau artefak lainnya. Ini membantu memastikan bahwa semua persyaratan dicakup secara memadai oleh kasus pengujian, memungkinkan untuk melacak cakupan pengujian di seluruh proyek, dan menghilangkan aktivitas pengujian yang berlebihan.
  • Laporan penyelesaian pengujian meringkas aktivitas pengujian yang dilakukan dalam suatu proyek, termasuk status pelaksanaan pengujian, jumlah kasus pengujian yang dijalankan, cacat yang ditemukan, dan tugas yang tertunda.

Mengapa dokumentasi QA penting?

Memiliki dokumentasi jaminan kualitas membantu mencapai hasil yang tepat yang diharapkan oleh pelanggan dan tim rekayasa perangkat lunak.

Ini dicapai dengan kombinasi faktor-faktor, termasuk yang berikut:

  1. Dokumentasi QA memberikan instruksi dan pedoman yang jelas yang dapat diikuti oleh spesialis pengujian perangkat lunak untuk melakukan tugas secara konsisten, mengurangi variasi, dan meningkatkan kualitas produk atau layanan secara keseluruhan.
  2. Dokumentasi penjaminan kualitas mengurangi kemungkinan mendeteksi cacat kritis dan kesalahan dalam solusi perangkat lunak di akhir proses pengembangan, sehingga memainkan peran penting dalam pengendalian anggaran. Pakar QA menyarankan bahwa biaya perbaikan bug meningkat secara eksponensial di setiap tahap proyek, mulai dari 3X untuk tahap desain/arsitektur hingga 30X dan lebih banyak lagi untuk tahap penerapan.
  3. Dokumentasi penjaminan mutu membantu memastikan kepatuhan terhadap persyaratan peraturan dan standar yang harus dipenuhi oleh organisasi Anda dengan menyederhanakan audit dan memberikan bukti atas proses, prosedur, dan kendali mutu yang ditetapkan.
  4. Dengan mendokumentasikan prosedur, kontrol, dan proses penilaian risiko, dokumentasi pengujian perangkat lunak membantu organisasi mengidentifikasi potensi risiko dan mengambil tindakan pencegahan untuk meminimalkan dampaknya terhadap bisnis dan kepuasan pelanggan.
  5. Karyawan baru dapat merujuk ke dokumentasi QA Anda untuk memahami proses dan prosedur kualitas dalam proyek perangkat lunak, mengurangi kurva pembelajaran, dan memastikan pelatihan yang konsisten di seluruh organisasi.
  6. Dengan mendokumentasikan ketidaksesuaian, tindakan korektif, dan pembelajaran, perusahaan dapat mengidentifikasi area untuk perbaikan dan menerapkan perubahan untuk meningkatkan efisiensi dan kualitas.
  7. Memiliki proses dan prosedur QA yang terdokumentasi dengan baik dapat meningkatkan kepercayaan pelanggan terhadap produk atau layanan perusahaan Anda. Dokumentasi pengujian perangkat lunak yang ekstensif menunjukkan komitmen terhadap kualitas dan memastikan bahwa organisasi memiliki sistem yang kuat untuk memberikan hasil yang konsisten dan andal.
  8. Dalam situasi di mana perselisihan hukum atau penarikan produk muncul, dokumentasi QA dapat berfungsi sebagai bukti penting. Ini dapat menunjukkan bahwa organisasi Anda telah mengikuti proses kualitas yang ditetapkan, melakukan tindakan pencegahan yang diperlukan, dan memenuhi kewajibannya.

Berapa lama waktu yang diperlukan untuk membuat dokumentasi QA?

Jawaban yang jujur ​​untuk pertanyaan ini adalah, “Tergantung.”

Secara khusus, kerangka waktu dan biaya terkait bergantung pada beberapa faktor, seperti ukuran organisasi Anda dan kerumitan prosesnya, industri tempat Anda berada, dan jenis perangkat lunak yang Anda buat.

Jika sebelumnya Anda telah memulai proyek pengembangan perangkat lunak dan memiliki tim QA internal, Anda mungkin dapat menggunakan kembali dokumentasi QA yang ada untuk proyek baru. Menggunakan templat dan alat khusus untuk membuat dan memelihara dokumentasi pengujian perangkat lunak, seperti manajemen proyek dan perangkat lunak wiki, juga sangat membantu.

Apakah Anda selalu memerlukan dokumentasi QA — dan apakah mungkin untuk mengurangi biaya pembuatan dan pemeliharaannya?

Betapapun berguna, dokumentasi jaminan kualitas dapat meningkatkan biaya proyek perangkat lunak karena upaya tambahan dan personel yang diperlukan untuk pembuatan dan pemeliharaannya.

Ini mungkin menjadi masalah bagi startup yang beroperasi dengan sedikit uang atau perusahaan yang mengalami transformasi digital pada saat resesi.

Apakah setiap jenis proyek perangkat lunak memerlukan dokumentasi QA yang sangat mendetail - dan apakah mungkin untuk mengurangi biaya yang terkait dengannya?

Untuk menentukan pendekatan terbaik untuk pembuatan dokumen QA, pertimbangkan faktor-faktor berikut:

  • Ukuran proyek dan anggaran . Dalam kasus anggaran kecil dan proyek jangka pendek (kecuali jika kita berbicara tentang proyek yang sangat inovatif dan teknis yang dilaksanakan oleh tim TI besar), tidak perlu memperumit proses dokumentasi, sehingga regu QA Anda dapat memilih daftar periksa daripada mendetail kasus uji. Mengenai dokumen rencana pengujian, yang menentukan keseluruhan strategi pengujian, kami juga dapat mengabaikan penulisannya jika tidak ada anggaran untuk itu atau jika proyek bersifat jangka pendek dan tidak melibatkan teknologi terdepan.
  • Ukuran dan pengalaman tim QA . Semakin banyak insinyur QA pada proyek dan semakin sedikit pengalaman yang mereka miliki dalam jaminan kualitas, semakin sulit untuk mengontrol proses pengujian. Oleh karena itu, Anda memerlukan dokumentasi jaminan kualitas yang ekstensif untuk menjaga anggota tim tetap pada halaman yang sama. Dalam kasus seperti itu, disarankan untuk bersandar pada kasus uji daripada daftar periksa untuk mendistribusikan tugas secara lebih efektif di antara para insinyur berdasarkan pengalaman dan pengetahuan mereka, dan untuk melibatkan spesialis QA yang lebih berpengalaman, yang biasanya memiliki tarif per jam lebih tinggi, dalam pembuatan kasus uji.
  • Pendekatan Agile vs. Waterfall untuk manajemen proyek . Meskipun tim ITRex telah merangkum perbedaan utama antara metodologi Agile dan Waterfall dalam postingan blog ini, perlu disebutkan apa yang membedakan kedua pendekatan tersebut dalam hal jaminan kualitas. Di Waterfall, pengujian perangkat lunak disimpan untuk yang terakhir, artinya tim QA Anda hanya akan melakukan pengujian ketika bagian pengkodean selesai 100%. Untuk alasan yang jelas, mereka tidak dapat melakukannya tanpa dokumentasi penjaminan mutu yang tepat, yang harus disiapkan selama fase elisitasi persyaratan. Di Agile, di mana tim TI cenderung membuat perangkat lunak yang lebih kecil secara iteratif dan menguji kode di akhir setiap siklus, dokumentasi QA komprehensif yang kreatif sebelumnya tidak disukai. Tetap saja, saya sarankan Anda menulis rencana pengujian untuk lebih menyelaraskan situasi saat ini dengan harapan pelanggan dan insinyur perangkat lunak.

Secara keseluruhan, memiliki dokumentasi QA dapat bermanfaat bagi proyek pengembangan perangkat lunak apa pun, terlepas dari kerumitan dan ukurannya.

Namun, sebagai perusahaan yang berorientasi pada klien, kami selalu siap menyarankan solusi dengan mempertimbangkan tujuan dan anggaran Anda.

Jika Anda tidak yakin apakah Anda perlu menyiapkan dokumentasi jaminan kualitas yang ekstensif untuk proyek Anda dan mencari insinyur QA yang terampil untuk mempercayakan tugas tersebut, hubungi ITRex! Kami akan memastikan Anda meluncurkan solusi perangkat lunak berkinerja tinggi dan bebas bug tepat waktu, sesuai anggaran, dan sesuai spesifikasi!


Awalnya diterbitkan di https://itrexgroup.com pada 30 Juni 2023.