Урок за тестване на блокчейн
⚡ Умно обобщение
Тестването на блокчейн валидира децентрализирани приложения, интелигентни измамиtracts и разпределени регистри, за да се потвърди сигурността, функционалната точност и производителността във всеки възел, като се гарантира, че непроменимите транзакции се държат правилно, преди блокчейн мрежата да достигне производствена мощност.

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




