Tutorial Pengujian Big Data: Apa itu, Strategi, Cara menguji Hadoop

Daftar Isi:

Anonim

Pengujian Big Data

Big Data Testing adalah proses pengujian aplikasi data besar untuk memastikan bahwa semua fungsi aplikasi data besar berfungsi seperti yang diharapkan. Tujuan dari pengujian data besar adalah untuk memastikan bahwa sistem data besar berjalan dengan lancar dan bebas dari kesalahan dengan tetap menjaga kinerja dan keamanan.

Data besar adalah kumpulan kumpulan data besar yang tidak dapat diproses menggunakan teknik komputasi tradisional. Pengujian kumpulan data ini melibatkan berbagai alat, teknik, dan kerangka kerja untuk diproses. Data besar berkaitan dengan pembuatan, penyimpanan, pengambilan, dan analisis data yang luar biasa dalam hal volume, variasi, dan kecepatan. Anda dapat mempelajari lebih lanjut tentang Big Data, Hadoop, dan MapReduce di sini

Dalam tutorial Pengujian Big Data ini, Anda akan mempelajari-

  • Apa itu Strategi Pengujian Big Data?
  • Cara menguji Aplikasi Hadoop
  • Pengujian Arsitektur
  • Pengujian Kinerja
  • Pendekatan Pengujian Kinerja
  • Parameter untuk Pengujian Kinerja
  • Uji Kebutuhan Lingkungan
  • Pengujian Big Data Vs. Pengujian database tradisional
  • Alat yang digunakan dalam Skenario Big Data
  • Tantangan dalam Pengujian Big Data

Apa itu Strategi Pengujian Big Data?

Menguji aplikasi Big Data lebih merupakan verifikasi pemrosesan datanya daripada menguji fitur individu dari produk perangkat lunak. Dalam hal pengujian Big data, kinerja dan pengujian fungsional adalah kuncinya.

Dalam strategi pengujian Big Data, teknisi QA memverifikasi keberhasilan pemrosesan terabyte data menggunakan cluster komoditas dan komponen pendukung lainnya. Ini menuntut keterampilan pengujian tingkat tinggi karena pemrosesannya sangat cepat. Pemrosesan mungkin terdiri dari tiga jenis

Bersamaan dengan ini, kualitas data juga menjadi faktor penting dalam pengujian Hadoop. Sebelum menguji aplikasi, perlu dilakukan pengecekan kualitas data dan harus dipertimbangkan sebagai bagian dari pengujian database. Ini melibatkan pengecekan 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 tahapan dalam Menguji Aplikasi Big Data

Pengujian Big Data atau Pengujian Hadoop secara garis besar dapat dibagi menjadi tiga langkah

Langkah 1: Validasi Penahapan Data

Langkah pertama dalam tutorial pengujian data besar ini disebut sebagai tahap pra-Hadoop melibatkan validasi proses.

  • Data dari berbagai sumber seperti RDBMS, weblog, media sosial, dll. Harus divalidasi untuk memastikan bahwa data yang benar ditarik ke dalam sistem
  • Membandingkan data sumber dengan data yang didorong ke sistem Hadoop untuk memastikan kecocokannya
  • Pastikan data yang benar diekstrak dan dimuat ke lokasi HDFS yang benar

Alat seperti Talend , Datameer, dapat digunakan untuk validasi pementasan 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 menjalankan beberapa node, memastikan bahwa

  • Proses Map Reduce bekerja dengan benar
  • Agregasi data atau aturan pemisahan diterapkan pada data
  • Pasangan nilai kunci dibuat
  • Memvalidasi data setelah proses Map-Reduce

Langkah 3: Fase Validasi Keluaran

Tahap terakhir atau ketiga dari pengujian Hadoop adalah proses validasi keluaran. File data keluaran dibuat dan siap untuk dipindahkan ke EDW (Enterprise Data Warehouse) atau sistem lainnya berdasarkan kebutuhan.

Kegiatan di tahap ketiga meliputi

  • Untuk memeriksa aturan transformasi diterapkan dengan benar
  • Untuk memeriksa integritas data dan memuat data yang berhasil ke dalam sistem target
  • Untuk memeriksa bahwa tidak ada kerusakan data dengan membandingkan data target dengan data sistem file HDFS

Pengujian Arsitektur

Hadoop memproses volume data yang sangat besar dan sangat intensif sumber daya. Oleh karena itu, pengujian arsitektural sangat penting untuk memastikan keberhasilan proyek Big Data Anda. Sistem yang dirancang dengan buruk atau tidak tepat dapat menyebabkan penurunan kinerja, dan sistem dapat gagal memenuhi persyaratan. Setidaknya, layanan pengujian Kinerja dan Kegagalan harus dilakukan di lingkungan Hadoop.

Pengujian kinerja meliputi pengujian waktu penyelesaian pekerjaan, penggunaan memori, throughput data, dan metrik sistem serupa. Sedangkan motif layanan uji Failover adalah untuk memverifikasi bahwa pemrosesan data terjadi dengan mulus jika terjadi kegagalan node data

Pengujian Kinerja

Pengujian Kinerja untuk Big Data mencakup dua tindakan utama

  • Penyerapan dan Keseluruhan Data : Dalam tahap ini, penguji Big Data memverifikasi bagaimana sistem yang cepat dapat mengonsumsi data dari berbagai sumber data. Pengujian melibatkan pengidentifikasian pesan berbeda 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 database Mongo dan Cassandra.
  • Pemrosesan Data : Ini melibatkan verifikasi kecepatan kueri atau pengurangan peta pekerjaan dijalankan. Ini juga mencakup pengujian pemrosesan data secara terpisah ketika penyimpanan data yang mendasarinya diisi dalam kumpulan data. Misalnya, menjalankan pekerjaan Map Reduce pada HDFS yang mendasari
  • Kinerja Sub-Komponen : Sistem ini terdiri dari beberapa komponen, dan penting untuk menguji masing-masing komponen ini secara terpisah. Misalnya, seberapa cepat pesan diindeks dan dikonsumsi, pekerjaan MapReduce, kinerja kueri, pencarian, dll.

Pendekatan Pengujian Kinerja

Pengujian kinerja untuk aplikasi data besar melibatkan pengujian volume besar data terstruktur dan tidak terstruktur, dan itu membutuhkan pendekatan pengujian khusus untuk menguji data besar tersebut.

Pengujian Kinerja dijalankan dalam urutan ini

  1. Prosesnya dimulai dengan pengaturan cluster Big data yang akan diuji performanya
  2. Identifikasi dan rancang beban kerja yang sesuai
  3. Siapkan klien individu (Skrip Kustom dibuat)
  4. Jalankan tes dan analisis hasilnya (Jika tujuan tidak tercapai, sesuaikan komponen dan jalankan kembali)
  5. Konfigurasi Optimal

Parameter untuk Pengujian Kinerja

Berbagai parameter yang akan diverifikasi untuk pengujian kinerja adalah

  • Penyimpanan Data: Bagaimana data disimpan di node yang berbeda
  • Commit logs: Seberapa besar commit log diperbolehkan untuk berkembang
  • Concurrency: Berapa banyak utas yang dapat melakukan operasi tulis dan baca
  • Caching: Sesuaikan pengaturan cache "cache baris" dan "cache kunci."
  • Timeout: Nilai untuk koneksi timeout, query timeout, dll.
  • Parameter JVM: Ukuran heap, algoritme pengumpulan GC, dll.
  • Peta mengurangi kinerja: Mengurutkan, menggabungkan, dll.
  • Antrian pesan: Kecepatan pesan, ukuran, dll.

Uji Kebutuhan Lingkungan

Lingkungan Pengujian harus bergantung pada jenis aplikasi yang Anda uji. Untuk pengujian perangkat lunak Big data, lingkungan pengujian harus mencakup

  • Ini harus memiliki cukup ruang untuk penyimpanan dan memproses data dalam jumlah besar
  • Ini harus memiliki cluster dengan node dan data terdistribusi
  • Itu harus memiliki penggunaan CPU dan memori minimum untuk menjaga kinerja tetap tinggi untuk menguji kinerja Big Data

Pengujian Big Data Vs. Pengujian database tradisional

Properti

Pengujian database tradisional

Pengujian data besar

Data

  • Penguji bekerja dengan data terstruktur
  • Penguji bekerja dengan data terstruktur maupun tidak terstruktur

Pendekatan Pengujian

  • Pendekatan pengujian didefinisikan dengan baik dan teruji waktu
  • Pendekatan pengujian membutuhkan upaya R&D yang terfokus

Strategi Pengujian

  • Penguji memiliki opsi untuk strategi "Pengambilan Sampel" yang dilakukan secara manual atau strategi "Verifikasi Lengkap" dengan alat otomatisasi
  • Strategi "Sampling" di Big data merupakan sebuah tantangan

Infrastruktur

  • Itu tidak memerlukan lingkungan pengujian khusus karena ukuran file terbatas
  • Ini membutuhkan 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 ditentukan, jangkauannya sangat luas dari alat pemrograman seperti MapReduce hingga HIVEQL

Alat Pengujian

Alat Pengujian dapat digunakan dengan pengetahuan pengoperasian dasar dan sedikit pelatihan.

Diperlukan serangkaian keterampilan dan pelatihan khusus untuk mengoperasikan alat pengujian. Selain itu, alat tersebut sedang dalam tahap awal dan seiring waktu mungkin muncul dengan fitur baru.

Alat yang digunakan dalam Skenario Big Data

Kluster Big Data

Alat Data Besar

NoSQL:

  • CouchDB, Database MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • Hadoop, Sarang, Babi, Bertingkat, Oozie, Kafka, S4, MapR, Flume

Penyimpanan:

  • S3, HDFS (Sistem File Terdistribusi Hadoop)

Server:

  • Elastis, Heroku, Elastis, Google App Engine, EC2

Pengolahan

  • R, Yahoo! Pipa, Turk Mekanis, Lembar Besar, Datameer

Tantangan dalam Pengujian Big Data

  • Otomatisasi

    Pengujian otomatisasi untuk Big data membutuhkan 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 pengujian yang tidak terpisahkan. Latensi mesin virtual menciptakan masalah pengaturan waktu dalam pengujian performa data besar secara waktu nyata. Mengelola gambar dalam Big data juga merepotkan.

  • Kumpulan Data Besar
    • Perlu memverifikasi lebih banyak data dan perlu melakukannya lebih cepat
    • Perlu mengotomatiskan upaya pengujian
    • Harus dapat menguji di berbagai platform

Tantangan pengujian kinerja

  • Rangkaian teknologi yang beragam : Setiap sub-komponen termasuk dalam teknologi yang berbeda dan memerlukan pengujian secara terpisah
  • Tidak tersedianya alat khusus : Tidak ada alat tunggal yang dapat melakukan pengujian ujung ke ujung. Misalnya, NoSQL mungkin tidak cocok untuk antrian pesan
  • Skrip Uji : Skrip tingkat tinggi diperlukan untuk merancang skenario uji dan kasus uji
  • Lingkungan pengujian : Diperlukan lingkungan pengujian khusus karena ukuran data yang besar
  • Solusi Pemantauan : Ada solusi terbatas yang dapat memantau seluruh lingkungan
  • Solusi Diagnostik : solusi Kustom diperlukan untuk dikembangkan untuk menelusuri area kemacetan kinerja

Ringkasan

  • Saat rekayasa data dan analitik data maju ke level berikutnya, pengujian data besar tidak bisa dihindari.
  • Pemrosesan data besar dapat berupa Batch, Real-Time, atau Interactive
  • 3 tahapan dari pengujian aplikasi Big Data adalah
    • Validasi pementasan data
    • Validasi "MapReduce"
    • Fase validasi keluaran
  • Pengujian Arsitektur adalah fase penting dari pengujian Big data, karena sistem yang dirancang dengan buruk dapat menyebabkan kesalahan yang belum pernah terjadi sebelumnya dan penurunan kinerja
  • Pengujian kinerja untuk Big data termasuk verifikasi
    • Throughput data
    • Pengolahan data
    • Kinerja sub-komponen
  • Pengujian big data sangat berbeda dari pengujian data tradisional dalam hal Data, Infrastruktur & Alat Validasi
  • Tantangan Pengujian Big Data mencakup virtualisasi, otomatisasi pengujian, dan menangani kumpulan data besar. Pengujian kinerja aplikasi Big Data juga menjadi masalah.