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

Pengujian Data Besar

Pengujian Data Besar merupakan proses pengujian suatu aplikasi big data guna memastikan bahwa seluruh fungsi aplikasi big data berfungsi sesuai harapan. Tujuan pengujian big data adalah untuk memastikan sistem big data berjalan lancar dan bebas kesalahan dengan tetap menjaga performa dan keamanan.

Big data 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. 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 Big Data, Hadoop, dan MapReduce di sini

Apa itu Strategi Pengujian Big Data?

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

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

Strategi Pengujian Big Data

Selain itu, kualitas data juga merupakan faktor penting dalam pengujian Hadoop. Sebelum menguji aplikasi, perlu dilakukan pemeriksaan kualitas data dan harus dianggap sebagai bagian dari pengujian database. Ini melibatkan pemeriksaan berbagai karakteristik seperti kesesuaian, keakuratan, 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

Uji Aplikasi Hadoop

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

Langkah 1: Validasi Pementasan Data

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

  • Data dari berbagai sumber seperti RDBMS, weblog, media sosial, dll. 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
  • Pastikan data yang benar telah diekstraksi dan dimuat ke lokasi HDFS yang benar

Alat-alat seperti Talend, petugas data, 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 dijalankan pada beberapa node, untuk memastikan bahwa

  • Proses Pengurangan Peta berfungsi dengan benar
  • Aturan agregasi atau segregasi data diterapkan pada data
  • Pasangan nilai kunci dihasilkan
  • Memvalidasi data setelah proses Map-Reduce

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

Hadoop memproses data dalam jumlah yang sangat besar dan sangat membutuhkan banyak 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 dapat gagal memenuhi persyaratan. Setidaknya, Tes Kinerja dan Failover layanan harus dilakukan di lingkungan Hadoop.

Pengujian kinerja mencakup pengujian waktu penyelesaian pekerjaan, pemanfaatan memori, throughput data, dan metrik sistem serupa. Sedangkan motif layanan pengujian Failover adalah untuk memverifikasi bahwa pemrosesan data terjadi dengan lancar jika terjadi kegagalan pada node data

Pengujian Kinerja

Pengujian Kinerja untuk Big Data mencakup dua tindakan utama

  • Penyerapan data dan Sepanjang: Pada tahap ini, penguji Big Data memverifikasi seberapa cepat sistem dapat menggunakan data dari berbagai sumber data. Pengujian melibatkan identifikasi 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 Mongo dan Cassandra Database.
  • Pengolahan data: Ini melibatkan verifikasi kecepatan eksekusi kueri atau pekerjaan pengurangan peta. Hal ini juga mencakup pengujian pemrosesan data secara terpisah ketika penyimpanan data pokok diisi dalam kumpulan data. Misalnya, menjalankan pekerjaan Map Reduce pada yang mendasarinya HDFS
  • Kinerja Sub-Komponen: Sistem ini terdiri dari beberapa komponen, dan penting untuk menguji masing-masing komponen secara terpisah. Misalnya, seberapa cepat pesan diindeks dan digunakan, pekerjaan MapReduce, kinerja kueri, pencarian, dll.
  • Pendekatan Pengujian Kinerja

    Pengujian kinerja untuk aplikasi data besar melibatkan pengujian data terstruktur dan tidak terstruktur dalam jumlah besar, dan memerlukan pendekatan pengujian khusus untuk menguji data sebesar itu.

    Pendekatan Pengujian Kinerja

    Pengujian Kinerja dijalankan dalam urutan ini

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

    Parameter untuk Pengujian Kinerja

    Berbagai parameter yang harus diverifikasi untuk pengujian kinerja adalah

    • Penyimpanan Data: Bagaimana data disimpan di node yang berbeda
    • Log komit: Seberapa besar log komit dibiarkan bertambah
    • Konkurensi: Berapa banyak thread yang dapat melakukan operasi tulis dan baca
    • Caching: Sesuaikan pengaturan cache “cache baris” dan “cache kunci”.
    • Batas Waktu: Nilai untuk batas waktu koneksi, batas waktu kueri, dll.
    • Parameter JVM: Ukuran heap, algoritma pengumpulan GC, dll.
    • Kinerja pengurangan peta: Mengurutkan, menggabungkan, dll.
    • Antrean 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 ruang yang cukup untuk menyimpan dan memproses 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 data besar Vs. Pengujian basis data tradisional

    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 opsi untuk melakukan strategi “Pengambilan Sampel” secara manual atau strategi “Verifikasi Lengkap” dengan alat otomatisasi Strategi “pengambilan sampel” dalam Big data adalah 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 yang berbasis Excel Macro atau alat otomatisasi berbasis UI Tidak ada alat yang ditentukan, jangkauannya sangat luas mulai dari alat pemrograman seperti MapReduce hingga HIVEQL
    Pengujian Peralatan Alat Pengujian dapat digunakan dengan pengetahuan pengoperasian dasar dan sedikit pelatihan. Dibutuhkan serangkaian keterampilan dan pelatihan khusus untuk mengoperasikan alat pengujian. Selain itu, alat tersebut masih dalam tahap awal dan seiring berjalannya waktu, alat tersebut mungkin akan menghadirkan fitur-fitur baru.

    Alat yang digunakan dalam Skenario Big Data

    Big data Cluster Alat Data Besar
    Tidak SQL: CouchDB, Basis Data MongoDB, Cassandra, Redis, Penjaga Kebun Binatang, HBase
    Kurangi Peta: Hadoop, Hive, Babi, Cascading, Oozie, Kafka, S4, MapR, Flume
    penyimpanan: S3, HDFS (Sistem File Terdistribusi Hadoop)
    Server: Elastis, Heroku, Elastis, Google App Engine, EC2
    Pengolahan R, Yahoo! Pipa, Mechanical Turk, BigSheets, Datameer

    Tantangan dalam Pengujian Big Data

    • Otomatisasi

      Pengujian otomatisasi karena 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 menimbulkan masalah waktu dalam pengujian kinerja data besar secara real-time. Mengelola gambar di 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

    • Beragam teknologi: Setiap sub-komponen memiliki teknologi yang berbeda dan memerlukan pengujian secara terpisah
    • Tidak tersedianya alat khusus: Tidak ada satu alat pun yang dapat melakukan pengujian ujung ke ujung. Misalnya, NoSQL mungkin tidak cocok untuk antrean pesan
    • Skrip Tes: Skrip tingkat tinggi diperlukan untuk merancang skenario pengujian dan kasus pengujian
    • Lingkungan pengujian: Diperlukan lingkungan pengujian khusus karena ukuran datanya yang besar
    • Solusi Pemantauan: Ada solusi terbatas yang dapat memantau seluruh lingkungan
    • Solusi Diagnostik: solusi khusus perlu dikembangkan untuk menelusuri area hambatan kinerja

    Ringkasan

    • Seiring kemajuan rekayasa data dan analisis data ke tingkat berikutnya, pengujian data besar tidak bisa dihindari.
    • Pemrosesan data besar dapat berupa Batch, Real-Time, atau Interaktif
    • 3 tahapan Pengujian aplikasi Big Data adalah validasi pementasan data, validasi “MapReduce”, & fase validasi Output
    • ArchiPengujian 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 mencakup verifikasi throughput Data, Pemrosesan data, dan kinerja Sub-komponen
    • Pengujian data besar sangat berbeda dengan pengujian data tradisional dalam hal Data, Infrastruktur & Alat Validasi
    • Tantangan Pengujian Big Data mencakup virtualisasi, otomatisasi pengujian, dan penanganan kumpulan data besar. Pengujian kinerja aplikasi Big Data juga menjadi masalah.