Apa itu Pengujian Berdasarkan Data?
โก Ringkasan Cerdas
Pengujian Berbasis Data (Data Driven Testing) adalah metode pengujian perangkat lunak yang menyimpan data pengujian dalam tabel atau spreadsheet sehingga satu skrip dapat memvalidasi banyak kombinasi input. Metode ini memisahkan logika pengujian dari data, mengurangi duplikasi skrip dan upaya pemeliharaan.
Pengujian Berdasarkan Data
Pengujian Berdasarkan Data adalah metode pengujian perangkat lunak di mana data pengujian disimpan dalam format tabel atau spreadsheet. Pengujian berbasis data memungkinkan penguji memasukkan satu skrip pengujian yang dapat menjalankan pengujian untuk semua data pengujian dari sebuah tabel dan mengharapkan keluaran pengujian dalam tabel yang sama. Ini juga disebut pengujian berbasis tabel atau pengujian berparameter.
Kerangka Berbasis Data
Kerangka Berbasis Data adalah kerangka kerja pengujian otomatisasi di mana nilai input dibaca dari file data dan disimpan ke dalam variabel dalam skrip pengujian. Ini memungkinkan penguji untuk membangun kasus uji positif dan negatif ke dalam satu pengujian. Data input dalam kerangka kerja berbasis data dapat disimpan dalam satu atau beberapa sumber data seperti .xls, .xml, .csv, dan basis data. Diagram di bawah ini menunjukkan bagaimana nilai input mengalir dari file data ke dalam skrip pengujian.
Mengapa Pengujian Berbasis Data?
Pengujian Berdasarkan Data Hal ini penting karena penguji sering kali memiliki beberapa set data untuk satu pengujian, dan membuat pengujian individual untuk setiap set data dapat memakan waktu. Pengujian berbasis data membantu menjaga data tetap terpisah dari skrip pengujian, dan skrip pengujian yang sama dapat dijalankan untuk berbagai kombinasi data input pengujian sementara hasil pengujian dihasilkan secara efisien.
Contoh:
Misalkan kita ingin menguji sistem login dengan banyak kolom input terhadap 1000 set data yang berbeda.
Untuk menguji hal ini, Anda dapat menggunakan beberapa pendekatan berbeda berikut:
Pendekatan 1) Buat 1000 skrip, satu untuk setiap dataset, dan jalankan setiap pengujian secara terpisah satu per satu.
Pendekatan 2) Ubah nilai dalam skrip pengujian secara manual dan jalankan beberapa kali.
Pendekatan 3) Impor data dari lembar Excel. Ambil data uji dari baris Excel satu per satu dan jalankan skrip.
Di antara tiga skenario yang diberikan, dua skenario pertama melelahkan dan memakan waktu. Oleh karena itu, pendekatan ketiga adalah yang paling ideal.
Dengan demikian, pendekatan ketiga tidak lain hanyalah kerangka kerja Berbasis Data.
Jenis-Jenis Data Uji dalam Pengujian Berbasis Data
Nilai dari pengujian berbasis data bergantung langsung pada kualitas kumpulan data yang Anda masukkan ke dalam skrip pengujian Anda. File data yang dirancang dengan baik menggabungkan beberapa kategori data pengujian sehingga satu skrip dapat memvalidasi perilaku normal, penanganan kesalahan, dan batasan dalam satu kali proses:
- Data positif (valid): Input yang benar, seperti nama pengguna dan kata sandi yang valid, digunakan untuk memastikan bahwa aplikasi menerima apa yang seharusnya diterima.
- Data negatif (tidak valid): Input yang salah atau tidak valid yang harus ditolak, seperti kata sandi yang salah atau karakter khusus dalam kolom angka.
- Data batas: Nilai-nilai di batas rentang yang diizinkan, seperti nama pengguna 1 karakter atau 255 karakter, yang sering kali mengungkap cacat tersembunyi.
- Data kosong atau nol: Kolom kosong yang memverifikasi validasi kolom wajib dan pesan kesalahan.
- Data bervolume besar: Data yang dihasilkan secara massal atau acak digunakan untuk memeriksa kinerja dan stabilitas di bawah beban realistis.
Setelah data yang tepat disiapkan, langkah selanjutnya adalah membangun kerangka kerja itu sendiri.
Cara membuat Kerangka Otomatisasi Berbasis Data
Bayangkan Anda ingin menguji fungsionalitas login suatu aplikasi. Diagram alur di atas menunjukkan siklus lengkapnya: mengidentifikasi kasus uji, menulis skrip uji umum, memindahkan data ke file eksternal, dan menjalankan skrip secara berulang pada setiap baris data.
Langkah 1) Identifikasi Kasus Uji
- Masukkan nama pengguna dan kata sandi yang benar โ Login Berhasil
- Masukkan nama pengguna dan kata sandi yang salah โ Gagal Login
- Masukkan nama pengguna yang benar dan kata sandi yang salah โ Gagal Login
Langkah 2) Buat Langkah-langkah pengujian terperinci untuk 3 Kasus Uji di atas
| Kasus cobaan# | Deskripsi | Langkah-Langkah Tes | Data Uji | Hasil yang diharapkan |
|---|---|---|---|---|
| 1 | Periksa Login untuk kredensial yang valid |
|
Nama pengguna: kata sandi yang valid: valid | Login Berhasil |
| 2 | Periksa Login untuk kredensial yang tidak valid |
|
Nama pengguna: kata sandi tidak valid: valid | Gagal masuk |
| 3 | Periksa Login untuk kredensial yang tidak valid |
|
Nama pengguna: kata sandi yang valid: tidak valid | Gagal masuk |
Langkah 3) Buat Skrip Tes
Jika Anda perhatikan, langkah-langkah pengujian tetap sama di ketiga kasus uji tersebut. Anda perlu membuat skrip pengujian untuk menjalankan langkah-langkah ini:
// This is Pseudo Code
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");
// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");
// Test Step 4: Check Results
If (Next Screen) print success else Fail
Langkah 4) Buat file Excel/CSV dengan data uji masukan, seperti yang ditunjukkan pada contoh lembar kerja di bawah ini.
Langkah 5) Ubah skrip agar melakukan perulangan pada data uji masukan. Perintah masukan juga harus diparameterisasi.
// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
// Read data from Excel and store into variables
int input_1 = ReadExcel(i, 0);
int input_2 = ReadExcel(i, 1);
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys(input_1);
// Test Step 3: Enter Password
txtbox_password.sendKeys(input_2);
// Test Step 4: Check Results
If(Next Screen) print success
else Fail
}
Di atas hanya ada 3 kasus pengujian. Skrip pengujian dapat digunakan untuk mengulang kasus pengujian berikut hanya dengan menambahkan nilai data pengujian ke Excel
- Masukkan nama pengguna dan kata sandi salah โ Login Gagal
- Masukkan nama pengguna dan kata sandi yang benar kosong โ Login Gagal
- Masukkan nama pengguna kosong dan kata sandi kosongโ Login Gagal
Dan sebagainya
๐ก Kiat Pro: Simpan hasil yang diharapkan untuk setiap baris dalam file data yang sama dengan input. Skrip Anda kemudian dapat membandingkan hasil aktual dan yang diharapkan secara otomatis, mengubah file data menjadi rangkaian pengujian lengkap yang dapat diverifikasi sendiri.
Setelah kerangka kerja Anda siap, alat yang tepat akan menyederhanakan manajemen data, eksekusi, dan pelaporan.
Alat Pengujian Berbasis Data Terbaik
1) Tes sigma
Tes sigma adalah platform pengujian berbasis data yang didukung cloud yang menurut saya sangat berharga untuk memaksimalkan cakupan pengujian dengan memisahkan logika pengujian dari data pengujian. Platform ini dirancang khusus untuk tim yang perlu memvalidasi aplikasi terhadap beragam dataset, kasus ekstrem, dan skenario bisnis tanpa membuat skrip pengujian yang berlebihan, sehingga menyederhanakan seluruh alur kerja pengujian berbasis data.
Selama proyek pengujian berbasis data saya, saya memanfaatkan kemampuan parameterisasi Testsigma untuk menjalankan skenario pengujian identik terhadap berbagai kombinasi data dari sumber eksternal seperti file Excel dan CSV. Kemampuan platform untuk mengulang baris data secara otomatis memperluas cakupan pengujian saya secara signifikan, sementara pelaporan terperinci tentang hasil tingkat data membantu saya dengan cepat mengidentifikasi kombinasi input spesifik mana yang memicu kegagalan di seluruh lapisan web, seluler, dan API.
Fitur:
- Integrasi Sumber Data Eksternal: Fitur ini memungkinkan koneksi langsung ke spreadsheet Excel, file CSV, dan tabel basis data untuk manajemen data pengujian terpusat. Ini menghilangkan nilai yang dikodekan secara langsung dan memungkinkan Anda untuk memelihara data pengujian secara independen dari logika pengujian. Anda dapat memperbarui kumpulan data tanpa memodifikasi skrip pengujian, memastikan fleksibilitas dan kemudahan pemeliharaan. Saya menggunakan ini untuk mengelola ratusan variasi data secara efisien sambil tetap menjagaping Skenario pengujian yang bersih dan dapat digunakan kembali.
- Iterasi Data Multi-Baris Otomatis: Testsigma secara otomatis mengeksekusi skenario pengujian di berbagai baris data dalam satu kali eksekusi pengujian, sehingga secara dramatis memperluas cakupan pengujian. Anda dapat memvalidasi berbagai kombinasi input, kondisi batas, dan variasi aturan bisnis tanpa menduplikasi kasus uji. Fitur ini menangani pengurutan data dan logika iterasi secara transparan. Saya menemukan fitur ini sangat efektif untuk pengujian regresi komprehensif dengan biaya pemeliharaan skrip minimal.
- Parameterisasi Langkah Pengujian Dinamis: Fitur ini memungkinkan Anda mengganti nilai statis dengan parameter dinamis yang mengambil data dari sumber eksternal selama eksekusi. Anda dapat mengkonfigurasi langkah-langkah pengujian agar beradaptasi dengan berbagai input, kondisi, dan hasil yang diharapkan berdasarkan nilai dataset. Fitur ini mendukung transformasi data yang kompleks dan logika kondisional. Saya mengandalkan fitur ini untuk membangun skenario pengujian yang fleksibel yang mengakomodasi beragam kebutuhan bisnis dan alur kerja pengguna.
- Pelaporan Eksekusi Tingkat Data: Platform ini menghasilkan laporan terperinci yang memecah hasil pengujian berdasarkan kombinasi data individual, menunjukkan dengan tepat input mana yang berhasil atau gagal. Anda dapat menganalisis pola, mengidentifikasi rentang data yang bermasalah, dan tracFitur ini menyediakan dasbor visual dan analitik yang dapat diekspor untuk komunikasi dengan pemangku kepentingan. Saya merekomendasikan penggunaan wawasan ini untuk memprioritaskan peningkatan kualitas data dan menyempurnakan strategi data pengujian.
- Dukungan Lintas Platform Berbasis Data: Testsigma memperluas kemampuan berbasis data di seluruh pengujian web, seluler, dan API dalam alur kerja terpadu. Anda dapat menerapkan kumpulan data yang sama untuk memvalidasi konsistensi di berbagai lapisan aplikasi dan teknologi. Fitur ini memastikan validasi ujung-ke-ujung yang komprehensif dengan alur data berparameter. Saya telah menggunakannya untuk memverifikasi bahwa pemrosesan data backend tercermin dengan benar di antarmuka frontend di berbagai platform secara bersamaan.
Kelebihan
Kekurangan
Harga:
- Harga: Penetapan harga khusus dengan kemampuan pengujian berbasis data termasuk sebagai bagian dari paket berlangganan komprehensif.
- Percobaan gratis: Uji Coba Gratis 14 Hari
Uji Coba Gratis 14 Hari
2) Testiny
Testiny adalah platform manajemen kasus uji berbasis cloud modern yang telah saya gunakan untuk mengatur kasus uji berbasis data secara efisien sambil tetap menjagaping Pemisahan yang jelas antara logika pengujian dan kumpulan data berparameter. Dirancang untuk tim yang perlu mengelola beragam kombinasi data di banyak pengujian tanpa kehilangan informasi. trackemampuan.
Saat menjalankan proyek berbasis data dengan TestinySaya mengapresiasi bagaimana fitur pengeditan massal dan templatnya memudahkan untuk meningkatkan variasi pengujian di ratusan baris data. Platform ini terintegrasi dengan Jira, GitHub, dan GitLab sehingga kombinasi data yang gagal dapat ditautkan kembali ke masalah tersebut. trackers secara otomatis.
Fitur:
- Pengeditan Kasus Uji Massal: Testiny Fitur ini memungkinkan Anda mengedit, menduplikasi, dan memparameterisasi banyak kasus uji sekaligus, yang mempercepat pembuatan variasi berbasis data. Anda dapat menerapkan perubahan di seluruh folder dalam hitungan detik tanpa perlu menyentuh setiap kasus secara individual. Saya mengandalkan fitur ini saat memperluas cakupan ke kumpulan data baru tanpa perlu menulis ulang skrip.
- Kolom Kustom untuk Input Data: Ini memungkinkan Anda untuk menentukan kolom khusus per proyek sehingga atribut dataset dapat diatur. tracDisimpan di samping setiap pengujian. Anda dapat mencatat nilai input, hasil yang diharapkan, dan kondisi dengan jelas di satu tempat. Saya menggunakan kolom-kolom ini untuk memudahkan audit skenario berparameter yang kompleks di kemudian hari.
- Uji Coba Waktu Nyata Tracking: Platform ini menampilkan status eksekusi secara langsung di antara anggota tim sehingga pengujian berbasis data tetap transparan. Anda dapat menetapkan kasus, memantau persentase lulus/gagal, dan mengidentifikasi kombinasi data yang diblokir saat terjadi. Saya merasa ini berguna untuk menjaga...ping Pemimpin QA diberi informasi tanpa perlu rapat status terus-menerus.
- Laporan dalam Format PDF dan Dapat Dibagikan: Testiny Menghasilkan laporan PDF yang rapi dengan grafik dan ringkasan pelaksanaan yang dapat Anda bagikan dengan pemangku kepentingan non-teknis. Anda dapat memfilter berdasarkan kumpulan data, pencapaian, atau rilis. Saya mengirimkan laporan ini di akhir setiap sprint untuk mengkomunikasikan kondisi kualitas.
- Masalah Asli TracIntegrasi ker: Ini terhubung ke Jira, GitHub, GitLab, Azure DevOps, Linier, AsanaDengan menggunakan Confluence, Trello, dan monday.com, baris data yang gagal dapat dengan cepat diubah menjadi tiket. Anda dapat menjaga agar eksekusi pengujian dan alur kerja rekayasa tetap selaras. Saya perhatikan ini secara dramatis mengurangi gesekan serah terima antara tim QA dan pengembang.
Kelebihan
Kekurangan
Harga:
- Harga: Paket gratis untuk hingga 3 pengguna; paket berbayar dapat ditingkatkan berdasarkan jumlah pengguna dan menambahkan dukungan premium.
- Percobaan gratis: Uji Coba Gratis 21 Hari
Uji Coba Gratis 21 Hari
3) Testpad
Testpad adalah alat manajemen pengujian berbasis daftar periksa yang ringan yang telah saya andalkan ketika skenario berbasis data perlu dicatat dengan cepat tanpa proses yang rumit. Alat ini dibangun di sekitar daftar periksa hierarkis sehingga penguji dapat mengelompokkan variasi data di bawah kasus induk dan mengeksekusinya dengan cepat.
Selama sesi berbasis data saya dengan TestpadSaya menggunakan antarmuka berbasis keyboard-nya untuk membuat puluhan variasi input dalam sekali duduk. Dukungan penguji tamu memungkinkan saya untuk mendatangkan pakar bidang untuk memvalidasi kombinasi data kasus ekstrem tanpa harus membayar biaya tambahan.
Fitur:
- Daftar Periksa Pengujian Hierarkis: Testpad Mengatur pengujian berparameter dalam daftar periksa bersarang sehingga Anda dapat mengelompokkan variasi data terkait di bawah satu kasus induk. Anda dapat memperluas dan menciutkan cabang untuk fokus pada kumpulan data tertentu. Saya menggunakan ini untuk menjaga agar matriks data yang kompleks tetap rapi secara visual.
- Pengeditan Berbasis Keyboard: Fitur ini memungkinkan Anda membuat, memberi indentasi, dan menyusun ulang item pengujian dengan pintasan keyboard sehingga pembuatan rencana berbasis data yang besar menjadi cepat. Anda dapat tetap fokus tanpa perlu meraih mouse. Saya menemukan bahwa ini secara dramatis mengurangi waktu untuk menangkap baris dataset baru.
- Akses Penguji Tamu: Testpad Mendukung penguji tamu tanpa batas tanpa biaya per kursi sehingga Anda dapat mendatangkan pakar bidang untuk kombinasi data tertentu. Anda dapat mengundang pemangku kepentingan untuk memverifikasi kasus-kasus ekstrem tanpa biaya lisensi tambahan. Saya mengandalkan ini selama penerimaan pengguna dengan skenario berparameter.
- Laporan yang Dapat Dibagikan Secara Instan: Platform ini menghasilkan laporan ringan yang dapat Anda bagikan melalui tautan sehingga kemajuan terlihat tanpa perlu membuka alat tersebut. Anda dapat memfilter berdasarkan penguji, status, atau cabang pengujian. Saya mengirimkan laporan ini kepada manajer produk di akhir setiap pengujian berbasis data.
- Isu Tracker Menghubungkan: Sistem ini menghubungkan pengujian yang gagal ke tiket Jira atau GitHub melalui tautan sederhana sehingga kegagalan baris data dapat dengan cepat diteruskan ke tim rekayasa. Anda dapat melampirkan konteks langsung dari item daftar periksa yang gagal. Saya menjaga fokus penguji pada eksekusi sambil membiarkan alat menangani pengalihan.
Kelebihan
Kekurangan
Harga:
- Harga: Paket berlangganan mulai dari $59/bulan dengan paket perusahaan khusus yang tersedia untuk tim yang lebih besar.
- Percobaan gratis: Uji Coba Gratis 30 Hari
Uji Coba Gratis 30 Hari
Praktik terbaik pengujian Berdasarkan Data
Berikut adalah praktik pengujian terbaik untuk pengujian berbasis data:
- Sangat ideal untuk menggunakan informasi realistis selama proses pengujian berdasarkan data
- Navigasi alur pengujian harus diberi kode di dalam skrip pengujian
- Dorong API virtual dengan data yang bermakna
- Gunakan Data untuk Mendorong Pernyataan Dinamis
- Uji hasil positif dan negatif
- Gunakan kembali Uji Fungsional Berbasis Data untuk Keamanan dan Kinerja
Keuntungan pengujian Berbasis Data
Pengujian berbasis data menawarkan banyak keuntungan. Beberapa di antaranya adalah:
- Memungkinkan pengujian aplikasi dengan beberapa set nilai data selama Pengujian regresi
- Data pengujian dan data verifikasi dapat diatur hanya dalam satu file, dan terpisah dari logika kasus pengujian.
- Berdasarkan alat ini, dimungkinkan untuk menyimpan skrip pengujian dalam satu repositori. Hal ini membuat pengujian mudah dipahami, dipelihara, dan dikelola.
- Tindakan dan Fungsi dapat digunakan kembali dalam pengujian yang berbeda.
- Beberapa alat menghasilkan data uji secara otomatis. Hal ini berguna ketika dibutuhkan sejumlah besar data uji acak, yang membantu menghemat waktu.
- Pengujian berbasis data dapat dilakukan di fase pengembangan mana pun. Kasus uji berbasis data umumnya digabungkan menjadi satu proses. Namun, kasus uji tersebut dapat digunakan dalam beberapa kasus uji.
- Memungkinkan pengembang dan penguji memiliki pemisahan yang jelas antara logika kasus pengujian/skrip mereka dari data pengujian.
- Kasus uji yang sama dapat dieksekusi beberapa kali, yang membantu mengurangi jumlah kasus uji dan skrip.
- Perubahan apa pun pada skrip pengujian tidak memengaruhi data pengujian.
Kekurangan pengujian Berbasis Data
Beberapa Kekurangan metode Pengujian Otomasi Berbasis Data adalah:
- Kualitas pengujian bergantung pada kemampuan otomatisasi tim pelaksana.
- Validasi data merupakan tugas yang memakan waktu ketika menguji sejumlah besar data.
- Pemeliharaan merupakan masalah besar, karena dibutuhkan banyak pengkodean untuk pengujian berbasis data.
- Keterampilan teknis tingkat tinggi diperlukan. Seorang penguji mungkin harus mempelajari bahasa skrip yang benar-benar baru.
- Akan ada lebih banyak dokumentasi, sebagian besar terkait dengan manajemen skrip, infrastruktur pengujian, dan hasil pengujian.
- Editor teks seperti Notepad diperlukan untuk membuat dan memelihara file data.
Pengujian Berbasis Data vs Pengujian Berbasis Kata Kunci
Para pemula seringkali salah mengartikan pengujian berbasis data (data driven testing) dengan pengujian berbasis kata kunci (keyword driven testing) karena keduanya memisahkan desain pengujian dari skrip pengujian. Perbedaannya terletak pada apa yang dieksternalisasi: pengujian berbasis data mengeksternalisasi nilai input, sedangkan pengujian berbasis kata kunci mengeksternalisasi tindakan itu sendiri sebagai kata kunci yang dapat digunakan kembali. Tabel di bawah ini membandingkan kedua pendekatan tersebut:
| Parameter | Pengujian Berdasarkan Data | Pengujian Berbasis Kata Kunci |
|---|---|---|
| Apa yang dieksternalisasi? | Data uji (masukan dan hasil yang diharapkan) | Uji tindakan (kata kunci seperti Masuk, Klik, Verifikasi) |
| Sumber data | Excel, CSV, XML, atau tabel basis data | Tabel kata kunci plus tabel data opsional |
| Dibutuhkan keahlian | Pengetahuan scripting tingkat menengah | Upaya desain awal yang lebih tinggi; lebih sedikit pengkodean untuk membuat tes baru. |
| Paling cocok untuk | Mengulangi satu skenario dengan banyak kombinasi input. | Membangun banyak skenario dari blok aksi yang dapat digunakan kembali. |
| pemeliharaan | Perbarui file data tanpa menyentuh skrip. | Perbarui pustaka kata kunci saat perilaku aplikasi berubah. |
Banyak tim menggabungkan kedua pendekatan tersebut ke dalam kerangka kerja hibrida, di mana kata kunci mendefinisikan tindakan yang dapat digunakan kembali dan file data eksternal menyediakan nilai untuk setiap pengujian.







