Masalah Mendasar Pengujian

pengenalan

Selamat siang warga Khabrovsk. Baru saja saya sedang menyelesaikan tugas tes untuk lowongan QA Lead untuk sebuah perusahaan fintech. Tugas pertama, membuat rencana pengujian dengan daftar periksa lengkap dan contoh kasus pengujian untuk pengujian ketel listrik, dapat diselesaikan dengan mudah:

Namun bagian kedua ternyata menjadi sebuah pertanyaan: “Apakah ada masalah yang umum terjadi pada semua penguji yang menghalangi mereka untuk bekerja lebih efisien?”

Hal pertama yang terlintas dalam pikiran saya adalah membuat daftar semua masalah yang kurang lebih terlihat yang saya temui selama pengujian, menyingkirkan hal-hal kecil, dan merangkum sisanya. Namun saya segera menyadari bahwa metode induktif akan menjawab pertanyaan yang tidak berlaku untuk “semua”, tetapi, paling banter, hanya untuk “mayoritas” penguji. Oleh karena itu, saya memutuskan untuk melakukan pendekatan dari sisi lain, secara deduktif, dan inilah yang terjadi.

Definisi

Hal pertama yang biasanya saya lakukan ketika memecahkan masalah baru adalah mencoba memahami apa masalahnya, dan untuk melakukan ini saya perlu memahami arti kata-kata yang menimbulkan masalah tersebut. Kata kunci yang harus dipahami adalah sebagai berikut:

  • masalah
  • penguji
  • pekerjaan penguji
  • efisiensi penguji

Mari beralih ke Wikipedia dan akal sehat:
Masalah (Yunani kuno πρόβλημα) dalam arti luas - masalah teoretis atau praktis yang kompleks yang memerlukan studi dan penyelesaian; dalam sains - situasi kontradiktif yang muncul dalam bentuk posisi yang berlawanan dalam penjelasan suatu fenomena, objek, proses dan memerlukan teori yang memadai untuk menyelesaikannya; dalam kehidupan, permasalahan dirumuskan dalam bentuk yang dapat dimengerti orang: “Saya tahu apa, saya tidak tahu caranya”, yaitu diketahui apa yang perlu diperoleh, tetapi tidak diketahui bagaimana caranya. . Berasal dari terlambat. lat. masalah, dari bahasa Yunani. πρόβλημα “dilempar ke depan, ditempatkan di depan”; dari προβάλλω “lempar ke depan, letakkan di depan Anda; menyalahkan".

Faktanya, ini tidak masuk akal, “masalah” = “apa pun yang perlu ditangani.”
Penguji - seorang spesialis (kami tidak akan membaginya menjadi beberapa jenis, karena kami tertarik pada semua penguji) yang mengambil bagian dalam pengujian suatu komponen atau sistem, yang hasilnya adalah:
pekerjaan penguji — serangkaian kegiatan yang berkaitan dengan pengujian.
Efisiensi (lat. effectivus) - hubungan antara hasil yang dicapai dan sumber daya yang digunakan (ISO 9000: 2015).
Hasil - akibat dari rangkaian (rangkaian) tindakan (hasil) atau peristiwa, yang dinyatakan secara kualitatif atau kuantitatif. Hasil yang mungkin terjadi meliputi keuntungan, kerugian, keuntungan, kerugian, nilai, dan kemenangan.
Sedangkan “masalah”, tidak ada artinya: sesuatu yang dihasilkan dari usaha.
sumber - kemungkinan yang dapat diukur secara kuantitatif untuk melakukan aktivitas apa pun oleh seseorang atau beberapa orang; kondisi yang memungkinkan penggunaan transformasi tertentu untuk memperoleh hasil yang diinginkan. Pengujinya adalah seseorang, dan sesuai dengan teori sumber daya vital, setiap orang adalah pemilik empat aset ekonomi:
uang tunai (pendapatan) merupakan sumber daya terbarukan;
energi (kekuatan hidup) sebagian merupakan sumber daya terbarukan;
waktu adalah sumber daya yang tetap dan pada dasarnya tidak dapat diperbarui;
Pengetahuan (informasi) merupakan sumber daya terbarukan, merupakan bagian dari sumber daya manusia yang dapat tumbuh dan musnah[1].

Saya ingin mencatat bahwa definisi efisiensi dalam kasus kami tidak sepenuhnya benar, karena semakin banyak pengetahuan yang kami gunakan, semakin rendah efisiensinya. Oleh karena itu, saya akan mendefinisikan ulang efisiensi sebagai “rasio antara hasil yang dicapai dan sumber daya yang dikeluarkan.” Maka semuanya benar: pengetahuan tidak terbuang percuma selama bekerja, namun mengurangi biaya satu-satunya sumber daya yang pada dasarnya tidak dapat diperbarui bagi penguji - waktunya.

keputusan

Jadi, kami mencari masalah global penguji yang mengganggu efektivitas pekerjaan mereka.
Sumber daya paling signifikan yang dihabiskan untuk pekerjaan penguji adalah waktunya (sisanya dapat dikurangi dengan satu atau lain cara), dan agar kita dapat berbicara tentang perhitungan efisiensi yang benar, hasilnya juga harus dikurangi menjadi waktu .
Untuk melakukan ini, pertimbangkan suatu sistem yang kelayakannya dipastikan oleh penguji melalui pekerjaannya. Sistem seperti itu adalah proyek yang timnya mencakup seorang penguji. Siklus hidup proyek secara kasar dapat diwakili oleh algoritma berikut:

  1. Bekerja dengan Persyaratan
  2. Pembentukan spesifikasi teknis
  3. Pembangunan
  4. Pengujian
  5. Rilis ke produksi
  6. Dukungan (buka item 1)

Dalam hal ini, keseluruhan proyek dapat dibagi secara rekursif menjadi subproyek (fitur), dengan siklus hidup yang sama.
Dari sudut pandang proyek, semakin sedikit waktu yang dihabiskan untuk itu, semakin efektif pelaksanaannya.
Jadi, kita sampai pada definisi efisiensi maksimum yang mungkin dari seorang penguji dari sudut pandang proyek - ini adalah keadaan proyek ketika waktu pengujian adalah nol. Masalah umum yang dihadapi semua penguji adalah ketidakmampuan mencapai waktu ini.

Bagaimana menghadapinya?

Kesimpulannya cukup jelas dan telah digunakan oleh banyak orang sejak lama:

  1. Pengembangan dan pengujian harus dimulai dan diakhiri hampir bersamaan (hal ini biasanya dilakukan oleh departemen QA). Pilihan yang ideal adalah ketika semua fungsi yang sedang dikembangkan sudah dicakup oleh pengujian otomatis pada saat siap, disusun dalam pengujian regresi (dan, jika mungkin, pra-komit) menggunakan semacam CI.
  2. Semakin banyak fitur yang dimiliki suatu proyek (semakin kompleks proyek tersebut), semakin banyak waktu yang harus dihabiskan untuk memeriksa apakah fungsi baru tersebut tidak merusak fungsi lama. Oleh karena itu, semakin kompleks suatu proyek, semakin banyak pula otomatisasi yang diperlukan pengujian regresi.
  3. Setiap kali kami melewatkan bug dalam produksi dan pengguna menemukannya, kami harus meluangkan waktu tambahan untuk menjalani siklus hidup proyek mulai dari poin 1 (Bekerja dengan persyaratan, dalam hal ini, pengguna). Karena alasan hilangnya bug umumnya tidak diketahui, kita hanya memiliki satu jalur pengoptimalan - setiap bug yang ditemukan oleh pengguna harus disertakan dalam pengujian regresi untuk memastikan bug tersebut tidak akan muncul lagi.

Sumber: www.habr.com

Tambah komentar