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.

  • ๐Ÿ”˜ Fokus inti: Pemrosesan data di seluruh klaster divalidasi, bukan fitur individual dari produk tersebut.
  • โ˜‘๏ธ Tiga fase: Penyiapan data, MapReduce, dan validasi output merupakan bagian dari setiap siklus pengujian Hadoop.
  • โœ… Prioritaskan kualitas data: Kesesuaian, keakuratan, duplikasi, konsistensi, validitas, dan kelengkapan diperiksa sebelum pengujian aplikasi.
  • ๐Ÿงช ArchiMateri perkuliahan itu penting: Layanan performa dan failover memastikan klaster tetap berfungsi meskipun terjadi kegagalan node tanpa kehilangan throughput.
  • ๏ธ Pengaturan parameter: Tata letak penyimpanan, log commit, konkurensi, caching, batas waktu, dan pengaturan JVM diukur.
  • โš ๏ธ Tantangan yang diketahui: Kesenjangan keterampilan otomatisasi, latensi mesin virtual, dan kumpulan data yang sangat besar mempersulit pengujian Big Data.

Tutorial Pengujian Big Data yang mencakup strategi, fase pengujian Hadoop, dan pengujian kinerja.

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.

Diagram strategi pengujian Big Data yang menunjukkan jenis pemrosesan data yang diverifikasi oleh insinyur QA.

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.

Tahapan pengujian tingkat tinggi aplikasi Big Data pada klaster Hadoop.

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.

Alur kerja pendekatan pengujian kinerja mulai dari penyiapan klaster Big Data hingga konfigurasi optimal.

Pengujian kinerja dijalankan dalam urutan ini.

  1. Proses dimulai dengan penyiapan klaster Big Data yang akan diuji kinerjanya.
  2. Identifikasi dan rancang beban kerja yang sesuai
  3. Mempersiapkan klien secara individual (skrip khusus dibuat)
  4. Jalankan pengujian dan analisis hasilnya (jika tujuan tidak tercapai, maka sesuaikan komponen dan jalankan kembali).
  5. 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.

Pertanyaan Umum Demo Slot

Kualitas data diperiksa sebagai bagian dari pengujian basis data, sebelum pengujian aplikasi dimulai. Penguji memverifikasi kesesuaian, keakuratan, duplikasi, konsistensi, validitas, dan kelengkapan, serta mencari nilai null, masalah pengkodean, dan pergeseran kolom.

AI menghasilkan data uji sintetis yang mencerminkan data produksi tanpa mengekspos catatan pribadi, menandai anomali dalam alur kerja yang terlewatkan oleh aturan tetap, dan memprioritaskan pemeriksaan validasi mana yang perlu dijalankan. Peninjauan manusia terhadap logika bisnis tetap penting.

Copilot dan asisten berbasis agen serupa mempercepat eksekusi kode berulang: kueri perbandingan HiveQL, PySpark Skrip pernyataan dan rekonsiliasi. Jalankan kode yang dihasilkan terhadap kumpulan data yang terbukti benar terlebih dahulu, karena kueri yang masuk akal dapat memvalidasi kolom yang salah.

Validasi skema memastikan bahwa data yang masuk membawa field, tipe, dan toleransi null yang diharapkan sebelum mencapai HDFS atau penyimpanan NoSQL. Mendeteksi penyimpangan skema pada saat pemasukan data jauh lebih murah daripada... tracmenghasilkan output yang rusak di kemudian hari.

Tim menggabungkan subset yang disamarkan yang diambil dari produksi, catatan yang dihasilkan yang menekankan kasus-kasus ekstrem seperti nilai nol dan outlier, dan pemutaran ulang aliran historis. Pengambilan sampel saja berisiko, karena catatan langka menyebabkan kegagalan yang layak untuk ditemukan.

Pengujian ETL memvalidasi pemuatan terstruktur ke dalam gudang data dengan alat yang telah ditentukan dan volume yang dapat diprediksi. Pengujian Big Data mencakup data terstruktur dan tidak terstruktur pada klaster terdistribusi, di mana validasi ditulis dalam MapReduce atau HiveQL.

Ukur laju penyerapan terhadap ukuran pesan, masukkan tumpukan pesan (backlog) untuk memastikan antrean pulih, dan matikan node di tengah proses untuk memeriksa apakah tidak ada yang hilang. Bandingkan jendela peristiwa sumber yang dihitung dengan peristiwa di tujuan (sink).

SQL dan HiveQL, satu bahasa untuk MapReduce atau Spark Pekerjaan, pengetahuan praktis tentang HDFS dan penyimpanan NoSQL, ditambah pembuatan skrip untuk alat uji. Penalaran analitis lebih penting, karena tidak ada satu pun alat ujung-ke-ujung yang tersedia.

Ringkaslah postingan ini dengan: