Tutorial Pengujian Big Data: Apa itu, Strategi, dan Cara Pengujian
โก Ringkasan Cerdas
Pengujian Big Data memverifikasi bahwa aplikasi big data memproses terabyte data dengan benar, cepat, dan aman, menggabungkan validasi penyiapan data, validasi MapReduce, dan validasi output dengan pemeriksaan arsitektur dan kinerja di seluruh klaster Hadoop terdistribusi.
Apa itu Pengujian Big Data?
Pengujian Big Data adalah proses pengujian aplikasi big data untuk memastikan bahwa semua fungsi aplikasi big data bekerja sesuai harapan. Tujuan Pengujian Big Data adalah untuk memastikan bahwa sistem big data berjalan lancar dan tanpa kesalahan sambil mempertahankan kinerja dan keamanan.
Big data adalah kumpulan data besar yang tidak dapat diproses menggunakan teknik komputasi tradisional. Pengujian kumpulan data ini melibatkan berbagai alat, teknik, dan kerangka kerja untuk diproses. Big data berkaitan dengan pembuatan, penyimpanan, pengambilan, dan analisis data yang luar biasa dalam hal volume, variasi, dan kecepatan. Anda dapat mempelajari lebih lanjut tentang hal ini. Big data, Hadoop ke PetaKurangi sebelum Anda mulai melakukan pengujian.
Apa itu Strategi Pengujian Big Data?
Pengujian aplikasi Big Data lebih merupakan verifikasi pemrosesan data daripada pengujian fitur individual dari produk perangkat lunak. Dalam hal Pengujian Big Data, pengujian kinerja dan fungsional adalah kuncinya.
Dalam strategi Pengujian Big Data, insinyur QA memverifikasi keberhasilan pemrosesan data berukuran terabyte menggunakan klaster komoditas dan komponen pendukung lainnya. Hal ini menuntut tingkat keterampilan pengujian yang tinggi karena pemrosesannya sangat cepat. Pemrosesan dapat berupa tiga jenis:
- Pemrosesan batch: Data yang tersimpan diproses sesuai jadwal, sehingga pengujian menargetkan penyelesaian pekerjaan dan akurasi.
- Pemrosesan waktu nyata: Data diproses saat diterima, sehingga pengujian menargetkan latensi dan kehilangan data.
- Pemrosesan interaktif: Analis melakukan kueri secara langsung, sehingga pengujian menargetkan waktu respons kueri ad hoc.
Diagram di bawah ini merangkum strategi tersebut.
Selain itu, kualitas data juga merupakan faktor penting dalam pengujian Hadoop. Sebelum menguji aplikasi, perlu untuk memeriksa kualitas data, dan ini harus dianggap sebagai bagian dari pengujian basis data. Ini melibatkan pemeriksaan berbagai karakteristik seperti kesesuaian, akurasi, duplikasi, konsistensi, validitas, kelengkapan data, dll. Selanjutnya dalam tutorial Pengujian Hadoop ini, kita akan mempelajari cara menguji aplikasi Hadoop.
Cara Menguji Aplikasi Hadoop
Gambar berikut memberikan gambaran umum tingkat tinggi tentang fase-fase dalam pengujian aplikasi Big Data.
Pengujian Big Data, atau pengujian Hadoop, secara umum dapat dibagi menjadi tiga langkah.
Langkah 1: Validasi Pementasan Data
Langkah pertama dalam tutorial Pengujian Big Data ini disebut sebagai tahap pra-Hadoop, dan melibatkan validasi proses.
- Data dari berbagai sumber seperti RDBMS, weblog, media sosial, dan lain-lain harus divalidasi untuk memastikan bahwa data yang benar dimasukkan ke dalam sistem.
- Membandingkan data sumber dengan data yang dimasukkan ke dalam sistem Hadoop untuk memastikan kecocokannya
- Verifikasi bahwa data yang benar telah dimasukkan.tracted dan dimuat ke tempat yang benar HDFS tempat
Alat-alat seperti Talend dan Datameer dapat digunakan untuk validasi penyiapan data.
Langkah 2: Validasi โMapReduceโ.
Langkah kedua adalah validasi โMapReduceโ. Pada tahap ini, penguji Big Data memverifikasi validasi logika bisnis pada setiap node dan kemudian memvalidasinya setelah dijalankan pada beberapa node, memastikan bahwa:
- Proses MapReduce berjalan dengan benar.
- Aturan agregasi atau segregasi data diterapkan pada data
- Pasangan nilai kunci dihasilkan
- Memvalidasi data setelah proses MapReduce
Langkah 3: Fase Validasi Output
Tahap terakhir atau ketiga dari pengujian Hadoop adalah proses validasi keluaran. File data keluaran dihasilkan dan siap untuk dipindahkan ke EDW (Gudang Data Perusahaan) atau sistem lain berdasarkan kebutuhan.
Kegiatan pada tahap ketiga meliputi:
- Untuk memeriksa aturan transformasi diterapkan dengan benar
- Untuk memeriksa integritas data dan keberhasilan pemuatan data ke sistem target
- Untuk memeriksa bahwa tidak ada kerusakan data dengan membandingkan data target dengan data sistem file HDFS
ArchiPengujian tekstur
Perhatian kini beralih dari data ke klaster yang memuat data tersebut.
Hadoop memproses volume data yang sangat besar dan sangat membutuhkan sumber daya. Oleh karena itu, pengujian arsitektur sangat penting untuk memastikan keberhasilan proyek Big Data Anda. Sistem yang dirancang dengan buruk atau tidak tepat dapat menyebabkan penurunan kinerja, dan sistem tersebut mungkin gagal memenuhi persyaratan. Minimal, prestasi dan layanan pengujian failover harus dijalankan di lingkungan Hadoop.
Pengujian kinerja mencakup pengujian waktu penyelesaian pekerjaan, pemanfaatan memori, throughput data, dan metrik sistem serupa. Tujuan dari layanan pengujian failover adalah untuk memverifikasi bahwa pemrosesan data terjadi tanpa hambatan jika terjadi kegagalan pada node data.
Pengujian Kinerja
Pengujian Kinerja untuk Big Data mencakup tiga area utama.
- Pengambilan dan pemrosesan data: Pada tahap ini, penguji Big Data memverifikasi seberapa cepat sistem dapat mengonsumsi data dari berbagai sumber data. Pengujian melibatkan identifikasi jumlah pesan yang dapat diproses antrian dalam jangka waktu tertentu. Ini juga mencakup seberapa cepat data dapat dimasukkan ke dalam penyimpanan data yang mendasarinya, misalnya tingkat penyisipan ke dalam sebuah MongoDB ke Cassandra database.
- Pengolahan data: Hal ini mencakup verifikasi kecepatan eksekusi kueri atau pekerjaan MapReduce. Ini juga termasuk pengujian pemrosesan data secara terpisah ketika penyimpanan data yang mendasarinya diisi dengan kumpulan data. Misalnya, menjalankan pekerjaan MapReduce pada HDFS yang mendasarinya.
- Kinerja sub-komponen: Sistem-sistem ini terdiri dari berbagai komponen, dan sangat penting untuk menguji setiap komponen tersebut secara terpisah. Misalnya, seberapa cepat pesan diindeks dan dikonsumsi, pekerjaan MapReduce, kinerja kueri, pencarian, dan lain sebagainya.
Pendekatan Pengujian Kinerja
Pengujian performa untuk aplikasi Big Data melibatkan pengujian volume data terstruktur dan tidak terstruktur yang sangat besar, dan membutuhkan pendekatan pengujian khusus untuk menguji data sebesar itu.
Alur kerja di bawah ini menunjukkan urutan yang diikuti oleh pengujian kinerja.
Pengujian kinerja dijalankan dalam urutan ini.
- Proses dimulai dengan penyiapan klaster Big Data yang akan diuji kinerjanya.
- Identifikasi dan rancang beban kerja yang sesuai
- Mempersiapkan klien secara individual (skrip khusus dibuat)
- Jalankan pengujian dan analisis hasilnya (jika tujuan tidak tercapai, maka sesuaikan komponen dan jalankan kembali).
- Konfigurasi optimal
Parameter untuk Pengujian Kinerja
Berbagai parameter yang perlu diverifikasi untuk pengujian kinerja adalah:
- Penyimpanan data: Bagaimana data disimpan di berbagai node
- Log commit: Seberapa besar ukuran commit log yang diizinkan untuk berkembang
- Konkurensi: Berapa banyak thread yang dapat melakukan operasi tulis dan baca?
- Cache: Sesuaikan pengaturan cache โrow cacheโ dan โkey cacheโ
- Batas waktu: Nilai untuk batas waktu koneksi, batas waktu kueri, dll.
- Parameter JVM: Ukuran heap, algoritma pengumpulan GC, dll.
- Performa MapReduce: Mengurutkan, menggabungkan, dll.
- Antrian pesan: Kecepatan pesan, ukuran, dll.
Uji Kebutuhan Lingkungan
Kebutuhan lingkungan pengujian bergantung pada jenis aplikasi yang Anda uji. Untuk pengujian perangkat lunak Big Data, lingkungan pengujian harus mencakup hal-hal berikut.
- Seharusnya tersedia ruang yang cukup untuk penyimpanan dan pemrosesan data dalam jumlah besar.
- Itu harus memiliki cluster dengan node dan data terdistribusi
- Ini harus memiliki penggunaan CPU dan memori minimum untuk menjaga kinerja tetap tinggi untuk menguji kinerja Big Data
Pengujian Big Data vs. Pengujian Basis Data Tradisional
Tabel di bawah ini membandingkan kedua disiplin ilmu tersebut berdasarkan sifat demi sifatnya.
| Properties | Pengujian basis data tradisional | Pengujian Data Besar |
|---|---|---|
| Data | Penguji bekerja dengan data terstruktur | Penguji bekerja dengan data terstruktur dan tidak terstruktur |
| Pendekatan Pengujian | Pendekatan pengujian didefinisikan dengan baik dan telah teruji oleh waktu | Pendekatan pengujian memerlukan upaya penelitian dan pengembangan yang terfokus |
| Strategi Pengujian | Penguji memiliki pilihan strategi "Pengambilan Sampel" yang dilakukan secara manual atau strategi "Verifikasi Menyeluruh" melalui alat otomatisasi. | Strategi โpengambilan sampelโ dalam Big Data merupakan sebuah tantangan. |
| Infrastruktur | Itu tidak memerlukan lingkungan pengujian khusus karena ukuran file terbatas | Ini memerlukan lingkungan pengujian khusus karena ukuran data dan file yang besar (HDFS) |
| Alat Validasi | Penguji menggunakan makro berbasis Excel atau alat otomatisasi berbasis UI. | Tidak ada alat yang terdefinisi secara khusus; jangkauannya sangat luas, mulai dari alat pemrograman seperti MapReduce hingga HiveQL. |
| Pengujian Peralatan | Alat pengujian dapat digunakan dengan pengetahuan pengoperasian dasar dan pelatihan yang lebih sedikit. | Diperlukan serangkaian keterampilan dan pelatihan khusus untuk mengoperasikan alat pengujian. Selain itu, alat-alat tersebut masih dalam tahap awal dan seiring waktu mungkin akan muncul fitur-fitur baru. |
Alat yang Digunakan dalam Skenario Big Data
Tabel di bawah ini mengelompokkan alat-alat umum berdasarkan lapisan klaster.
| Big data Cluster | Alat Data Besar |
|---|---|
| Tidak SQL: | CouchDB, Basis Data MongoDB, Cassandra, Redis, Penjaga Kebun Binatang, HBase |
| Kurangi Peta: | Hadoop, Sarang lebah, Babi, Bertingkat, Lendir, Kafka, S4, MapR, Mengalir |
| penyimpanan: | S3, HDFS (Hadoop Distributed File System) |
| Server: | Elastis, Heroku, Google App Engine, EC2 |
| Pengolahan: | R, Yahoo! Pipa, Mechanical Turk, BigSheets, Datameer |
Tantangan dalam Pengujian Big Data
Tiga kendala praktis selalu muncul di hampir setiap proyek Big Data.
- Otomasi: Pengujian otomatisasi Untuk Big Data dibutuhkan seseorang dengan keahlian teknis. Selain itu, alat otomatis tidak dilengkapi untuk menangani masalah tak terduga yang muncul selama pengujian.
- Virtualisasi: Ini adalah salah satu fase integral dari pengujian. Latensi mesin virtual menciptakan masalah waktu dalam pengujian kinerja Big Data secara real-time. Selain itu, mengelola citra dalam Big Data juga merepotkan.
- Kumpulan data besar: Tiga tekanan muncul seiring dengan volume.
- Perlu memverifikasi lebih banyak data dan perlu melakukannya lebih cepat
- Perlu mengotomatiskan upaya pengujian
- Perlu mampu melakukan pengujian di berbagai platform.
Tantangan pengujian kinerja
- Beragam teknologi: Setiap subkomponen termasuk dalam teknologi yang berbeda dan memerlukan pengujian secara terpisah.
- Ketidaktersediaan alat-alat tertentu: Tidak ada satu alat pun yang dapat melakukan pengujian ujung-ke-ujung. Misalnya, NoSQL mungkin tidak cocok untuk antrian pesan.
- Pembuatan skrip pengujian: Diperlukan kemampuan scripting yang tinggi untuk merancang skenario pengujian dan kasus pengujian.
- Lingkungan pengujian: Karena ukuran datanya yang besar, diperlukan lingkungan pengujian khusus.
- Solusi pemantauan: Solusi yang tersedia untuk memantau seluruh lingkungan masih terbatas.
- Solusi diagnostik: Diperlukan solusi khusus untuk menelusuri secara mendalam area-area yang menjadi hambatan kinerja.



