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

Isi kandungan:

Anonim

Ujian Data Besar

Pengujian Data Besar adalah proses pengujian aplikasi data besar untuk memastikan semua fungsi aplikasi data besar berfungsi seperti yang diharapkan. Tujuan pengujian data besar adalah untuk memastikan bahawa sistem data besar berjalan dengan lancar dan bebas ralat sambil mengekalkan prestasi dan keselamatan.

Data besar adalah kumpulan set data besar yang tidak dapat diproses menggunakan teknik pengkomputeran tradisional. Pengujian set data ini melibatkan pelbagai alat, teknik, dan kerangka kerja untuk diproses. Data besar berkaitan dengan pembuatan data, penyimpanan, pengambilan dan analisis yang luar biasa dari segi jumlah, ragam, dan halaju. Anda boleh mengetahui lebih lanjut mengenai Big Data, Hadoop dan MapReduce di sini

Dalam tutorial Pengujian Data Besar ini, anda akan belajar-

  • Apa itu Strategi Pengujian Data Besar?
  • Cara menguji Aplikasi Hadoop
  • Ujian Senibina
  • Ujian Prestasi
  • Pendekatan Pengujian Prestasi
  • Parameter untuk Ujian Prestasi
  • Uji Keperluan Persekitaran
  • Ujian data besar Vs. Pengujian pangkalan data tradisional
  • Alat yang digunakan dalam Senario Data Besar
  • Cabaran dalam Pengujian Data Besar

Apa itu Strategi Pengujian Data Besar?

Menguji aplikasi Big Data lebih merupakan pengesahan pemprosesan datanya daripada menguji ciri individu produk perisian. Ketika datang ke pengujian data besar, prestasi dan pengujian fungsi adalah kuncinya.

Dalam strategi pengujian Big Data, jurutera QA mengesahkan kejayaan pemprosesan terabyte data menggunakan kluster komoditi dan komponen sokongan lain. Ia memerlukan kemahiran pengujian yang tinggi kerana prosesnya sangat pantas. Pemprosesan mungkin terdiri daripada tiga jenis

Seiring dengan ini, kualiti data juga merupakan faktor penting dalam pengujian Hadoop. Sebelum menguji aplikasi, perlu memeriksa kualiti data dan harus dianggap sebagai bagian dari pengujian pangkalan data. Ia melibatkan memeriksa pelbagai ciri seperti kesesuaian, ketepatan, pendua, konsistensi, kesahan, kelengkapan data, dll. Selanjutnya dalam tutorial Pengujian Hadoop ini, kita akan belajar bagaimana menguji aplikasi Hadoop.

Cara menguji Aplikasi Hadoop

Gambar berikut memberikan gambaran keseluruhan tahap tinggi dalam Pengujian Aplikasi Data Besar

Big Data Testing atau Hadoop Testing boleh dibahagikan kepada tiga langkah

Langkah 1: Pengesahan Tahap Data

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

  • Data dari pelbagai sumber seperti RDBMS, weblog, media sosial, dan lain-lain harus disahkan untuk memastikan bahawa data yang betul ditarik ke dalam sistem
  • Membandingkan data sumber dengan data yang dimasukkan ke dalam sistem Hadoop untuk memastikannya sesuai
  • Pastikan data yang betul diekstrak dan dimuat ke lokasi HDFS yang betul

Alat seperti Talend , Datameer, dapat digunakan untuk pengesahan tahap data

Langkah 2: Pengesahan "MapReduce"

Langkah kedua adalah pengesahan "MapReduce". Pada tahap ini, penguji Data Besar mengesahkan pengesahan logik perniagaan pada setiap nod dan kemudian mengesahkannya setelah menjalankan terhadap beberapa nod, memastikan bahawa

  • Proses Pengurangan Peta berfungsi dengan betul
  • Peraturan pengagregatan atau pemisahan data dilaksanakan pada data
  • Pasangan nilai utama dihasilkan
  • Mengesahkan data selepas proses Map-Reduce

Langkah 3: Fasa Pengesahan Keluaran

Tahap akhir atau ketiga pengujian Hadoop adalah proses pengesahan output. Fail data output dihasilkan dan siap dipindahkan ke EDW (Enterprise Data Warehouse) atau sistem lain berdasarkan keperluan.

Aktiviti di peringkat ketiga merangkumi

  • Untuk memeriksa peraturan transformasi diterapkan dengan betul
  • Untuk memeriksa integriti data dan berjaya memuatkan data ke dalam sistem sasaran
  • Untuk memastikan tidak ada kerosakan data dengan membandingkan data sasaran dengan data sistem fail HDFS

Ujian Senibina

Hadoop memproses jumlah data yang sangat besar dan memerlukan banyak sumber. Oleh itu, ujian seni bina sangat penting untuk memastikan kejayaan projek Big Data anda. Sistem yang dirancang dengan buruk atau tidak betul dapat menyebabkan penurunan prestasi, dan sistem tersebut dapat gagal memenuhi persyaratan. Paling tidak, perkhidmatan ujian Prestasi dan Failover harus dilakukan di persekitaran Hadoop.

Pengujian prestasi merangkumi pengujian masa penyelesaian pekerjaan, penggunaan memori, throughput data, dan metrik sistem yang serupa. Walaupun motif perkhidmatan ujian Failover adalah untuk mengesahkan bahawa pemprosesan data berlaku dengan lancar sekiranya berlaku kegagalan data node

Ujian Prestasi

Ujian Prestasi untuk Big Data merangkumi dua tindakan utama

  • Pengambilan data dan Sepanjang : Pada tahap ini, penguji Big Data mengesahkan bagaimana sistem cepat dapat menggunakan data dari pelbagai sumber data. Ujian melibatkan mengenal pasti mesej yang berbeza yang boleh diproses oleh barisan dalam jangka masa tertentu. Ini juga merangkumi seberapa cepat data dapat dimasukkan ke dalam penyimpanan data yang mendasari contohnya kadar penyisipan ke dalam pangkalan data Mongo dan Cassandra.
  • Pemprosesan Data : Ini melibatkan pengesahan kecepatan dengan mana pertanyaan atau peta mengurangkan pekerjaan dilaksanakan. Ini juga termasuk menguji pemrosesan data secara terpisah ketika penyimpanan data yang mendasari diisi dalam kumpulan data. Contohnya, menjalankan pekerjaan Mengurangkan Peta pada HDFS yang mendasari
  • Prestasi Sub-Komponen : Sistem ini terdiri daripada pelbagai komponen, dan penting untuk menguji setiap komponen ini secara terpisah. Sebagai contoh, seberapa cepat mesej diindeks dan digunakan, pekerjaan MapReduce, prestasi pertanyaan, carian, dll.

Pendekatan Pengujian Prestasi

Ujian prestasi untuk aplikasi data besar melibatkan pengujian sejumlah besar data berstruktur dan tidak berstruktur, dan memerlukan pendekatan pengujian khusus untuk menguji data besar tersebut.

Uji Prestasi dijalankan mengikut urutan ini

  1. Prosesnya bermula dengan pengaturan kluster data Besar yang akan diuji untuk prestasi
  2. Mengenal dan merancang beban kerja yang sesuai
  3. Siapkan pelanggan individu (Skrip Khusus dibuat)
  4. Jalankan ujian dan analisis hasilnya (Sekiranya objektif tidak tercapai maka tentukan komponen dan jalankan semula)
  5. Konfigurasi Optimum

Parameter untuk Ujian Prestasi

Pelbagai parameter yang akan disahkan untuk ujian prestasi adalah

  • Penyimpanan Data: Bagaimana data disimpan dalam node yang berbeza
  • Komit log: Seberapa besar log komit dibenarkan berkembang
  • Serentak: Berapa banyak utas yang dapat melakukan operasi menulis dan membaca
  • Caching: Tentukan tetapan cache "cache baris" dan "cache kunci."
  • Timeout: Nilai untuk timeout sambungan, timeout query, dll.
  • Parameter JVM: Ukuran timbunan, algoritma pengumpulan GC, dll.
  • Peta mengurangkan prestasi: Jenis, gabungan, dll.
  • Antrean mesej: Kadar, ukuran dan lain-lain

Uji Keperluan Persekitaran

Persekitaran Ujian perlu bergantung pada jenis aplikasi yang anda uji. Untuk pengujian perisian data besar, persekitaran ujian harus merangkumi

  • Ia harus mempunyai ruang yang cukup untuk penyimpanan dan memproses sejumlah besar data
  • Ia harus mempunyai kelompok dengan nod dan data yang diedarkan
  • Seharusnya memiliki CPU dan penggunaan memori minimum agar kinerja tetap tinggi untuk menguji prestasi Big Data

Ujian data besar Vs. Pengujian pangkalan data tradisional

Hartanah

Pengujian pangkalan data tradisional

Ujian data besar

Data

  • Penguji berfungsi dengan data berstruktur
  • Penguji berfungsi dengan data berstruktur dan tidak berstruktur

Pendekatan Ujian

  • Pendekatan ujian ditentukan dengan baik dan diuji masa
  • Pendekatan pengujian memerlukan usaha R&D yang fokus

Strategi Menguji

  • Penguji mempunyai pilihan strategi "Persampelan" secara manual atau strategi "Pengesahan Ekzos" oleh alat automasi
  • Strategi "Sampling" dalam Big data adalah satu cabaran

Prasarana

  • Ia tidak memerlukan persekitaran ujian khas kerana ukuran failnya terhad
  • Ia memerlukan persekitaran ujian khas kerana ukuran dan fail data yang besar (HDFS)

Alat Pengesahan

Penguji menggunakan makro berasaskan Excel atau alat automasi berasaskan UI

Tidak ada alat yang ditentukan, rentangnya luas dari alat pengaturcaraan seperti MapReduce hingga HIVEQL

Alat Ujian

Alat Ujian boleh digunakan dengan pengetahuan asas operasi dan kurang latihan.

Ia memerlukan satu set kemahiran dan latihan khusus untuk mengendalikan alat ujian. Juga, alat-alat ini berada di tahap baru dan lama-kelamaan ia mungkin dilengkapi dengan ciri-ciri baru.

Alat yang digunakan dalam Senario Data Besar

Kluster Data Besar

Alat Data Besar

NoSQL:

  • CouchDB, Pangkalan Data MongoDB, Cassandra, Redis, ZooKeeper, HBase

Pengurangan Peta:

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

Penyimpanan:

  • S3, HDFS (Sistem Fail Terdistribusi Hadoop)

Pelayan:

  • Elastik, Heroku, Elastik, Google App Engine, EC2

Memproses

  • R, Yahoo! Paip, Turk Mekanikal, Lembaran Besar, Datameer

Cabaran dalam Pengujian Data Besar

  • Automasi

    Ujian automasi untuk Big data memerlukan seseorang yang mempunyai kepakaran teknikal. Alat automatik juga tidak dilengkapi untuk menangani masalah yang tidak dijangka yang timbul semasa ujian

  • Permuafakatan

    Ini adalah salah satu fasa pengujian yang tidak terpisahkan. Latensi mesin maya menimbulkan masalah masa dalam ujian prestasi data besar masa nyata. Menguruskan gambar dalam Big data juga menyusahkan.

  • Set Data Besar
    • Perlu mengesahkan lebih banyak data dan perlu melakukannya dengan lebih pantas
    • Perlu mengautomasikan usaha ujian
    • Perlu dapat menguji di pelbagai platform

Cabaran ujian prestasi

  • Berbagai teknologi : Setiap sub-komponen tergolong dalam teknologi yang berbeza dan memerlukan pengujian secara berasingan
  • Ketiadaan alat tertentu : Tidak ada alat tunggal yang dapat melakukan ujian ujung ke ujung. Sebagai contoh, NoSQL mungkin tidak sesuai untuk barisan mesej
  • Uji Skrip : Skrip tahap tinggi diperlukan untuk merancang senario ujian dan kes ujian
  • Persekitaran ujian : Ia memerlukan persekitaran ujian khas kerana ukuran data yang besar
  • Penyelesaian Pemantauan : Terdapat penyelesaian terhad yang dapat memantau seluruh persekitaran
  • Penyelesaian Diagnostik : penyelesaian Kustom diperlukan untuk dikembangkan untuk menguraikan bidang kemacetan prestasi

Ringkasan

  • Oleh kerana kejuruteraan data dan analisis data maju ke tahap seterusnya, pengujian data besar tidak dapat dielakkan.
  • Pemprosesan data yang besar mungkin Batch, Real-Time, atau Interactive
  • 3 peringkat pengujian aplikasi Big Data adalah
    • Pengesahan peringkat data
    • Pengesahan "MapReduce"
    • Fasa pengesahan output
  • Ujian Senibina adalah fasa penting dalam pengujian data besar, kerana sistem yang dirancang dengan buruk dapat menyebabkan kesalahan dan penurunan prestasi yang belum pernah terjadi sebelumnya
  • Ujian prestasi untuk Big data termasuk pengesahan
    • Hasil data
    • Pemprosesan data
    • Prestasi sub-komponen
  • Pengujian data besar sangat berbeza dengan pengujian data Tradisional dari segi Data, Infrastruktur & Alat Pengesahan
  • Cabaran Pengujian Data Besar merangkumi virtualisasi, automasi ujian dan menangani set data yang besar. Ujian prestasi aplikasi Big Data juga menjadi masalah.