Menu

Memilih negara untuk data uji: tiga sumbu dan set bawaan

Kumpulan negara untuk data uji sebaiknya dipilih dengan alasan yang bisa dipertanggungjawabkan, bukan sekadar mengikuti kebiasaan tim. Artikel ini membahas tiga sumbu pemilihan dan susunan set bawaan.

Diterbitkan

  • data uji
  • negara
  • cakupan

Memilih negara untuk data uji adalah keputusan desain yang sering diambil diam-diam: seseorang menambahkan satu negara karena sedang menangani satu tiket, dan setahun kemudian tidak ada yang tahu mengapa negara itu ada di daftar. Padahal komposisi kumpulan negara menentukan jenis kesalahan apa yang bisa ditemukan sebelum pengguna menemukannya sendiri.

Halaman ini membahas tiga sumbu yang layak dipakai saat memilih, susunan set bawaan yang biasanya cukup untuk sebagian besar tim, dan alasan mengapa kumpulan itu perlu diberi versi sejak awal.

Mengapa pemilihan negara tidak boleh dilakukan sembarangan?

Kumpulan negara yang tersusun kebetulan hampir selalu miring ke satu arah. Negara asal tim biasanya kebagian paling banyak perhatian, sementara kondisi yang justru merusak tata letak dan pemeriksaan kolom, seperti nama wilayah yang panjang atau aksara non-Latin, tidak pernah muncul di dalam pengujian. Aplikasi tampak sehat sampai ada pengguna dari negara yang tidak pernah diikutkan.

Biayanya juga tidak berhenti di berkas uji. Setiap negara membawa beban perawatan: daftar wilayah yang perlu diperbarui, terjemahan label yang perlu ditinjau, dan ekspektasi yang tertulis di dalam pernyataan uji. Menambah negara tanpa alasan berarti menambah beban itu tanpa menambah daya tembak.

Karena itu setiap negara di dalam kumpulan sebaiknya bisa menjawab satu pertanyaan sederhana: kegagalan seperti apa yang tertangkap karena negara ini ada? Bila jawabannya tidak jelas, negara itu kandidat untuk dikeluarkan pada peninjauan berikutnya.

Tiga sumbu pemilihan: keterjangkauan, tingkat kesulitan data, nilai batas

Tiga sumbu berikut menjawab pertanyaan yang berbeda, dan sebuah negara bisa menonjol di satu sumbu sementara lemah di sumbu lain.

Sumbu Pertanyaan yang dijawab Alasan khas memasukkan sebuah negara
Keterjangkauan bisnis Apakah negara ini bisa dilayani? Metode pembayaran, jangkauan pengiriman, bahasa penyelesaian, dan perbedaan aturan pajak
Tingkat kesulitan data Seberapa sulit data negara ini ditangani? Aksara non-Latin, arah penulisan, panjang baris alamat
Nilai batas Apakah negara ini menekan batas sistem? Wilayah sangat kecil, negara sangat besar, atau negara yang tidak punya sistem kode pos

Sumbu pertama bersifat bisnis, sumbu kedua bersifat teknis, dan sumbu ketiga bersifat pengujian. Ketiganya diperlukan karena jawabannya tidak bisa saling menggantikan: negara yang paling menguntungkan secara bisnis belum tentu menekan batas panjang kolom.

Mencampur ketiga sumbu menjadi satu peringkat akan menghasilkan daftar yang sulit dibela. Lebih baik menandai setiap negara dengan sumbu mana yang diwakilinya, sehingga saat anggaran pengujian dipotong, keputusan memotongnya bisa diambil berdasarkan fungsi, bukan berdasarkan selera.

Seperti apa negara yang layak jadi sampel batas

Sampel batas bukan negara yang aneh, melainkan negara yang memaksa sistem mengeluarkan jawaban pada kondisi ekstrem. Tiga kondisi yang paling sering terbukti berguna adalah baris alamat terpanjang, nama negara terpanjang, dan nama kota terpanjang. Ketiganya menguji pemotongan teks, lebar label, dan penyimpanan yang lebih pendek dari isinya.

Selain panjang, ada nilai batas yang bersifat struktural: ada negara yang tidak memiliki tingkat wilayah di atas kota, dan ada negara yang tidak memiliki sistem kode pos sama sekali. Negara seperti ini bukan kasus langka yang bisa diabaikan; justru merekalah yang menguji apakah model data Anda mengizinkan sebuah kolom untuk tidak berlaku.

Cara termurah memakai sampel batas adalah menambatkannya pada satu pernyataan uji yang spesifik. Daripada menulis harapan umum bahwa alamat harus tersimpan, tulis harapan bahwa alamat dengan baris terpanjang tetap tersimpan utuh dan tetap dapat dicetak pada label sempit.

Bagaimana menguji negara tanpa kode pos atau tanpa tingkat wilayah?

Jawabannya adalah memisahkan kewajiban pengisian dari keberlakuan kolom. Sebuah kolom bisa wajib berlaku di sebagian negara dan memang tidak berlaku di negara lain, dan sistem perlu menyatakan perbedaan itu secara eksplisit.

Bila formulir mewajibkan kode pos untuk semua negara, penguji akan mengisi nilai karangan agar bisa lanjut ke langkah berikutnya. Pernyataan uji pun lulus, padahal yang diuji adalah data palsu buatan penguji sendiri. Kegagalan yang sebenarnya, yaitu penolakan terhadap data yang sah, tidak pernah terlihat.

Perlakuan yang sama berlaku untuk tingkat wilayah. Menyediakan nilai kosong yang jelas lebih baik daripada memaksa pengguna memilih nilai yang salah hanya demi memenuhi kolom bertanda wajib. Bagaimana bentuk kode pos berbeda antarnegara dibahas tersendiri di panduan format kode pos per negara, sedangkan halaman ini hanya membahas mengapa negara seperti itu perlu ada di dalam kumpulan.

Susunan set bawaan

Sebagian besar tim cukup puas dengan tiga kelas negara, dan ketiganya punya tugas berbeda.

  • Negara asal, tempat tim bekerja sehari-hari: menangkap kesalahan yang muncul paling cepat dan paling sering.
  • Negara pasar utama: menangkap perbedaan aturan pajak, mata uang, dan alur pembayaran yang tidak terlihat dari dalam negeri.
  • Sejumlah kecil nilai batas: menangkap pemotongan teks, aksara non-Latin, dan kolom yang tidak berlaku.

Kelas ketiga yang paling sering dipotong saat jadwal mendesak, dan justru kelas itulah yang mahal untuk ditambahkan kembali di kemudian hari. Kesalahan pemotongan biasanya baru ketahuan dari keluhan pengguna, bukan dari pengujian internal.

Setelah kelasnya disepakati, kumpulan itu perlu diberi identitas versi. Tanpa versi, hasil regresi hari ini tidak bisa dibandingkan dengan hasil bulan lalu, karena tidak ada yang tahu negara mana yang sudah masuk atau keluar dari kumpulan.

Catatan untuk pengembang: jadikan kumpulan negara sebagai aset berversi

Simpan kumpulan negara sebagai satu berkas acuan yang bernama dan berversi, bukan sebagai daftar yang tersebar di banyak berkas uji. Setiap entri sebaiknya membawa alasan singkat, tanggal penambahannya, dan tautan ke tiket yang memicunya, sehingga penghapusan bisa dinilai dengan bukti yang sama.

Perlakukan perubahan kumpulan seperti perubahan kontrak: tambahkan negara baru lewat peninjauan, dan catat pengaruhnya pada pernyataan uji yang sudah ada. Saat kumpulan berubah, tanyakan juga apakah data lama perlu dikarantina, karena hal ini bersinggungan dengan pengelolaan kesegaran data negara.

Terakhir, jangan pernah mengisi kumpulan dengan data pribadi yang nyata. Data uji yang bagus selalu dapat dikenali sebagai data uji oleh orang yang membacanya.

Satu hal yang mudah terlupakan: kumpulan negara bukan hanya daftar masukan, tetapi juga daftar harapan. Setiap kali kelas baru ditambahkan, daftar cakupan data per negara perlu diperbarui, supaya tidak ada negara yang masuk tanpa ada yang tahu kolom mana yang sudah terisi untuknya.

Semua nama negara, kelas, dan contoh nilai yang muncul di halaman ini adalah data sintetis yang dibuat untuk keperluan demonstrasi perangkat lunak, bukan gambaran kumpulan negara yang sesungguhnya dipakai organisasi mana pun, dan tidak boleh dipakai sebagai dasar klaim cakupan.

Langkah berikutnya

Buka direktori negara dan wilayah, pilih beberapa negara yang belum pernah Anda uji, lalu periksa apakah formulir dan basis data Anda menerima datanya tanpa penyesuaian manual. Sebagai titik awal yang cepat, halaman negara Amerika Serikat memperlihatkan bentuk data yang dipakai untuk alur pengisian di sana.

Lanjut membaca

Artikel tentang Format alamat dan identitas per negara