Урок за тестване на блокчейн

Съдържание:

Anonim

Какво е Blockchain?

Blockchain е споделен магазин за бази данни, непрекъснато нарастващ списък от записи, наречени блокове. Всеки блок съдържа хеш на предишния блок и клеймо за време.

В този урок ще научите:

  • Какво е Blockchain?
  • Характеристиките на Blockchain включват
  • Тип блокчейн
  • Основни компоненти на блокчейн
  • Предимства на Blockchain
  • Предизвикателства при тестване на блокчейн
  • Фази на тестване на блокчейн 7
  • Основни типове тестване на Blockchain Application 10
  • Инструменти за тестване на блокчейн 10

Характеристиките на Blockchain включват

  • Децентрализирана система : благоприятна в различни индустрии като финанси, недвижими имоти и т.н.
  • По-добра сигурност : Използва множество възли за завършване и удостоверяване на транзакции
  • Автентичност : Позволява на уникалния алгоритъм да обработва данни
  • Увеличен капацитет : Увеличава капацитета на цялата мрежа

Тип блокчейн

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

Консорциум блокчейн:

Множество организации ще имат достъп и правомощия в мрежата. Това е напълно децентрализирана система

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

При този тип блокчейн тестване всеки има достъп до мрежата и може да участва в консенсус. Децентрализираната му система.

Частен блокчейн:

Само единични организации ще имат достъп и правомощия над мрежата. Това е частично децентрализирана система.

Публично Частен Консорциум
Достъп
  • Всеки
  • Единична организация
  • Множество организации
Участници
  • Без разрешение
  • Анонимен
  • Разрешено
  • Известни идентичности
  • Разрешено
  • Известни идентичности
Сигурност
  • Механизъм на консенсуса
  • Доказателство за работа / Доказателство за стека
  • Предварително одобрени участници
  • Гласуване / многопартиен консенсус
  • Предварително одобрени участници
  • Гласуване / многопартиен консенсус
Скорост на транзакцията
  • Бавен
  • По-леки и по-бързи
  • По-леки и по-бързи

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

Приложение на възел

Всеки възел трябва да инсталира и стартира компютърно приложение, окончателно за екосистемата, в която желае да участва

Споделена книга

Структура от данни (книга) се управлява вътре в приложението на възела. Съдържанието на екосистемата може да се преглежда, след като приложението на възела е в работещо състояние.

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

Консенсусният алгоритъм е реализиран като част от приложението на възела, предоставяйки „правилата на играта“ за това как екосистемата ще стигне до един изглед на главната книга.

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

Абстракция на машина, експлоатирана с инструкции и внедрена като част от приложението на възела, което всеки участник в екосистемата изпълнява.

Как работи Blockchain?

Предимства на Blockchain

  • Спестяване на време : Blockchain намалява времето за транзакция от дни на минути. Решението за транзакция е по-бързо, тъй като не изисква проверка от централен орган.
  • Икономично : Блокчейн транзакции по-малко обработка. Участниците могат да обменят ценни артикули директно. Blockchain премахва дублирането на усилия, защото участниците имат достъп до споделена книга.
  • Повишаване на сигурността : Защитата на сигурността на Blockchain срещу измами и киберпрестъпления.

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

  • Разбиране на технологията - Blockchain е нова технология и разбирането на технологията със знания за домейн е много важно при тестване на Blockchain Application
  • Липса на инструменти за тестване на блокчейн - Тестването на приложения, базирано на блокчейн, е свързано с инструменти. Изборът на подходящия инструмент според приложението е едно от важните решения.
  • Дефиниране на тестова стратегия - Както всяко приложение, проектиране на тестова стратегия за Blockchain приложение. Това е едно от най-големите предизвикателства, тъй като Тестовата стратегия изисква задълбочени познания и разбиране на технологията и приложението.
  • Размер на блока и веригата - Заедно със стандартното тестване, инструментите и най-добрите практики на място, тестването на размера на блока и размера на веригата също е важно. Блокчейн приложенията могат да получат неуспех без подходяща проверка на размера на блока и размера на веригата.
  • Интеграционно тестване - Тъй като в приложението Blockchain участват множество компоненти, тестването за интеграция трябва да се прави правилно и често, за да се провери дали всички компоненти са правилно интегрирани, за да се избегнат грешки.
  • Performance and Load- Failing за тестване на производителност и тестване на натоварване дава малко или никакво вникване в това как приложението Blockchain се представя както в производството, така и при конкретни работни натоварвания и мрежови условия.
  • Сигурност - Защитата на данните трябва да бъде най-важната в приложението Blockchain. Blockchain може да бъде част от различни сектори като здравеопазване, финанси и др. Всякакъв вид злонамерени атаки могат да повлияят на приложението Blockchain

Фази на тестване на блокчейн

Фаза на започване:

  • Разбиране на архитектурата на блокчейн : На този етап ние разбираме и анализираме бизнес и функционалните изисквания. Това описва поведението на приложението и как потребителят ще взаимодейства с приложението
  • Пълно тестване на стратегия за тестване : По време на тази фаза ние описваме подхода за тестване за тестване на приложение. Това трябва да се направи подробно, така че всяка цел да бъде изцяло покрита.

Фаза на проектиране:

  • Създаване на тестови случаи : В тази фаза екипът за QA пише тестовите случаи с правилни стъпки. Тези тестови случаи се преглеждат от Business Analyst (BA).
  • Създаване на тестови данни : На този етап тестовите данни се създават или извличат от предишната среда спрямо бизнес изискванията. Данните от теста могат да се създават ръчно или с помощта на инструменти за автоматизация.
  • Настройка на околната среда : В тази стъпка средата за тестване е конфигурирана като необходимост от бизнес или приложение
  • Показатели за ефективност : Показателите за ефективност представляват информацията по отношение на производителността на приложението, системата или компонентите

Фаза на тестване:

  • API тестване : При API тестване ние гарантираме, че взаимодействието между приложенията в екосистемата на блокчейн е както се очаква
  • Тестване на блокове: Всички блокове в мрежата трябва да бъдат тествани индивидуално, за да се гарантира правилното сътрудничество.
  • Функционално тестване : При функционално тестване ние оценяваме работата на различни функционални части на Blockchain (например интелигентни договори).
  • Тестване на производителността : Подробности като мрежова латентност въз основа на размера на блока, размера на мрежата, очаквания размер на транзакцията и колко време отнема заявката за връщане на изхода със специализирания протокол за удостоверяване
  • Тестване на сигурността : По този начин ние гарантираме, че приложението е уязвимо за атаки и Системите могат да защитят данните и е способно да обработва злонамерени атаки и т.н.
  • Интеграционно тестване : При интеграционното тестване ние гарантираме, че всички компоненти на приложението са интегрирани правилно и извършват действията по подходящ начин
  • Тестване на интелигентен договор : Тестването на интелигентен договор е свързано с извършване на подробни функционални тестове на бизнес логика и процес.

Фаза на отчета:

  • Резюме на проекта : Опишете общия преглед на подробностите за проекта, датите на проекта, разходите и подробностите за задачата
  • Отчет за тестване на интелигентен договор : Този отчет описва подробностите за обработката на интелигентен договор, данни и правила
  • Доклад за тестване на сигурността : Показва уязвима информация в официален документ за клиента и висшето ръководство. Отчетът съдържа датата на тестване, данни от теста и Обобщение на намерените уязвимости
  • Доклад за тестване на производителността : Този отчет показва подробности относно производителността на приложения като скорост, мащабируемост, надеждност и др.

Основни типове тестване на Blockchain Application

Функционално тестване

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

Тестване на интеграцията

Приложението Blockchain работи в множество среди. Така че е важно да тествате междусистемни връзки

Тестване на производителността:

Той помага за предварително идентифициране на хардуерни и софтуерни тесни места. Това също може да ви помогне да разберете потенциалните разходи за стартиране на приложението в облака или друга среда.

Тестване на възел

Всички разнообразни възли в мрежата трябва да бъдат тествани независимо, за да се осигури гладко сътрудничество.

API тестване:

Приложният програмен интерфейс тества взаимодействието между приложенията в блокчейн екосистемата. API тестването гарантира, че заявките и отговорите са форматирани и функционират правилно.

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

Ето някои инструменти за тестване на Blockchain:

1) Тестер на Ethereum:

Това е библиотека за тестване с отворен код, достъпна в GitHub repo. Лесно е да се настрои с управляема поддръжка на API за различни изисквания за тестване.

2) Ганаш:

По-рано известен като Testrpc , е широко използваната библиотека за локално тестване на договори на Ethereum. Тя работи чрез тласък напред на един вид макет B lockchain, която ви дава достъп до профилите можете да използвате за T Esting.

3) Hyperledger Composer:

Hyperledger Composer е инструмент с отворен код, който помага на разработчиците да изграждат блокчейн приложения. Използвайки този инструмент, можем да извършим основно три вида тестване: интерактивно тестване, автоматизирано устройство и тестване на системата.

Тази статия е предоставена от Suman Dass.