Pendahuluan
Selamat siang, warga Khabrovsk. Di sini saya sedang menyelesaikan tugas tes untuk lowongan QA Lead untuk satu perusahaan fintech. Tugas pertama, untuk menyusun rencana pengujian dengan daftar periksa lengkap dan contoh kasus uji untuk memeriksa ketel listrik, diselesaikan dengan sepele:
Tetapi bagian kedua ternyata menjadi pertanyaan: "Apakah ada masalah umum untuk semua penguji yang mengganggu kerja dengan efisiensi yang lebih besar?"
Hal pertama yang muncul di benak saya adalah mendaftar semua masalah yang kurang lebih terlihat yang saya temui selama pengujian, membuang hal-hal kecil, dan menggeneralisasi sisanya. Tetapi dia dengan cepat menyadari bahwa metode induktif akan menjawab pertanyaan yang berhubungan bukan dengan "semua orang", tetapi, paling banter, hanya untuk "mayoritas" penguji. Karena itu, saya memutuskan untuk pendekatan dari sisi lain, deduktif, dan itulah yang terjadi.
Definisi
Hal pertama yang biasanya saya lakukan ketika menyelesaikan tugas baru adalah mencoba memahami apa itu semua, dan untuk ini Anda perlu memahami arti dari kata-kata yang diajukan. Kata kunci yang perlu dipahami adalah sebagai berikut:
- masalahnya
- penguji
- pekerjaan tester
- kinerja tester
Beralih ke wikipedia dan akal sehat:
Masalahnya (dr. Yunani πρόβλημα) dalam arti luas adalah pertanyaan teoretis atau praktis yang rumit yang membutuhkan studi, penyelesaian; dalam sains - situasi yang kontradiktif, bertindak dalam bentuk posisi yang berlawanan dalam penjelasan fenomena, objek, proses, dan membutuhkan teori yang memadai untuk menyelesaikannya; dalam kehidupan, masalahnya dirumuskan dengan cara yang dipahami orang: "Saya tahu apa, saya tidak tahu bagaimana," yaitu, kita tahu apa yang harus diterima, tetapi tidak diketahui bagaimana melakukannya. Berasal dari terlambat lat problēma, dari bahasa Yunani πρόβλημα "dilemparkan ke depan, atur di depan"; dari προβάλλω “lempar ke depan, atur di depan Anda; menyalahkan. "
Tidak ada banyak arti, pada kenyataannya, "masalah" = "apa pun untuk berurusan".
Penguji adalah spesialis (kami tidak akan membagi menjadi beberapa jenis, karena kami tertarik pada semua penguji), yang ikut serta dalam pengujian komponen atau sistem, yang hasilnya adalah:
Pekerjaan tester adalah serangkaian kegiatan yang terkait dengan pengujian.
Efisiensi (lat. Effectivus ) - rasio antara hasil yang dicapai dan sumber daya yang digunakan ( ISO 9000 : 2015).
Hasil adalah konsekuensi dari rantai (urutan) tindakan (total) atau peristiwa yang dinyatakan secara kualitatif atau kuantitatif. Kemungkinan hasil termasuk keuntungan, ketidaknyamanan, keuntungan, kerugian, nilai dan kemenangan.
Seperti "masalah", ada sedikit akal: sesuatu yang muncul sebagai akibat dari pekerjaan.
Sumber Daya - kemampuan yang diukur secara kuantitatif untuk melakukan aktivitas apa pun dari orang atau orang; kondisi yang memungkinkan menggunakan transformasi tertentu untuk mendapatkan hasil yang diinginkan. Penguji adalah seseorang, dan sesuai dengan teori sumber daya vital, setiap orang adalah pemilik empat aset ekonomi:
uang tunai (pendapatan) - sumber daya terbarukan;
energi (vitalitas) - sumber daya yang dapat diperbarui sebagian;
waktu - sumber daya tetap dan fundamental tidak terbarukan;
pengetahuan (informasi) - sumber daya terbarukan, itu adalah bagian dari modal manusia, yang dapat tumbuh dan runtuh [1] .
Saya ingin mencatat bahwa definisi efektivitas dalam kasus kami tidak sepenuhnya benar, karena semakin banyak pengetahuan yang kami gunakan, semakin rendah efisiensinya. Oleh karena itu, saya akan mendefinisikan kembali efisiensi sebagai "rasio antara hasil yang dicapai dan sumber daya yang dikeluarkan". Maka semuanya benar: pengetahuan di tempat kerja tidak disia-siakan, tetapi mengurangi biaya satu-satunya sumber daya yang tidak dapat diperbarui secara fundamental dari tester - waktunya.
Solusi
Jadi, kami mencari masalah global penguji yang memperburuk keefektifan pekerjaan mereka.
Sumber daya paling signifikan yang dihabiskan untuk pekerjaan tester adalah waktunya (sisanya dapat dibawa kepadanya dengan satu atau lain cara), dan agar kita dapat berbicara tentang perhitungan efisiensi yang benar, kita perlu membawa hasilnya ke waktu.
Untuk melakukan ini, pertimbangkan suatu sistem yang kelayakan tester menyediakan dengan pekerjaannya. Sistem semacam itu adalah proyek yang timnya menyertakan tester. Siklus hidup proyek dapat secara kasar diwakili oleh algoritma berikut:
- Bekerja dengan persyaratan
- Pembentukan spesifikasi teknis
- Pengembangan
- Pengujian
- Rilis ke dalam produksi
- Dukungan (goto hal.1)
Selain itu, seluruh proyek dapat dibagi secara rekursif menjadi sub-proyek (fitur), dengan siklus hidup yang sama.
Dari sudut pandang proyek, efektivitas pelaksanaannya adalah semakin besar, semakin sedikit waktu yang dihabiskan untuk itu.
Dengan demikian, kami sampai pada penentuan efektivitas maksimum yang mungkin dari tester dari sudut pandang proyek - ini adalah keadaan proyek ketika waktu untuk pengujian adalah nol. Masalah umum untuk semua penguji adalah ketidakmampuan untuk mencapai waktu ini.
Bagaimana cara menghadapinya?
Kesimpulannya cukup jelas dan telah lama digunakan oleh banyak orang:
- Pengembangan dan pengujian harus dimulai dan diakhiri hampir bersamaan (ini biasanya dilakukan oleh departemen QA ). Opsi yang ideal adalah ketika semua fungsionalitas yang dikembangkan pada saat siap sudah dicakup oleh autotest yang diatur dalam regresi (dan, jika mungkin, pra-komit) pengujian menggunakan beberapa CI .
- Semakin banyak fitur dalam proyek (semakin rumit), semakin banyak waktu yang Anda habiskan untuk memeriksa bahwa fungsionalitas baru tidak merusak yang lama. Oleh karena itu, semakin kompleks proyek, semakin banyak otomatisasi pengujian regresi diperlukan.
- Setiap kali kami melewatkan bug dalam produksi dan pengguna menemukannya, kami harus menghabiskan 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, kami hanya memiliki satu cara untuk mengoptimalkan - setiap bug yang ditemukan oleh pengguna harus dimasukkan dalam pengujian regresi untuk memastikan bahwa bug itu tidak muncul lagi.