Підручник з тестування блокчейнів

Зміст:

Anonim

Що таке блокчейн?

Blockchain - це спільний магазин баз даних, що постійно збільшує список записів, які називаються блоками. Кожен блок містить хеш попереднього блоку та позначку часу.

У цьому підручнику ви дізнаєтесь:

  • Що таке блокчейн?
  • Особливості Blockchain включають
  • Тип блокчейну
  • Основні компоненти блокчейну
  • Переваги блокчейну
  • Проблеми в тестуванні блокчейнів
  • Етапи тестування блокчейнів 7
  • Основні типи тестування на застосунку Blockchain 10
  • Засоби тестування блокчейнів 10

Особливості Blockchain включають

  • Децентралізована система : вигідна в різних галузях, таких як фінанси, нерухомість тощо
  • Покращена безпека : використовує кілька вузлів для завершення та автентифікації транзакцій
  • Автентичність : дозволяє унікальному алгоритму обробляти дані
  • Збільшена ємність : Збільшує пропускну здатність всієї Мережі

Тип блокчейну

Ось три типи блокчейнів:

Блокчейн консорціуму:

Кілька організацій матимуть доступ і повноваження над Мережею. Це повністю децентралізована система

Публічний блокчейн:

У цьому типі тестування блокчейну кожен має доступ до Мережі і може взяти участь у Консенсусі. Його децентралізована система.

Приватний блокчейн:

Доступ та повноваження над Мережею матимуть лише окремі організації. Це частково децентралізована система.

Громадський Приватна Консорціум
Доступ
  • Будь-хто
  • Єдина організація
  • Кілька організацій
Учасники
  • Без дозволу
  • Анонім
  • Дозвіл
  • Відомі ідентичності
  • Дозвіл
  • Відомі ідентичності
Безпека
  • Механізм консенсусу
  • Доказ роботи / Доказ стека
  • Попередньо затверджені учасники
  • Голосування / багатопартійний консенсус
  • Попередньо затверджені учасники
  • Голосування / багатопартійний консенсус
Швидкість транзакції
  • Повільно
  • Легше і швидше
  • Легше і швидше

Основні компоненти блокчейну

Вузол Застосування

Кожен Вузол повинен встановити та запустити комп'ютерну програму, яка визначає екосистему, в якій вони бажають взяти участь

Спільна книга

Структура даних (книга) управляється всередині програми вузла. Зміст екосистеми можна переглянути, коли додаток вузла перебуває в робочому стані.

Алгоритм консенсусу

Алгоритм консенсусу реалізований як частина програми вузла, забезпечуючи "правила гри" щодо того, як екосистема отримає єдиний вигляд книги.

Віртуальна машина

Абстракція машини, що експлуатується з інструкціями та реалізована як частина програми вузла, якою керує кожен учасник екосистеми.

Як працює блокчейн?

Переваги блокчейну

  • Заощадження часу : блокчейн зменшує час транзакцій з днів до хвилин. Рішення транзакцій є швидшим, оскільки воно не вимагає перевірки центральним органом влади.
  • Економічно вигідне: Блокчейн-транзакції зменшують обробку. Учасники можуть обмінюватися цінними предметами безпосередньо. Blockchain усуває дублювання зусиль, оскільки учасники мають доступ до спільної книги.
  • Підвищити безпеку : захист блоків від захисту від шахрайства та кіберзлочинності.

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

  • Розуміння технології - Blockchain - це нова технологія, і розуміння технології з доменними знаннями дуже важливо при тестуванні Blockchain Application
  • Відсутність інструментів тестування блокчейнів - тестування додатків на основі блокчейнів - це все про інструменти. Вибір правильного інструменту відповідно до програми є одним з важливих рішень.
  • Визначення стратегії тестування - як і будь-яка інша програма, розробляючи стратегію тестування для програми Blockchain. Це одна з найбільших проблем, оскільки Тестова стратегія вимагає глибоких знань та розуміння технології та застосування.
  • Розмір блоку та ланцюга - Поряд зі стандартним тестуванням, інструментами та найкращими практиками, тестування на розмір блоку та розмір ланцюга також має важливе значення. Програми блокчейна можуть отримати збій без належної перевірки розміру блоку та розміру ланцюжка.
  • Тестування інтеграції - Оскільки в додатку Blockchain задіяно кілька компонентів, тестування інтеграції слід проводити належним чином і часто, щоб перевірити, чи всі компоненти правильно інтегровані, щоб уникнути будь-яких збоїв.
  • Зниження продуктивності та завантаження для перевірки продуктивності та тестування навантаження дає мало або взагалі не розуміє, як працює програма Blockchain як у виробництві, так і за конкретних робочих навантажень та мережевих умов.
  • Безпека - захист даних повинен бути найважливішим у програмі Blockchain. Blockchain може бути частиною різних секторів, таких як охорона здоров'я, фінанси тощо. Будь-який тип шкідливих атак може вплинути на додаток Blockchain

Етапи тестування блокчейнів

Фаза ініціації:

  • Розуміння архітектури блокчейнів : На цьому етапі ми розуміємо та аналізуємо бізнес та функціональні вимоги. Це описує поведінку програми та те, як користувач буде взаємодіяти з програмою
  • Повне проектування стратегії тестування : На цьому етапі ми описуємо підхід тестування для тестування програми. Це слід робити детально, щоб усі цілі були повністю охоплені.

Етап проектування:

  • Створення тестового кейсу : На цьому етапі команда з контролю якості пише тестові кейси з відповідними кроками. Ці тестові кейси переглядає бізнес-аналітик (BA).
  • Створення тестових даних : На цьому етапі тестові дані створюються або витягуються з попереднього середовища відповідно до бізнес-вимог. Дані тесту можна створювати вручну або за допомогою засобів автоматизації.
  • Налаштування середовища : На цьому кроці середовище тестування налаштовується як потреба в бізнесі чи додатку
  • Метрики продуктивності : Метрики продуктивності представляють інформацію з точки зору продуктивності програми, системи або компонентів

Етап тестування:

  • Тестування API : Під час тестування API ми гарантуємо, що взаємодія між програмами в екосистемі блокчейну буде такою, як очікувалося
  • Тестування блоків : Усі блоки в Мережі слід тестувати індивідуально, щоб забезпечити належну співпрацю.
  • Функціональне тестування : Під час функціонального тестування ми оцінюємо роботу різних функціональних частин блокчейну (наприклад, смарт-контракти).
  • Тестування продуктивності : такі деталі, як затримка мережі на основі розміру блоку, розміру мережі, очікуваного розміру транзакції та часу, протягом якого запит повертає вихідні дані за допомогою спеціалізованого протоколу автентифікації
  • Перевірка безпеки : У цьому ми гарантуємо, що додаток вразливий до атак, а Системи можуть захищати дані та здатні обробляти шкідливі атаки тощо.
  • Тестування інтеграції : Під час тестування інтеграції ми гарантуємо, що всі компоненти програми інтегровані належним чином і виконують дії належним чином
  • Тестування смарт-контракту : Тестування смарт-контракту - це проведення детального функціонального тестування бізнес-логіки та процесу.

Етап звіту:

  • Підсумковий звіт проекту : Опишіть загальний огляд деталей проекту, дат проекту, вартості та деталей завдання
  • Звіт про тестування розумного контракту : Цей звіт описує деталі обробки смарт-контракту, даних та правил
  • Звіт про тестування безпеки : відображає вразливу інформацію у офіційному документі для клієнта та вищого керівництва. Звіт містить дату тестування, дані тестування та Підсумок виявлених уразливостей
  • Звіт про тестування продуктивності : Цей звіт показує деталі щодо продуктивності програм, таких як швидкість, масштабованість, надійність тощо.

Основні типи тестування в додатку Blockchain

Функціональне тестування

Функціональне тестування відіграє важливу роль у тестуванні блокчейнів, оскільки воно допомагає оцінювати бізнес-вимоги, процеси та ефективність випадків використання. Нижче наведені компоненти, які можна протестувати в рамках функціонального тестування: 1) Розмір блоку та розмір ланцюга 2) Додавання блоку 3) Передача даних

Інтеграційне тестування

Додаток Blockchain працює в різних середовищах. Отже, важливо протестувати міжсистемні з’єднання

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

Це допомагає визначити вузькі місця апаратного та програмного забезпечення заздалегідь. Це також може допомогти вам з’ясувати потенційні витрати на роботу програми в хмарі чи інших середовищах.

Тестування вузлів

Всі різноманітні вузли в Мережі повинні бути протестовані незалежно для забезпечення безперебійної співпраці.

Тестування API:

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

Засоби тестування блокчейнів

Ось декілька інструментів тестування блокчейнів:

1) Тестер ефіру:

Це бібліотека для тестування з відкритим кодом, доступна на репозиторії GitHub. Це легко налаштувати за допомогою керованої підтримки API для різних вимог до тестування.

2) Ганаш:

Це раніше відомий як Testrpc , є широко використовуваною бібліотекою для тестування Ефіріума контрактів на місцевому рівні. Він працює шляхом розкручування свого роду макет B lockchain , що дає вам доступ до рахунків , які можна використовувати для T esting.

3) Композитор Hyperledger:

Hyperledger Composer - це інструмент з відкритим кодом, який допомагає розробникам створювати блокчейн-додатки. За допомогою цього інструменту ми можемо проводити в основному три типи тестування: інтерактивне тестування, автоматизоване блокування та тестування системи.

Ця стаття представлена ​​Суманом Дассом.