Masalah Asas Pengujian

Pengenalan

Selamat petang, penduduk Khabrovsk. Tadi saya sedang menyelesaikan tugas ujian untuk jawatan kosong QA Lead untuk syarikat fintech. Tugas pertama, untuk membuat rancangan ujian dengan senarai semak lengkap dan contoh kes ujian untuk menguji cerek elektrik, boleh diselesaikan secara remeh:

Tetapi bahagian kedua ternyata menjadi soalan: "Adakah terdapat sebarang masalah biasa kepada semua penguji yang menghalang mereka daripada bekerja dengan lebih cekap?"

Perkara pertama yang terlintas di fikiran ialah menyenaraikan semua masalah yang lebih kurang ketara yang saya hadapi semasa ujian, hapuskan perkara-perkara kecil, dan rumuskan yang lain. Tetapi saya dengan cepat menyedari bahawa kaedah induktif akan menjawab soalan yang tidak terpakai untuk "semua", tetapi, paling baik, hanya untuk "majoriti" penguji. Oleh itu, saya memutuskan untuk mendekatinya dari sisi lain, secara deduktif, dan inilah yang berlaku.

Definisi

Perkara pertama yang biasanya saya lakukan apabila menyelesaikan masalah baru ialah cuba memahami apa itu semua, dan untuk melakukan ini saya perlu memahami maksud perkataan yang menimbulkannya. Kata kunci yang perlu difahami adalah seperti berikut:

  • masalah
  • penguji
  • kerja penguji
  • kecekapan penguji

Mari beralih kepada Wikipedia dan akal sehat:
Masalah (Yunani kuno Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ±) dalam erti kata yang luas - isu teori atau praktikal yang kompleks yang memerlukan kajian dan penyelesaian; dalam sains - keadaan bercanggah yang muncul dalam bentuk kedudukan yang bertentangan dalam penjelasan sebarang fenomena, objek, proses dan memerlukan teori yang mencukupi untuk menyelesaikannya; dalam kehidupan, masalah itu dirumuskan dalam bentuk yang boleh difahami oleh orang ramai: "Saya tahu apa, saya tidak tahu bagaimana," iaitu, diketahui apa yang perlu diperoleh, tetapi tidak diketahui bagaimana melakukannya. . Datang dari lewat. lat. masalah, daripada bahasa Yunani. Ο€ΟΟŒΞ²Ξ»Ξ·ΞΌΞ± "dilempar ke hadapan, diletakkan di hadapan"; daripada προβάλλω β€œlempar ke hadapan, letakkan di hadapan anda; menyalahkan".

Ia tidak masuk akal, sebenarnya, "masalah" = "apa-apa sahaja yang perlu ditangani."
Penguji - pakar (kami tidak akan membahagikan kepada jenis, kerana kami berminat dengan semua penguji) yang mengambil bahagian dalam menguji komponen atau sistem, hasilnya ialah:
Kerja penguji β€” satu set aktiviti yang berkaitan dengan ujian.
Kecekapan (lat. effectivus) - hubungan antara hasil yang dicapai dan sumber yang digunakan (ISO 9000: 2015).
Hasilnya - akibat daripada rantaian (siri) tindakan (hasil) atau peristiwa, dinyatakan secara kualitatif atau kuantitatif. Hasil yang mungkin termasuk kelebihan, keburukan, keuntungan, kerugian, nilai, dan kemenangan.
Seperti "masalah", terdapat sedikit makna: sesuatu yang keluar sebagai hasil kerja.
sumber - kemungkinan boleh diukur secara kuantitatif untuk melakukan apa-apa aktiviti seseorang atau orang; keadaan yang membolehkan menggunakan transformasi tertentu untuk mendapatkan hasil yang diinginkan. Penguji adalah seseorang, dan mengikut teori sumber penting, setiap orang adalah pemilik empat aset ekonomi:
tunai (pendapatan) ialah sumber yang boleh diperbaharui;
tenaga (daya hayat) ialah sumber yang boleh diperbaharui sebahagiannya;
masa adalah sumber tetap dan pada asasnya tidak boleh diperbaharui;
pengetahuan (maklumat) adalah sumber yang boleh diperbaharui, ia adalah sebahagian daripada modal insan yang boleh berkembang dan musnah[1].

Saya ingin ambil perhatian bahawa definisi kecekapan dalam kes kami tidak betul sepenuhnya, kerana lebih banyak pengetahuan yang kami gunakan, semakin rendah kecekapan. Oleh itu, saya akan mentakrifkan semula kecekapan sebagai "nisbah antara hasil yang dicapai dan sumber yang dibelanjakan." Kemudian semuanya betul: pengetahuan tidak dibazirkan semasa bekerja, tetapi ia mengurangkan kos satu-satunya sumber penguji yang tidak boleh diperbaharui - masanya.

keputusan

Jadi, kami sedang mencari masalah global penguji yang menjejaskan keberkesanan kerja mereka.
Sumber yang paling penting yang dibelanjakan untuk kerja penguji ialah masanya (selebihnya boleh dikurangkan kepadanya satu cara atau yang lain), dan untuk kita bercakap tentang pengiraan kecekapan yang betul, hasilnya juga mesti dikurangkan kepada masa. .
Untuk melakukan ini, pertimbangkan sistem yang daya majunya dipastikan oleh penguji melalui kerjanya. Sistem sedemikian ialah projek yang pasukannya termasuk penguji. Kitaran hayat projek boleh diwakili secara kasar oleh algoritma berikut:

  1. Bekerja dengan Keperluan
  2. Pembentukan spesifikasi teknikal
  3. Pembangunan
  4. Ujian
  5. Keluarkan ke dalam pengeluaran
  6. Sokongan (goto item 1)

Dalam kes ini, keseluruhan projek boleh dibahagikan secara rekursif kepada subprojek (ciri), dengan kitaran hayat yang sama.
Dari sudut pandangan projek, semakin sedikit masa yang dihabiskan untuknya, semakin berkesan pelaksanaannya.
Oleh itu, kami sampai kepada takrifan kecekapan maksimum yang mungkin bagi penguji dari sudut pandangan projek - ini adalah keadaan projek apabila masa untuk ujian adalah sifar. Masalah biasa untuk semua penguji ialah ketidakupayaan untuk mencapai masa ini.

Bagaimana untuk menangani perkara ini?

Kesimpulannya agak jelas dan telah digunakan oleh ramai untuk masa yang lama:

  1. Pembangunan dan ujian harus bermula dan berakhir hampir serentak (ini biasanya dilakukan oleh jabatan QA). Pilihan yang ideal ialah apabila semua fungsi yang dibangunkan telah dilindungi oleh autotest pada masa ia sedia, disusun ke dalam regresi (dan, jika boleh, prakomit) ujian menggunakan beberapa jenis CI.
  2. Lebih banyak ciri yang ada pada sesuatu projek (semakin kompleksnya), lebih banyak masa yang perlu diluangkan untuk menyemak bahawa fungsi baharu itu tidak memecahkan fungsi lama. Oleh itu, lebih kompleks projek, lebih banyak automasi diperlukan ujian regresi.
  3. Setiap kali kami terlepas pepijat dalam pengeluaran dan pengguna menemuinya, kami perlu meluangkan masa tambahan melalui kitaran hayat projek bermula dari titik 1 (Bekerja dengan keperluan, dalam kes ini, pengguna). Memandangkan sebab kehilangan pepijat umumnya tidak diketahui, kami hanya tinggal satu laluan pengoptimuman - setiap pepijat yang ditemui oleh pengguna mesti disertakan dalam ujian regresi untuk memastikan ia tidak akan muncul lagi.

Sumber: www.habr.com

Tambah komen