Какво е 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.