Урок за тестване на блокчейн
Какво е Blockchain?
Blockchain е споделена база данни, съхраняваща непрекъснато нарастващ списък от записи, наречени блокове. Всеки блок съдържа хеш на предишния блок и клеймо за време.
В този урок ще научите:
- Какво е Blockchain?
- Характеристиките на Blockchain включват
- Тип блокчейн
- Основни компоненти на блокчейн
- Предимства на Blockchain
- Предизвикателства при тестването на блокчейн
- Фази на тестване на блокчейн 7
- Ключови типове тестване на блокчейн приложение 10
- Инструменти за тестване на блокчейн 10
Характеристиките на Blockchain включват
- Децентрализирана система: Полезно в различни индустрии като финанси, недвижими имоти и др.
- По-добра сигурност: Използва множество възли за завършване и удостоверяване на транзакции
- Автентичност: Позволява на уникалния алгоритъм да обработва данни
- Повишен капацитет: Увеличава капацитета на цялата мрежа
Тип блокчейн
Ето три типа Blockchain:
Консорциум Blockchain:
Множество организации ще имат достъп и власт над мрежата. Това е напълно децентрализирана система
Публичен блокчейн:
При този тип тестване на блокчейн всеки има достъп до мрежата и може да участва в Консенсус. Нейната децентрализирана система.
Частен блокчейн:
Само отделни организации ще имат достъп и власт над мрежата. Това е частично децентрализирана система.
Обществен | частен | консорциум | |
---|---|---|---|
Достъп |
|
|
|
Участниците |
|
|
|
Охрана |
|
|
|
Скорост на транзакцията |
|
|
|
Основни компоненти на блокчейн
Приложение за възел
Всеки възел трябва да инсталира и стартира компютърно приложение, определено за екосистемата, в която желае да участва
Обща Ledger
Структура от данни (главна книга) се управлява вътре в приложението за възел. Съдържанието за екосистемата може да се види, след като приложението на възела е в работещо състояние.
Алгоритъм на консенсуса
Алгоритъмът за консенсус е внедрен като част от приложението за възли, предоставяйки „правилата на играта“ за това как екосистемата ще достигне до един изглед на счетоводната книга.
Виртуална машина
Абстракция на машина, управлявана с инструкции и внедрена като част от приложението за възел, което всеки участник в екосистемата изпълнява.
Как работи Blockchain?
Предимства на Blockchain
- Пестене на време: Blockchain намалява времето за транзакция от дни до минути. Решението за транзакции е по-бързо, защото не изисква проверка от централен орган.
- Рентабилен: Блокчейн транзакции по-малко обработка. Участниците могат да обменят ценни предмети директно. Blockchain премахва дублирането на усилия, тъй като участниците имат достъп до споделена книга.
- Увеличете сигурността: Защита на сигурността на Blockchain срещу измами и киберпрестъпления.
Предизвикателства при тестването на блокчейн
- Разбиране на технологията– Blockchain е нова технология и разбирането на технологията с познания за домейн е много важно при тестването на Blockchain Application
- Липса на инструменти за тестване на блокчейн– Тестването на базирани на блокчейн приложения е свързано с инструменти. Изборът на правилния инструмент според приложението е едно от важните решения.
- Определяне на тестова стратегия– Като всяко приложение, проектиране на тестова стратегия за приложение на блокчейн. Това е едно от най-големите предизвикателства, тъй като тестовата стратегия изисква задълбочени познания и разбиране на технологията и приложението.
- Размер на блока и веригата– Заедно със стандартното тестване, инструменти и най-добрите практики, тестването за размера на блока и размера на веригата също е важно. Блокчейн приложенията може да се провалят без правилно валидиране на размера на блока и размера на веригата.
- Тестване на интеграцията– Тъй като има множество компоненти, включени в приложението Blockchain, тестването на интеграцията трябва да се извършва правилно и често, за да се провери дали всички компоненти са правилно интегрирани, за да се избегнат евентуални повреди.
- Производителност и натоварване- Неуспешното тестване за производителност и тестване на натоварване дава малко или никаква представа за това как приложението Blockchain се представя както в производството, така и при специфични работни натоварвания и мрежови условия.
- Охрана– Защитата на данните трябва да бъде най-важната в приложението Blockchain. Blockchain може да бъде част от различни сектори като здравеопазване, финанси и т.н. всеки тип злонамерени атаки може да повлияе на приложението Blockchain
Фази на тестване на блокчейн
Фаза на започване:
- Разбиране на блокчейн Archiтекстура: В тази фаза разбираме и анализираме бизнес и функционалните изисквания. Това описва поведението на приложението и как потребителят ще взаимодейства с приложението
- Проектиране на пълна тестова стратегия: По време на тази фаза ние описваме подхода за тестване на приложение. Това трябва да се направи подробно, така че всяка цел да бъде напълно покрита.
Фаза на проектиране:
- Създаване на тестов случай: В тази фаза QA екипът пише тестовите случаи с правилните стъпки. Тези тестови случаи се преглеждат от Business Analyst(BA).
- Създаване на тестови данни: В тази фаза се създават или извличат тестови данни от предишната среда спрямо бизнес изискванията. Тестовите данни могат да бъдат създадени ръчно или с помощта на инструменти за автоматизация.
- Настройка на средата: В тази стъпка средата за тестване се конфигурира като необходимост за бизнес или приложение
- Показатели за ефективност: Показателите за производителност представляват информацията по отношение на производителността на приложението, системата или компонентите
Фаза на тестване:
- Тестване на API: При тестването на API ние гарантираме, че взаимодействието между приложенията в блокчейн екосистемата е според очакванията
- Блоково тестване: Всички блокове в мрежата трябва да бъдат тествани индивидуално, за да се осигури правилно сътрудничество.
- Функционално тестване: При функционалното тестване ние оценяваме работата на различни функционални части на Blockchain (напр. интелигентни договори).
- Тестване на производителността: Подробности като мрежово забавяне въз основа на размера на блока, размера на мрежата, очаквания размер на транзакцията и колко време отнема заявка, за да върне изхода със специализирания протокол за удостоверяване
- Тестване на сигурността: В това ние гарантираме, че приложението е уязвимо на атаки и системите могат да защитят данните и са в състояние да се справят със злонамерени атаки и т.н.
- Тестване на интеграцията: При интеграционното тестване ние гарантираме, че всички компоненти на приложението са интегрирани правилно и изпълняват действията по подходящ начин
- Тестване на интелигентни договори: Тестването на интелигентни договори е за извършване на подробно функционално тестване на бизнес логиката и процеса.
Фаза на отчета:
- Обобщен доклад на проекта: Опишете общия преглед на детайлите на проекта, датите на проекта, разходите и подробностите за задачата
- Доклад за тестване на интелигентен договор: Този отчет описва подробностите за обработката на интелигентни договори, данни и правила
- Доклад за тестване на сигурността: Показва уязвима информация в официален документ за клиента и висшето ръководство. Докладът съдържа датата на тестването, данните от теста и Резюме на откритите уязвимости
- доклад за тестване на ефективността: Този отчет показва подробности относно производителността на приложенията като скорост, мащабируемост, надеждност и т.н.
Ключови типове тестване на блокчейн приложение
Функционално тестване
Функционалното тестване играе важна роля в тестването на блокчейн, тъй като помага при оценката на бизнес изискванията, процесите и ефективността на случаите на използване. По-долу са компонентите, които могат да бъдат тествани като част от функционалното тестване: 1) Размер на блок и размер на веригата 2) Добавяне на блок 3) Данни Transmission
Тестване на интеграцията
Блокчейн приложението работи в множество среди. Затова е важно да се тестват връзките между системите
Тестване на производителността:
Помага при предварителното идентифициране на хардуерни и софтуерни затруднения. Това също може да ви помогне да разберете потенциалните разходи за изпълнение на приложението в облака или други среди.
Тестване на възел
Всички различни възли в мрежата трябва да бъдат тествани независимо, за да се осигури гладко сътрудничество.
API тестване:
Интерфейсът за програмиране на приложения тества взаимодействието между приложенията в блокчейн екосистемата. API тестването гарантира, че заявките и отговорите са форматирани и работят правилно.
Инструменти за тестване на блокчейн
Ето някои инструменти за импортиране на блокчейн тестване:
1)Ethereum Тестер:
Това е библиотека за тестване с отворен код, достъпна в GitHub repo. Настройва се лесно с управляема поддръжка на API за различни изисквания за тестване.
2) Ганаш:
По-рано е известен като Testrpc, е широко използваната библиотека за тестване Ethereum договори на местно ниво. Работи, като върти един вид макет Blockchain, който ви дава достъп до акаунти, за които можете да използвате Tестинг.
3) Композитор на Hyperledger:
Hyperledger Composer е инструмент с отворен код, който помага на разработчиците да създават блокчейн приложения. Използвайки този инструмент, можем да извършваме основно три вида тестване: интерактивно тестване, автоматизирано тестване на единици и системно тестване. Ако се интересувате да научите как да създавате блокчейн приложения и да работите с инструменти като Hyperledger Composer, вижте това ръководство на как да станете разработчик на блокчейн за да започнете пътуването си в тази вълнуваща област.