Harga kualitas: 7 prinsip untuk mengoptimalkan biaya pengujian

alt gambar


Ingin tahu bagaimana cara menyimpan uang pada pengujian perangkat lunak Anda? Kamu tidak sendiri Hanya ada satu yang kecil tetapi: jika Anda tidak menguji perangkat lunak, skenario paling negatif mungkin terjadi - mulai dari yang mahal dan sangat tidak menguntungkan hingga Anda menyelesaikan aplikasi pada tahap selanjutnya hingga hilangnya reputasi dan kepergian pelanggan / pelanggan ke pesaing.

Siap merekrut 50 penguji paling berpengalaman untuk memastikan kualitas produk? Itu keren! Mengapa Anda perlu memahami: jika Anda mengalokasikan terlalu banyak sumber daya untuk pengujian jika ini tidak dapat dibenarkan, Anda akan menggembungkan anggaran dan perangkat lunaknya akan terlalu mahal. Apakah pengguna dan pelanggan Anda senang dengan ini? Anda beresiko lagi.

Ya, kami mengisyaratkan bahwa kebenaran ada di antara keduanya. Dalam artikel ini kita akan berbicara tentang prinsip-prinsip dasar, yang berikut ini Anda dapat menemukan keseimbangan antara biaya pengujian dan kualitas produk Anda.

Prinsip nomor 1. Mulai pengujian sedini mungkin


alt gambar


Salah satu kesalahan yang paling umum adalah mulai menguji produk di tahap selanjutnya, ketika hampir siap untuk dirilis. Semakin cepat tim uji (QA) terhubung ke proses pengembangan, semakin rendah kemungkinan kesalahan dalam produksi. Selain itu, kesalahan yang diidentifikasi pada tahap awal pengembangan akan lebih murah. Kadang-kadang. Pengalaman kami menunjukkan bahwa harga fiksasi pada tahap selanjutnya bisa 30 kali lebih mahal daripada memperbaiki kesalahan yang sama, misalnya, pada tahap prototipe.

alt gambar

Kasus dari praktik: kami menunggu sangat lama dalam menguji aplikasi server yang mengumpulkan dan memproses sejumlah besar data pengguna. Para pengembang hanya menolak untuk memberikannya, mengutip fakta bahwa mereka memiliki banyak masalah, dan pengujian dapat dilakukan pada akhirnya. Pada akhirnya, mereka mengerjakan versi baru selama empat bulan.

Ketika kami mulai menguji aplikasi dengan jumlah data pengguna yang sebenarnya, ternyata arsitektur basis data yang dipilih tidak dapat mengatasi beban seperti itu. Tim pengembangan lima orang harus merencanakan ulang semuanya, menulis ulang desain dan arsitektur aplikasi, dan kami harus mengujinya dari awal. Rilis berlangsung enam minggu lebih lambat dari yang direncanakan.

Intinya: keinginan untuk menghemat 150 jam kerja pada pengujian dan menunda untuk melepaskannya menyebabkan hilangnya 1.100 jam kerja karyawannya dan menggandakan biaya pengujian.

Prinsip nomor 2. Simpan, tetapi bukan analitik


Katakanlah Anda mendengarkan argumen kami dan memutuskan untuk menerapkan prinsip pertama. Pada tahap pengembangan produk apa yang terbaik untuk membayar dan melibatkan tim pengujian? Jawab: pada tahap perencanaan arsitektur aplikasi, atau setidaknya pada tahap analisis dan persiapan persyaratan.

alt gambar

Tanpa analitik yang dilakukan dengan baik, Anda berisiko meluncurkan produk sempurna yang tidak diperlukan siapa pun. Ini terjadi ketika Anda tidak memperhitungkan karakteristik audiens target Anda.

Kami ingat kisah horor tentang aplikasi yang berjalan, yang dirancang khusus untuk pengguna dari Asia. Asia Tengah pasti akan menyukainya dan mendapat untung jika pelanggan dapat menginstal aplikasi di smartphone mereka. Tetapi mereka tidak bisa, tetapi tahukah Anda mengapa? Pada tahap pengumpulan persyaratan, kesalahan dilakukan karena aplikasi tersebut diuji pada iPhone Samsung dan smartphone, yang setidaknya di Asia. Lagipula, pengguna Asia jelas lebih suka Huawei dan OPPO.

Dalam contoh kami, pengembang gagal menyimpan lagi. Anda tidak hanya harus menghabiskan 300 jam kerja untuk menyelesaikan dan menguji produk, tetapi juga biaya reputasi yang hampir membuat proyek itu bertekuk lutut.

Intinya: Anda dapat mengundang para ahli dari luar atau membatasi diri Anda sendiri, hal utama adalah untuk mengingat bahwa pengujian konsumen pada tahap dukungan puluhan kali lebih mahal. Dan dengan mahal, yang kami maksudkan bukan kerugian moneter seperti biaya reputasi. Jangan menghemat analitik. Hanya tidak pada dirinya!

Prinsip nomor 3. Tetapkan tujuan dan harapan


Tentu saja, Anda ingin semuanya bekerja dan bekerja dengan baik. Tetapi ini tidak cukup. Anda perlu memahami seberapa baik dan mengapa begitu banyak.

alt gambar

Apakah Anda tahu cara mengenali manajer pengujian yang baik? Dia segera mulai “menyiksa” Anda untuk memahami jenis produk berkualitas apa yang Anda butuhkan. Kami menyebutnya kumpulan harapan. Kualitas perangkat lunak Anda terdiri dari batu bata tertentu. Seorang manajer tes yang berpengalaman akan ingin tahu batu bata mana yang harus dimasukkan ke dalam fondasi kualitas.

Ketika seorang pelanggan datang kepada kami dan berkata: "Saya ingin itu bekerja", kami mulai bertanya kepadanya: apa tujuan utama menciptakan produk? Fitur apa yang paling dituntut oleh pengguna? bagaimana mereka menggunakannya?



Setelah mengumpulkan harapan, tujuan SMART ditetapkan, mereka diuraikan, tugas dan tabel KPI dibangun. Sebagai hasilnya, kami mendefinisikan dengan jelas:

  • jenis pengujian;
  • tanggal holding mereka;
  • komposisi tim;
  • dan bahkan risiko yang mungkin.

Semua ini diperlukan untuk memastikan kualitas yang dibutuhkan oleh pelanggan, tanpa meramal.

Namun, terkadang terjadi insiden. Pada proyek toko online layanan asuransi, kami melakukan analisis dan menyiapkan proposal. Karena kompleksitas fungsi dan ukuran modul, selain pengujian fungsional dan regresi penuh produk, kami merekomendasikan otomatisasi regresi. Terlepas dari kenyataan bahwa butuh sebagian besar waktu untuk mundur, pelanggan menolak untuk mengotomatiskannya, memotivasi oleh fakta bahwa ada tim "penangan tangan" yang kuat, dan otomasi akan mengambil banyak waktu dan menjadi tidak menguntungkan. Semua argumen dan perhitungan kami selanjutnya diabaikan. Kami tidak dapat membuktikan posisi kami dan selama tiga bulan kami menguji regresi secara manual, yang, pada kenyataannya, tidak menguntungkan bagi pelanggan.

Kemudian proyek dibatasi, dianalisis selama dua bulan dan dikembalikan dengan proposal untuk menggunakan rencana otomasi yang kami usulkan lima bulan lalu.

Intinya: Anda harus dapat tidak hanya memahami tujuan proyek dan keinginan klien, tetapi juga membuktikan kepadanya bahwa Anda berada di pihaknya dan tahu bagaimana mendapatkan manfaat. Kalau tidak, itu akan menjadi milik kita: anggaran digabung untuk pengujian regresi manual, meskipun otomatisasi akan menghemat waktu dan uang. Berbicara tentang otomatisasi ...

Prinsip No. 4. Otomatiskan


alt gambar

... tapi dengan bijak. Dan setelah menghitung ROI.

Agar otomatisasi menghemat uang Anda, produk harus stabil. Namun, jika perubahannya sangat dinamis, ini tidak berarti otomatisasi tidak akan membantu Anda. Menggunakan alat dan program khusus sudah otomatis. Misalnya, Anda dapat membantu mengotomatiskan operasi rutin yang menghabiskan waktu para penguji Anda. Katakanlah menulis utilitas yang mengumpulkan konfigurasi yang diperlukan.

Studi kasus: pelanggan ingin dibebaskan setiap hari, bukan dua kali seminggu. Selain itu, pengujian regresi manual lengkap membutuhkan dua hingga tiga hari. Dan karena 80% dari fungsionalitas produk mapan dan stabil, diputuskan untuk mengotomatiskannya. Untuk ini, kami mengembangkan empat skenario otomatisasi dan melakukan analisis komparatif efektivitasnya. Biasanya kami menggunakan delapan indikator untuk ini:

  1. Jumlah TC - jumlah kasus dalam skrip.
  2. Automation (man * days) - konsumsi sumber daya untuk otomatisasi skrip (tidak termasuk data uji untuk setiap kasus uji).
  3. 1 TC automation (man * jam) - biaya mengotomatisasi satu test case.
  4. Pengujian manual (man * days) - biaya pengujian script secara keseluruhan.
  5. Investigasi hasil (man * jam) - biaya memeriksa hasil lari autotest.
  6. Waktu pelaksanaan - jumlah tes yang diperlukan berjalan untuk periode kerja pada proyek. Angka ini mencerminkan jumlah jalan yang diharapkan, dengan mempertimbangkan stabilitas fungsional, jadwal jalan uji yang diperlukan (keteraturan informasi), dll.
  7. Kemanjuran otomatisasi (%) - menguji efisiensi otomasi dalam% dari waktu yang dihemat. Mengingat kesalahan perhitungan, otomatisasi dengan indikator lebih dari 150% dapat dianggap efektif.
  8. Waktu tersimpan (man * hari) - jumlah man-hari yang disimpan selama seluruh proyek.

Berikut ini tampilannya pada contoh proyek kami:



Seleksi akhir melewati dua skenario otomatisasi. Penggunaannya memungkinkan kami untuk mengurangi regresi dari dua hari menjadi beberapa jam untuk menjalankan autotest, ditambah dua jam untuk pemeriksaan manual yang tersisa, yang ternyata tidak menguntungkan untuk diotomatisasi.

Intinya: otomatisasi dapat mengurangi biaya tenaga kerja untuk menguji puluhan kali, dan dapat menghabiskan anggaran tanpa biaya. Tanpa kemampuan untuk menganalisis dan menghitung ROI, Anda selalu menghadapi risiko selamanya menjadi kecewa dengan otomatisasi.

Prinsip No. 5. Belajar menggunakan pemula


alt gambar

Tidak mau otomatis? Penguji dengan pengalaman mencapai anggaran? Berpikir untuk mempekerjakan lulusan sekolah menengah atas dengan gaji kecil tapi masuk akal? Bukan ide yang buruk, tetapi ada beberapa nuansa. Bahkan jika Anda memiliki produk sederhana, beberapa pendatang baru tidak akan cukup untuk Anda.

Seorang anak dapat menemukan bug dalam permainan dan menghancurkan aplikasi dengan metode pengujian umpan, tetapi akankah ia menemukan semua bug? Tentu saja tidak. Kami sangat menyukai pendatang baru, tetapi mereka biasanya tidak memiliki metode pengujian penelitian. Tapi mereka bisa "berjalan" di ujian. Oleh karena itu, untuk perusahaan pemula dengan mata menyala-nyala, Anda memerlukan "orang tua" yang akan meresepkan cek pada tingkat yang akan dipahami pemula Anda.

Sebagai contoh, kami menarik pendatang baru di bawah pengawasan mentor bahkan ke beberapa proyek yang kompleks. Awalnya, proses integrasi dan adaptasi seorang pemula pada proyek membutuhkan waktu satu bulan, yang, tentu saja, meningkatkan waktu dan biaya pengujian. Untuk mengatasi masalah ini, kami mengembangkan "paket pemula" dengan dokumentasi uji dan semua instruksi untuk menginstal dan mengkonfigurasi komponen yang diperlukan. Langkah ini memungkinkan untuk mengurangi periode adaptasi penuh pada pertama hingga dua minggu, dan setelah menambahkan satu set kasus visual dan video pelatihan ke "paket" - hingga satu minggu.

Sebuah fragmen dari serangkaian kasus untuk pengujian produk asuransi disajikan di bawah ini.

alt gambar

"Paket pemula" dapat mencakup sesuatu yang sangat sederhana namun bermanfaat, seperti generator data .

Dan itu dapat memberikan langkah-langkah spesifik untuk melewati kasus. Ngomong-ngomong, dalam pengalaman kami, yang terbaik adalah memberi pemula uji kasus secara tepat (dengan langkah dan prasyarat terperinci), daripada daftar periksa.



Memiliki set seperti itu, seorang pemula akan selalu tahu tes mana yang harus diambil, apa yang harus dilakukan dan ke mana harus mencari informasi yang hilang.

Intinya: menguntungkan untuk menggunakan karya pemula tanpa kehilangan kualitas dan kecepatan pengujian. Junior mampu membawa manfaat nyata bagi proyek yang sudah ada sejak minggu kedua, mengurangi hilangnya waktu adaptasi sebanyak 4 kali (dari 160 menjadi 40 jam).

Mentor yang berpengalaman dan proses bisnis integrasi pemula akan membantu menumbuhkan tim keren dalam waktu singkat. Kami melakukan ini secara teratur, dan jumlah penguji hebat yang kami latih telah melebihi seribu!

Prinsip nomor 6. Anda tidak perlu seratus penguji, Anda membutuhkan mereka yang bekerja dengan kepala mereka


alt gambar

Seharusnya tidak ada banyak penguji, harus ada cukup banyak dari mereka. Anda tidak ingin berinvestasi pada orang-orang berpengalaman hebat yang hanya akan bosan di tempat kerja atau memulai anak di bawah umur yang tidak perlu? Dengan cara yang sama, Anda tidak ingin empat puluh pengembang mengisi satu spesialis pengujian yang malang dengan semua perbaikannya dan dia tidak punya cukup waktu atau tenaga untuk melakukan pekerjaan berkualitas pada tugas. Jadi, aturan keseimbangan harga dan kualitas keenam adalah mencari keseimbangan ini.

Intuisi itu penting, tetapi tetap mencoba menggunakan bantuan ahli strategi dan analis yang akan membantu Anda menilai ruang lingkup tugas, jumlah orang yang Anda butuhkan dan kualifikasi mereka.

Kasus umum dari latihan. Belum lama ini, kami didekati oleh klien yang memiliki 12 penguji di tim: TM, senior, menengah dan 9 junior. Kami melakukan audit terhadap proses pengujian dan meninggalkan delapan ribu tugas yang tidak perlu (seperti merombak fungsi yang tidak terpengaruh oleh pembaruan, lembaga anak di bawah umur, dll.), Ditambah kami menemukan cara mengoptimalkan tes. Ternyata proyek tersebut membutuhkan tiga perangkat otomasi (ditawarkan sendiri) dan middl lain, yang dikembangkan dari kalangan junior. Sisa dari pendatang baru harus ditinggalkan.

alt gambar

Selanjutnya, kami meninggalkan pengujian fungsionalitas kritis di blok "Identifikasi dan Pengakuan" di tengah. Mereka memeriksanya dengan tangan, pengujian penelitian. Semua blok lain hampir sepenuhnya masuk ke otomatisasi.

alt gambar

Pada akhirnya, ini memungkinkan:

- Mengurangi biaya pengujian pra-rilis dari 232.400 menjadi 35.200 rubel.

- Meningkatkan pengujian ROI melalui otomatisasi sebanyak 5 kali.

- Mengurangi beban manajemen pada manajemen.

- Mengurangi waktu pengujian pra-rilis hingga 23 jam kerja.

- Meningkatkan kualitas pengujian, hanya menyisakan penguji berpengalaman di proyek.

Prinsip nomor 7. Cari tahu mana yang lebih menguntungkan bagi Anda: staf atau outsourcing


alt gambar

Seringkali, tetapi tidak selalu, outsourcing lebih murah dan memungkinkan Anda untuk mempekerjakan karyawan yang lebih berpengalaman dengan diskon.

Kasus lain dari praktik kami: Bagaimana cara menyimpan lebih dari satu setengah juta rubel per tahun dengan mempekerjakan sembilan agen outsourcing dengan gaji 130 ribu, bukannya sembilan penguji penuh waktu dengan gaji 70 ribu rubel.

Agar tidak berdasar, kami akan menunjukkan tabel yang akan menjelaskan dari mana manfaat tersebut berasal.

alt gambar

Dalam contoh kami, seorang penguji penuh waktu dengan gaji 70 ribu rubel per bulan membuat perusahaan mengeluarkan biaya 14.877 rubel lebih tinggi daripada spesialis outsourcing yang lebih mahal dengan gaji hampir dua kali lipat. Jika kita memperhitungkan departemen 9 orang yang bekerja selama satu tahun, maka manfaatnya akan menjadi 1.606.716 rubel. Dan ini adalah uang.

Namun, terkadang hal itu terjadi, walaupun menyadari manfaatnya, perusahaan tidak ingin melakukan outsourcing pengujian. Sebagai contoh, kita sering menghadapi keinginan klien untuk mentransfer semuanya kepada stafnya. Ini karena ketakutan dan ketidakmampuan untuk berbagi praktik terbaik dan dokumentasi mereka dengan pelanggan eksternal.

Posisi ini sepenuhnya dibenarkan: terlepas dari semua perjanjian non-pengungkapan, selalu ada risiko kebocoran informasi yang tidak disengaja, yang biayanya kemudian tidak ditanggung oleh tuntutan hukum apa pun. Agar tidak mengalami situasi seperti itu, kami sarankan Anda untuk bermain aman dan beralih ke perusahaan sehubungan dengan yang selama sepuluh tahun terakhir tidak satu pun klaim tersebut telah diajukan, setelah sebelumnya berkomunikasi dengan klien yang tercantum di situs webnya.

Secara singkat tentang apa yang dikatakan


1. Menurut versi Institut Nasional Standar dan Teknologi, biaya pengujian pada akhir pengembangan dapat melebihi biayanya pada tahap awal sebanyak 15 kali, dan setelah rilis sebanyak 30 kali.

Tidak mau membayar lebih? Mulai pengujian sedini mungkin!

2. Kesalahpahaman audiens target dan persyaratan produknya mengubur banyak proyek luar biasa.

Simpan di analytics? Bersiaplah untuk membayar permainan tebak-tebakan!

3. Perlu untuk menganalisis tidak hanya CA, tetapi juga keinginan pelanggan. Berdasarkan mereka, Anda harus dapat menetapkan dan menguraikan tujuan SMART.

Tidak dapat menetapkan sasaran yang jelas? Tujuan Anda tidak bisa dipahami oleh pelanggan? Letakkan biaya penyelesaian dan pengerjaan ulang!

4. Otomatisasi membantu mengoptimalkan biaya pengujian. Tetapi tidak di mana-mana dan tidak selalu.

Apakah Anda berpikir bahwa pengujian dengan tangan Anda lebih menguntungkan? Hitung ROI dari otomatisasi dalam beberapa skenario dan bandingkan angka!

5. Pemula dalam pengujian antusias, tetapi mereka tidak memiliki pengalaman. Mentor yang baik dan "paket pemula" meningkatkan efisiensi Juni pada proyek sebanyak 2-3 kali.

Mencetak lulusan kemarin dengan biaya yang masuk akal? Bersiaplah untuk membayar ekstra untuk transformasi mereka dari "monyet" menjadi seorang pria!

6. Kualitas tidak sama dengan kuantitas. Spesialis yang baik lebih mahal karena ia memberikan hasil terbaik.

Tidak ingin menyimpan, mengerjakan hasilnya? Maka Anda tidak boleh mengaudit tim pengujian dan mengoptimalkan komposisinya.

7. Outsourcing pengujian memungkinkan Anda untuk mendapatkan tim yang berpengalaman di proyek dengan jaminan hasilnya. Tetapi outsourcing sama sekali tidak cocok untuk semua orang.

Ingin solusi turnkey dengan label harga yang demokratis? Hitung manfaat dari negara dan dari outsourcing, mungkin opsi kedua akan jauh lebih menguntungkan.

Alih-alih sebuah epilog


Kualitas adalah konsep beragam, oleh karena itu, harganya mungkin bervariasi tergantung pada kedalaman pemahaman perusahaan tentang istilah ini. Ada banyak cara untuk menghemat dengan mengorbankan kualitas, tetapi tidak ada banyak pilihan untuk meningkatkan kualitas tanpa membayar lebih. Kepatuhan terhadap prinsip-prinsip di atas telah membantu kami mendapatkan reputasi yang dapat diandalkan di pasar dan kesetiaan pelanggan kami, dan kepada pelanggan itu sendiri - untuk menghemat kekuatan, sumber daya, dan waktu.

Cobalah prinsip-prinsip ini pada diri Anda sendiri, mereka sangat sederhana, dan karenanya efektif. Kami berharap artikel kami membantu Anda menghemat pengujian tanpa mengurangi kualitas. Dan kami menunggu pertanyaan, ide, saran dan komentar Anda di komentar.

Nina Ageeva
Wakil Direktur di Laboratorium Kualitas.

Source: https://habr.com/ru/post/id440486/


All Articles