Formulir rekrutmen kasus uji adalah kumpulan skenario yang dipakai untuk memastikan pengajuan lamaran bekerja pada semua keadaan, bukan hanya pada keadaan yang paling mulus. Formulir seperti ini lebih panjang daripada formulir biasa dan biasanya dibagi menjadi beberapa langkah, sehingga bagian yang paling rawan justru berada di persimpangan antar langkah. Halaman ini menjelaskan alasan pembagian langkah, cabang yang paling sering luput, perubahan bagian wajib, serta sisi pengiriman dan pemulihan draf.
Mengapa formulir lamaran dibagi menjadi beberapa langkah?
Pembagian menjadi beberapa langkah muncul karena isi formulir lamaran memang panjang dan berjenis-jenis. Data pribadi, riwayat pekerjaan, riwayat pendidikan, keterampilan, berkas lampiran, dan pernyataan persetujuan adalah kumpulan informasi yang berbeda sifat, dan menampilkannya sekaligus membuat halaman sulit dibaca serta rawan kehilangan isian ketika terjadi gangguan.
Pembagian itu juga membuka kemungkinan menyimpan setiap langkah secara terpisah, sehingga pengguna bisa berhenti di tengah jalan dan melanjutkan kemudian. Kemampuan itu sangat berharga, tetapi sekaligus menambah jumlah keadaan yang harus diuji. Setiap langkah kini punya keadaan tersendiri: belum diisi, terisi sebagian, tersimpan sebagai draf, dan terkirim.
Yang perlu diingat adalah bahwa pembagian langkah bukan sekadar soal tata letak. Ia menciptakan aturan baru mengenai kapan sebuah langkah dianggap selesai dan kapan pengguna boleh berpindah. Aturan itulah yang paling sering tidak teruji.
Cabang mana yang paling sering terlewat saat pengujian?
Cabang yang paling sering terlewat adalah cabang yang berada di antara keadaan ekstrem, bukan pada keadaan ekstremnya sendiri. Daftar berikut merangkum cabang yang paling sering luput di banyak tim.
- Pengguna yang hanya punya satu entri pengalaman, sehingga setiap logika yang mengasumsikan setidaknya ada dua entri gagal.
- Pengguna yang belum pernah bekerja sama sekali, sehingga bagian riwayat pekerjaan dilewati sepenuhnya.
- Pendidikan yang tidak lengkap atau digantikan jalur lain, sehingga bidang yang dianggap wajib ternyata kosong.
- Pelamar dari negara lain, yang menyebabkan himpunan bidang wajibnya berbeda.
- Pengguna yang kembali ke langkah sebelumnya, mengubah jawaban, lalu melangkah maju lagi.
- Pengguna yang melompat maju sebelum langkah saat ini selesai.
- Pengiriman ganda karena tombol ditekan dua kali atau jaringan terputus di tengah proses.
Setiap cabang itu mengubah percabangan aturan, sehingga pengujian yang hanya memakai satu catatan lengkap tidak akan pernah menyentuhnya.
Mengapa bagian wajib bisa berubah mengikuti jawaban?
Pada formulir berlangkah, sebuah bidang menjadi wajib atau tidak sering bergantung pada jawaban sebelumnya. Bila pengguna menyatakan pernah bekerja, maka nama perusahaan dan rentang waktu menjadi wajib. Bila ia menyatakan belum pernah bekerja, bidang-bidang itu justru harus tidak wajib. Aturan semacam itu membuat jumlah kombinasi tumbuh jauh lebih cepat daripada jumlah bidangnya.
Cara pengujian yang paling praktis adalah menyusun kasus berdasarkan aturan, bukan berdasarkan banyaknya bidang. Setiap aturan diwakili satu kasus yang menyatakan kondisinya, jawaban yang diberikan, dan hasil yang diharapkan. Dengan cara ini, menambah satu bidang di kemudian hari tidak memaksa tim menulis ulang seluruh daftar kasus.
Perlu juga diuji bagaimana kesalahan ditampilkan. Bila bidang yang seharusnya wajib ternyata tidak diwajibkan, kesalahannya baru terlihat setelah pengguna mencapai langkah berikutnya. Pesan kesalahan sebaiknya menyebutkan bidang yang perlu diperbaiki, dan bukan sekadar menyatakan bahwa pengajuan gagal.
Bagaimana menguji urutan waktu antara pekerjaan dan pendidikan?
Hubungan antara pendidikan dan pekerjaan adalah pasangan waktu yang paling sering diuji pada formulir lamaran, karena keduanya berada di langkah yang berbeda. Kesalahan di sini sulit ditemukan apabila setiap langkah hanya diuji sendiri-sendiri tanpa memperhatikan langkah sesudahnya.
Beberapa keadaan yang perlu masuk daftar kasus adalah sebagai berikut.
| Keadaan | Yang diharapkan terjadi |
|---|---|
| Kelulusan setelah pekerjaan pertama | Peringatan atau penolakan dengan penunjuk bidang |
| Kelulusan di masa depan | Peringatan karena tidak masuk akal |
| Dua jenjang pendidikan bertabrakan | Peringatan pada pasangan entri yang bermasalah |
| Rentang pekerjaan saling bertindih | Penandaan untuk ditinjau, bukan penolakan otomatis |
| Entri yang masih berjalan tanpa akhir | Diterima sebagai keadaan yang sah |
Aturan linimasa yang dipakai di sini sama dengan aturan pada catatan karier pada umumnya, yang diuraikan lebih rinci pada aturan linimasa riwayat karier.
Pengiriman ganda dan pemulihan draf
Sisi pengiriman sering dianggap selesai begitu tombol berfungsi, padahal bagian inilah yang paling banyak menimbulkan keluhan. Pengiriman yang dilakukan dua kali bisa menghasilkan dua pengajuan, dan itu bukan kesalahan pengguna semata, melainkan tanda bahwa sistem tidak tahan terhadap pengulangan.
Beberapa hal yang perlu dipastikan adalah sebagai berikut: pengiriman yang sama tidak menghasilkan dua catatan, draf bisa dipulihkan setelah halaman dimuat ulang, ukuran dan jenis berkas lampiran diperiksa sebelum pengiriman dimulai, serta status setelah pengiriman ditampilkan dengan jelas sesuai keadaan sebenarnya. Status yang salah lebih berbahaya daripada status yang tidak ada, karena pengguna akan mengulang pengiriman.
Pemulihan draf punya satu jebakan: draf lama bisa memuat aturan validasi yang sudah tidak berlaku. Ketika pengguna membuka kembali draf yang dibuat beberapa waktu sebelumnya, sistem perlu memutuskan aturan mana yang dipakai. Keputusan itu harus disengaja dan diuji, bukan dibiarkan sebagai efek samping.
Untuk pengembang: matriks kasus dan penelusuran kesalahan
Susun kasus dalam bentuk matriks dua arah. Satu arah berisi keadaan pengguna, misalnya tanpa pengalaman, satu pengalaman, dan banyak pengalaman. Arah lain berisi keadaan alur, misalnya melompat langkah, kembali ke langkah sebelumnya, dan mengirim dua kali. Matriks semacam itu memperlihatkan lubang cakupan jauh lebih cepat daripada daftar kasus yang panjang dan datar.
Untuk penelusuran kesalahan, setiap langkah sebaiknya menyimpan penanda tahap yang bisa dibaca dari luar. Ketika sebuah pengajuan gagal, tim bisa mengetahui langkah mana yang terakhir berhasil tanpa harus menebak dari gejalanya. Penanda seperti ini jauh lebih murah daripada menelusuri ulang seluruh alur.
Perhatikan juga pemisahan antara kesalahan yang bisa diperbaiki pengguna dan kesalahan sistem. Keduanya harus menghasilkan pesan yang berbeda dan tercatat berbeda. Mencampur keduanya membuat tim mengejar masalah yang sebenarnya bukan masalah. Kaitan antara data masukan dan hasil penguraian berkas dibahas pada analisis resume.
Terakhir, simpan data uji formulir dalam bentuk yang bisa dipakai berulang. Catatan yang dibuat dengan kunci tetap jauh lebih berguna di sini, karena kegagalan bisa dijalankan ulang pada keadaan yang persis sama.
Langkah berikutnya
Ambil satu alur pengajuan yang sudah berjalan, lalu telusuri hanya cabang yang paling jarang dicoba, yaitu pengguna tanpa pengalaman kerja. Sesudah itu, buka generator CV dan data pekerjaan dan susun dua catatan dengan kunci tetap, satu untuk pelamar berpengalaman dan satu untuk pelamar baru, agar perbedaan perlakuan antara keduanya bisa dibandingkan langsung. Bila Anda ingin menjaga catatan itu tetap konsisten dengan data uji lain, konsistensi bidang pada data uji menjelaskan caranya.
Seluruh isi yang diisi pada contoh kasus di halaman ini hanyalah teks pengisi buatan, sehingga tidak boleh ada keterangan calon pelamar sungguhan yang dimasukkan ke dalamnya. Semuanya disusun secara algoritmik untuk pengujian perangkat lunak, demo formulir, dan pengisian data.