Apakah proyek akan naik ke tingkat yang baru? Diperlukan pengujian

Misalkan Anda, pencipta produk, telah mempelajari target audiens, merekrut tim pengembang dan analis yang berpengalaman, mengambil pangsa pasar, pemasar menarik mitra, manajer layanan pelanggan memberi saran secara menyeluruh, Anda secara teratur menjalankan promosi.

Tampaknya Anda memiliki segalanya. Tetapi pembayaran pengguna dan audiens mulai menurun, dan pelanggan mulai menolak produk.

Mungkin ini masalah produksi? Lihatlah ke dalam dan mungkin Anda akan melihat caranya:

  • perbaikan terbaru keluar lebih sering daripada rilis;
  • atau layanan dukungan dibanjiri dengan permintaan dan terus memecah cacat kritis;
  • atau kohort pengguna yang berarti tidak bisa mendapatkan fitur kunci dari layanan ini.

Dan, bahkan setelah mengidentifikasi masalah pada tahap ini, tidak selalu mungkin untuk memahami bagaimana mengatur seluruh proses, karena seringkali setiap elemen rantai secara terpisah melakukan tugasnya dengan baik, dan hasil akhirnya tidak bahagia. Pikir mungkin sudah waktunya untuk menyewa penguji?



***


Setiap anggota tim dapat menguji. Menurut prinsip Agile, kegiatan ini secara resmi dilakukan oleh semua orang, bukan hanya penguji. Analis lebih tahu daripada siapa pun fitur apa yang diharapkan pelanggan dan bagaimana mereka harus bekerja. Tes unit, ulasan kode, pemrograman pasangan dan tes mandiri pengembang reguler memastikan kualitas kode. Tetapi ada kasus ketika pengujian ini menjadi tidak cukup untuk kualitas akhir. Pada saat ini, pengujian independen datang ke "adegan".

Pengujian yang dilakukan oleh kelompok profesional independen disebut independen. Semakin sedikit tim mempengaruhi prosedur dan kesimpulan yang dilakukan oleh penguji, semakin mandiri. B. Beiser dalam pekerjaan "Menguji kotak hitam & raquo; menulis: β€œTujuan pengujian independen adalah untuk melihat produk dari sudut pandang yang berbeda, dan karenanya untuk melakukan tes lain; dengan demikian, pengujian yang lebih fleksibel dilakukan daripada jika hanya pengembang yang menguji. ”
Pengujian profesional dimulai dengan analisis uji dan desain uji:

  • pemilihan set pemeriksaan minimum untuk memastikan jumlah fungsionalitas maksimum;
  • pengaturan urutan pengujian berjalan sesuai dengan kekritisan fungsional dan risiko pelepasan cacat.

Kebutuhan akan pengujian independen profesional muncul dalam kondisi berikut:

1. Pertumbuhan yang cepat


Keberhasilan produk dalam kompetisi adalah peristiwa yang hebat, serta beban tak terduga pada produksi. Pengguna baru, persyaratan baru, perubahan skala besar memaksa tim untuk melakukan lebih banyak tugas dalam waktu yang lebih singkat. Akibatnya, tim tidak punya waktu untuk menguji atau pengujian intuitif (pengujian Ad-hoc ) kehilangan cacat kritis.

Pengujian berkembang secara paralel dengan bidang pengetahuan lain dalam produksi perangkat lunak.

Pendekatan dan metodologi tidak begitu fluktuatif, inovasi terbaru di bidang desain tes diterbitkan pada tahun 2009 oleh James A. Wittaker dalam buku "Exploratory Software Testing" . Sementara itu, alat baru untuk pengujian terus dikembangkan, di antaranya:

  • Alat untuk verifikasi cepat tata letak di berbagai browser dan perangkat, rekonsiliasi dengan tata letak, pemeriksaan ejaan, waktu respons halaman, dll.
  • Alat untuk mengeksekusi, mengarahkan, memodifikasi, mendekode, melacak permintaan API;
  • Alat untuk menyiapkan data uji dan kondisi di aplikasi web, desktop, seluler, api.

Penguji profesional meningkatkan dan mempercepat pengujian dengan bantuan teknik dan alat modern, memberikan perhatian khusus untuk menemukan solusi yang efektif, sementara memungkinkan tim untuk fokus pada memodernisasi proses bisnis.

2. Entropi


Produk perangkat lunak berumur panjang berbicara tentang stabilitas bisnis. Di sisi lain, selama beberapa tahun produk disesuaikan dengan pasar, pelanggan, pengguna, mengakumulasikan berbagai fungsi, termasuk yang secara logis kontradiktif. Statistik portal SDM menunjukkan bahwa tingkat alami pergantian staf di TI adalah 8-10% per tahun, yang berarti bahwa dalam 5 tahun tim pengembangan dapat diperbarui hampir setengahnya. Selama masa pakai produk, tim dapat mengubah arsitek dan pengembang kunci, orang yang mengetahui arsitektur asli dan logika penskalaannya.

Menurut F. Brooks dalam karya   "Mythical Man-Month",sistem apa pun berupaya menghancurkan struktur dan meningkatkan entropi dengan setiap koreksi baru. Seiring waktu, produk memperoleh apa yang disebut kode lama, yang diwarisi dari fungsi yang tidak kompatibel, perbaikan bug cepat, pengembang yang tidak berpengalaman. Namun, di bawah tekanan dari tenggat waktu, tim tidak selalu punya waktu untuk membahas kode dengan uji unit. Dalam kondisi seperti itu, tidak mungkin untuk memprediksi bagian mana dari kode yang akan dipengaruhi oleh koreksi ini atau itu dan cacat mana yang akan menimbulkan.

Penguji profesional tidak hanya memeriksa fitur baru, tetapi juga regresi seluruh sistem. Isi dan metode melakukan pengujian regresi adalah subjek dari fokus yang terpisah.

3. Kustomisasi


Baik ketika suatu produk menerima kelompok pengguna baru, skala ke kota dan negara, spesialisasi fungsi untuk peran yang berbeda, dan beradaptasi dengan masa pakai pengguna dalam sistem. Dari perspektif sistem, ini meningkatkan jumlah fungsionalitas kritis dan cara menggunakannya. Fungsi yang sama dapat digunakan untuk tujuan yang berbeda dan dalam kondisi yang berbeda oleh kohort pengguna. Ada begitu banyak peran dan kondisi dalam sistem rumit yang besar sehingga analis dapat melupakan salah satunya selama pengembangan persyaratan. Bahkan, fitur pembunuh untuk satu peran dapat menjadi cacat pemblokiran untuk peran lain, yang tidak kalah pentingnya.

Pengujian profesional memeriksa penggunaan sistem untuk kepatuhan dengan tujuan pengguna, mengajukan pertanyaan klarifikasi, dan menyesuaikan konten pengujian regresi sesuai dengan prioritas baru dan tugas bisnis sistem. Memperbarui set dan prioritas tes adalah subjek perhatian khusus penguji.

4. Distribusi


Lingkungan TI saat ini menyediakan pilihan tanpa akhir, arsitektur layanan mikro, pusat data cloud, tim proyek terdistribusi. Seluruh produk, dari sudut pandang pengguna, sebenarnya dipecah menjadi aplikasi-mikro, ditulis dalam bahasa pengembangan yang berbeda, ditempatkan di benua yang berbeda, dibuat oleh tim proyek dan perusahaan yang berbeda.

Misalnya, membeli perhiasan kecil di toko online, di satu sisi, adalah tindakan beberapa klik, di sisi lain, memproses dan mentransfer data dalam setidaknya tiga aplikasi - di situs web toko, di gateway pembayaran dan sistem pembayaran. Setiap aplikasi dikembangkan oleh tim proyek dengan tujuan, struktur organisasi, rencana.

Di bawah kondisi ini, kemungkinan hasilnya adalah "peluru beterbangan, masalahnya ada di pihak Anda": ketika masing-masing tim mengembangkan bagiannya sendiri sesuai dengan persyaratan, tetapi bersama-sama mereka tidak menambah fungsi kerja.
Sebelum commissioning, penguji profesional berkonsultasi, mengawasi, mengonfigurasi lingkungan untuk menjalankan pengujian integrasi, dan melakukan pemeriksaan dari perspektif pengguna akhir, dan bukan hanya persyaratan untuk masing-masing komponen.

Dengan demikian, produk yang besar, terkait usia, populer, dan berubah dengan cepat mengharuskan pengujian menjadi jenis kegiatan yang terpisah. Pengujian yang efektif dipersenjatai dengan metodologi, alat, dan tujuan khusus yang berbeda dari tujuan tim lainnya. Tujuan analis adalah untuk mengetahui kebutuhan nyata pelanggan, tujuan pengembang adalah untuk memberikan perubahan yang dipesan secara penuh, tujuan tester adalah untuk menguji keseluruhan sistem, memeriksa pengguna dan menemukan cacat sebagai gantinya.

***


Delegasi pengujian peran terpisah di bawah kendali tim adalah langkah kedua untuk pengujian independen. Penguji dapat disewa pada pengujian mereka sendiri atau outsourcing di organisasi independen.

Dari pengujian outsourcing pada langkah ini, perusahaan menerima:

  • pengujian profesional produk Anda dengan alat yang relevan;
  • personel yang dijamin berkualitas. Outsourcing mengkhususkan diri dalam pemilihan dan pengembangan kompetensi karyawan;
  • kesempatan untuk menggunakan pengujian untuk waktu yang terbatas, untuk menarik jenis pengujian tambahan atau untuk menggantinya;
  • pekerjaan transparan para penguji.

Perusahaan pengujian outsourcing bekerja untuk reputasi: semakin tinggi, semakin baik layanan disediakan. Bagaimana dengan pengujian di perusahaan Anda? Bagikan pengalaman Anda :)

All Articles