Підручник з тестування великих даних: що таке, стратегія, як перевірити Hadoop

Тестування великих даних

Тестування великих даних це процес тестування програми для великих даних, щоб переконатися, що всі функції програми для великих даних працюють належним чином. Мета тестування великих даних — переконатися, що система великих даних працює безперебійно та без помилок, зберігаючи продуктивність і безпеку.

Великі дані — це сукупність великих наборів даних, які неможливо обробити за допомогою традиційних обчислювальних методів. Тестування цих наборів даних включає різні інструменти, техніки та рамки для обробки. Великі дані пов’язані зі створенням, зберіганням, пошуком і аналізом даних, які є вражаючими з точки зору обсягу, різноманітності та швидкості. Ви можете дізнатися більше про Big Data, Hadoop і MapReduce тут

Що таке стратегія тестування великих даних?

Тестування програми Big Data — це скоріше перевірка її обробки даних, а не тестування окремих функцій програмного продукту. Що стосується тестування великих даних, продуктивність і функціональне тестування це ключі.

У стратегії тестування Big Data інженери з якості перевіряють успішну обробку терабайтів даних за допомогою товарного кластера та інших допоміжних компонентів. Це вимагає високого рівня навичок тестування, оскільки обробка дуже швидка. Обробка може бути трьох видів

Стратегія тестування великих даних

Крім того, якість даних також є важливим фактором у тестуванні Hadoop. Перед тестуванням програми необхідно перевірити якість даних, і це слід розглядати як частину тестування бази даних. Це включає перевірку різних характеристик, таких як відповідність, точність, дублювання, узгодженість, достовірність, повнота даних, і т. д. Далі в цьому навчальному посібнику з тестування Hadoop ми навчимося тестувати програми Hadoop.

Як перевірити програми Hadoop

На наступному малюнку наведено загальний огляд етапів тестування програм для великих даних

Перевірте програми Hadoop

Тестування великих даних або тестування Hadoop можна умовно розділити на три етапи

Крок 1: Перевірка постановки даних

Перший крок у цьому навчальному посібнику з тестування великих даних називається етапом перед Hadoop, який передбачає перевірку процесу.

  • Дані з різних джерел, наприклад СУБД, веб-журнали, соціальні медіа тощо слід перевірити, щоб переконатися, що в систему надходять правильні дані
  • Порівняння вихідних даних із даними, переданими в систему Hadoop, щоб переконатися, що вони збігаються
  • Переконайтеся, що правильні дані видобуто та завантажено в правильне розташування HDFS

Такі інструменти, як Таленд, Датамер, можна використовувати для перевірки постановки даних

Крок 2: Перевірка “MapReduce”.

Другим кроком є ​​перевірка “MapReduce”. На цьому етапі тестер Big Data перевіряє перевірку бізнес-логіки на кожному вузлі, а потім перевіряє їх після запуску на кількох вузлах, гарантуючи, що

  • Процес Map Reduce працює правильно
  • Для даних реалізовано правила агрегації або сегрегації даних
  • Створюються пари ключ-значення
  • Перевірка даних після процесу Map-Reduce

Крок 3: Етап перевірки вихідних даних

Останнім або третім етапом тестування Hadoop є процес перевірки результатів. Файли вихідних даних генеруються та готові до переміщення до EDW (Enterprise Data Warehouse) або будь-якої іншої системи відповідно до вимог.

Діяльність третього етапу включає

  • Для перевірки правильності застосування правил перетворення
  • Для перевірки цілісності даних і успішного завантаження даних у цільову систему
  • Щоб переконатися, що дані не пошкоджені, порівняйте цільові дані з даними файлової системи HDFS

ArchiТестування текстури

Hadoop обробляє дуже великі обсяги даних і вимагає великих ресурсів. Отже, тестування архітектури має вирішальне значення для забезпечення успіху вашого проекту Big Data. Погано або неправильно розроблена система може призвести до погіршення продуктивності, і система може не відповідати вимогам. принаймні, Тест продуктивності та відновлення після відмови послуги повинні виконуватися в середовищі Hadoop.

Тестування продуктивності включає тестування часу виконання завдання, використання пам’яті, пропускної здатності даних і подібних системних показників. У той час як мотив служби тестування відмови полягає в тому, щоб перевірити, що обробка даних відбувається безперебійно в разі збою вузлів даних

Тестування продуктивності

Тестування продуктивності для великих даних включає дві основні дії

  • Поглинання даних і Throughout: на цьому етапі тестер Big Data перевіряє, як швидка система може споживати дані з різних джерел даних. Тестування передбачає ідентифікацію іншого повідомлення, яке черга може обробити за певний період часу. Він також включає, як швидко дані можуть бути вставлені в базове сховище даних, наприклад швидкість вставки в Mongo і Cassandra база даних.
  • Обробка даних: передбачає перевірку швидкості, з якою виконуються запити або завдання скорочення карти. Це також включає тестування обробки даних окремо, коли базове сховище даних заповнено наборами даних. Наприклад, запуск завдань Map Reduce на основі HDFS
  • Продуктивність підкомпонента: Ці системи складаються з кількох компонентів, і важливо тестувати кожен із цих компонентів окремо. Наприклад, швидкість індексації та споживання повідомлення, завдання MapReduce, продуктивність запитів, пошук тощо.
  • Підхід до тестування продуктивності

    Тестування продуктивності для застосування великих даних передбачає тестування величезних обсягів структурованих і неструктурованих даних, і це вимагає спеціального підходу до тестування для перевірки таких масивних даних.

    Підхід до тестування продуктивності

    Тестування продуктивності виконується в такому порядку

    1. Процес починається з налаштування кластера великих даних, продуктивність якого потрібно перевірити
    2. Визначте та спроектуйте відповідні навантаження
    3. Підготовка індивідуальних клієнтів (створюються користувацькі скрипти)
    4. Виконайте тест і проаналізуйте результат (якщо цілі не досягнуто, налаштуйте компонент і виконайте повторно)
    5. Оптимальна конфігурація

    Параметри для тестування продуктивності

    Різні параметри, які необхідно перевірити для тестування продуктивності

    • Зберігання даних: як дані зберігаються в різних вузлах
    • Журнали фіксації: розмір дозволеного журналу фіксації
    • Одночасність: скільки потоків можуть виконувати операції запису та читання
    • Кешування: налаштуйте параметри кешу «кеш рядків» і «кеш ключів».
    • Час очікування: значення часу очікування підключення, часу очікування запиту тощо.
    • Параметри JVM: розмір купи, алгоритми збирання GC тощо.
    • Карта знижує продуктивність: сортування, злиття тощо.
    • Черга повідомлень: швидкість повідомлень, розмір тощо.

    Потреби тестового середовища

    Тестове середовище має залежати від типу програми, яку ви тестуєте. Для тестування програмного забезпечення для великих даних тестове середовище має включати

    • Він повинен мати достатньо місця для зберігання та обробки великої кількості даних
    • Він повинен мати кластер із розподіленими вузлами та даними
    • Він повинен мати мінімальне використання процесора та пам’яті, щоб підтримувати високу продуктивність для перевірки продуктивності великих даних

    Тестування великих даних Vs. Тестування традиційної бази даних

    властивості Тестування традиційної бази даних Тестування великих даних
    дані Робота тестерів зі структурованими даними Тестер працює як зі структурованими, так і з неструктурованими даними
    Підхід до тестування Підхід до тестування чітко визначений і перевірений часом Підхід до тестування вимагає зосереджених зусиль у дослідженнях і розробках
    Стратегія тестування Тестер може вибрати стратегію «Вибірка» вручну або стратегію «Вичерпна перевірка» за допомогою інструменту автоматизації Стратегія «вибірки» у великих даних є викликом
    Інфраструктура Він не вимагає спеціального тестового середовища, оскільки розмір файлу обмежений Потрібне спеціальне тестове середовище через великий розмір даних і файлів (HDFS)
    Інструменти перевірки Тестер використовує або Excel на основі макроси або засоби автоматизації на основі інтерфейсу користувача Немає визначених інструментів, діапазон широкий від інструментів програмування, таких як MapReduce до HIVEQL
    Тестування інструментів Інструменти тестування можна використовувати з базовими знаннями роботи та меншою підготовкою. Для роботи з інструментом тестування потрібен певний набір навичок і навчання. Крім того, інструменти знаходяться на стадії зародження, і з часом можуть з’явитися нові функції.

    Інструменти, які використовуються в сценаріях великих даних

    Великий даних Cluster Інструменти великих даних
    NoSQL: CouchDB, Бази даних MongoDB, Cassandra, Redis, ZooKeeper, HBase
    MapReduce: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    зберігання: S3, HDFS (розподілена файлова система Hadoop)
    Сервери: Еластичний, Heroku, Elastic, Google App Engine, EC2
    Обробка R, Yahoo! Труби, Mechanical Turk, BigSheets, Datameer

    Проблеми в тестуванні великих даних

    • Автоматизація

      Тестування автоматизації для великих даних потрібен хтось із технічними знаннями. Крім того, автоматизовані інструменти не обладнані для вирішення неочікуваних проблем, які виникають під час тестування

    • Віртуалізація

      Це один з невід'ємних етапів тестування. Затримка віртуальної машини створює проблеми з часом під час тестування продуктивності великих даних у реальному часі. Крім того, керування зображеннями у великих даних є клопотом.

    • Великий набір даних
      • Потрібно перевірити більше даних і зробити це швидше
      • Потрібно автоматизувати тестування
      • Потрібно мати можливість тестувати на різних платформах

    Проблеми тестування продуктивності

    • Різноманітний набір технологій: Кожен підкомпонент належить до окремої технології та потребує окремого тестування
    • Відсутність специфічних інструментів: Жоден інструмент не може виконати наскрізне тестування. Наприклад, NoSQL може не підійти для черг повідомлень
    • Тестовий сценарій: Високий рівень сценаріїв необхідний для розробки тестових сценаріїв і тестових випадків
    • Тестове середовище: потребує спеціального тестового середовища через великий розмір даних
    • Рішення для моніторингу: існують обмежені рішення, які можуть контролювати все середовище
    • Діагностичне рішення: необхідна розробка спеціального рішення для визначення вузьких місць продуктивності

    Резюме

    • Оскільки розробка даних і аналітика даних виходять на новий рівень, тестування великих даних стає неминучим.
    • Обробка великих даних може бути пакетною, у реальному часі або інтерактивною
    • 3 етапи тестування додатків Big Data: перевірка постановки даних, перевірка «MapReduce» і фаза перевірки вихідних даних
    • ArchiТестування текстур є важливою фазою тестування великих даних, оскільки погано розроблена система може призвести до безпрецедентних помилок і погіршення продуктивності
    • Тестування продуктивності великих даних включає перевірку пропускної здатності даних, обробки даних і продуктивності підкомпонентів
    • Тестування великих даних дуже відрізняється від традиційного тестування даних з точки зору даних, інфраструктури та інструментів перевірки
    • Проблеми тестування великих даних включають віртуалізацію, автоматизацію тестування та роботу з великим набором даних. Тестування продуктивності додатків Big Data також є проблемою.

    Підсумуйте цей пост за допомогою: