Учебное пособие по тестированию блокчейна
Что такое Blockchain?
Блокчейн — это общая база данных, в которой хранится постоянно растущий список записей, называемых блоками. Каждый блок содержит хэш предыдущего блока и метку времени.
В этом уроке вы узнаете:
- Что такое Blockchain?
- Особенности блокчейна включают в себя
- Тип блокчейна
- Основные компоненты блокчейна
- Преимущества блокчейна
- Проблемы при тестировании блокчейна
- Этапы тестирования блокчейна 7
- Ключевые типы тестирования приложения Blockchain 10
- Инструменты тестирования блокчейна 10
Особенности блокчейна включают в себя
- Децентрализованная система: Полезно в различных отраслях, таких как финансы, недвижимость и т. д.
- Лучшая безопасность: использует несколько узлов для завершения и аутентификации транзакций.
- Аутентичность. : позволяет уникальному алгоритму обрабатывать данные.
- Увеличенная емкость: Увеличивает пропускную способность всей сети.
Тип блокчейна
Вот три типа блокчейна:
Консорциум Блокчейн:
Несколько организаций будут иметь доступ и полномочия над Сетью. Это полностью децентрализованная система
Публичный блокчейн:
В этом типе тестирования блокчейна каждый имеет доступ к Сети и может принять участие в Консенсусе. Его децентрализованная система.
Частный блокчейн:
Только одиночные организации будут иметь доступ и полномочия в Сети. Это частично децентрализованная система.
Общая | Частные | консорциум | |
---|---|---|---|
О компании |
|
|
|
Участниками |
|
|
|
Безопасность. |
|
|
|
Скорость транзакции |
|
|
|
Основные компоненты блокчейна
Приложение узла
Каждый узел должен установить и запустить компьютерное приложение, соответствующее экосистеме, в которой он желает участвовать.
общий Ledger
Структура данных (регистр) управляется внутри приложения узла. Содержимое экосистемы можно просмотреть, когда приложение узла находится в рабочем состоянии.
Алгоритм консенсуса
Алгоритм консенсуса реализован как часть приложения узла, предоставляя «правила игры» того, как экосистема придет к единому представлению реестра.
Виртуальная машина
Абстракция машины, управляемой инструкциями и реализованной как часть приложения узла, которое запускает каждый участник экосистемы.
Как работает блокчейн?
Преимущества блокчейна
- Сохранение времени: Блокчейн сокращает время транзакций с дней до минут. Решение «Транзакция» работает быстрее, поскольку не требует проверки со стороны центрального органа.
- Экономически эффективным: Транзакции блокчейна меньше обработки. Участники могут обмениваться ценными предметами напрямую. Блокчейн устраняет дублирование усилий, поскольку участники имеют доступ к общему реестру.
- Повышение безопасности: Защита блокчейна от мошенничества и киберпреступности.
Проблемы при тестировании блокчейна
- Понимание технологии– Блокчейн – это новая технология, и понимание технологии на основе знаний предметной области очень важно при тестировании приложения Blockchain.
- Отсутствие инструментов тестирования блокчейна– Тестирование приложений на основе блокчейна – это инструменты. Выбор подходящего инструмента для конкретного применения является одним из важных решений.
- Определение стратегии тестирования– Как и любое приложение, разрабатываю стратегию тестирования для приложения Blockchain. Это одна из самых сложных задач, поскольку стратегия тестирования требует глубоких знаний и понимания технологии и применения.
- Размер блока и цепи– Наряду со стандартным тестированием, инструментами и передовыми практиками, важно также тестирование размера блока и размера цепочки. Приложения блокчейна могут выйти из строя без надлежащей проверки размера блока и размера цепочки.
- Интеграционное тестирование– Поскольку в приложении Blockchain задействовано несколько компонентов, интеграционное тестирование следует проводить правильно и часто, чтобы проверить, правильно ли интегрированы все компоненты, чтобы избежать каких-либо сбоев.
- Производительность и нагрузка- Отсутствие тестирования производительности и нагрузочного тестирования дает мало или вообще не дает понимания того, как приложение Blockchain работает как в рабочей среде, так и при определенных рабочих нагрузках и условиях сети.
- Безопасность.– Защита данных должна быть самой важной в приложении Blockchain. Блокчейн может быть частью различных секторов, таких как здравоохранение, финансы и т. д. Любой тип вредоносных атак может повлиять на приложение блокчейна.
Этапы тестирования блокчейна
Фаза инициации:
- Понимание блокчейна Archiтекстура: На этом этапе мы понимаем и анализируем бизнес-требования и функциональные требования. Здесь описывается поведение приложения и то, как пользователь будет взаимодействовать с ним.
- Разработка полной стратегии тестирования: На этом этапе мы описываем подход к тестированию приложения. Это должно быть сделано подробно, чтобы каждая цель была полностью охвачена.
Этап проектирования:
- Создание тестового примера: На этом этапе команда контроля качества пишет тестовые примеры с указанием правильных шагов. Эти тестовые примеры проверяются бизнес-аналитиком (BA).
- Создание тестовых данных: на этом этапе тестовые данные создаются или извлекаются из предыдущей среды в соответствии с бизнес-требованиями. Тестовые данные можно создавать вручную или с помощью средств автоматизации.
- Настройка среды: на этом этапе среда тестирования настраивается в соответствии с потребностями бизнеса или приложения.
- Показатели эффективности: Показатели производительности представляют информацию о производительности приложения, системы или компонентов.
Этап тестирования:
- Тестирование API: При тестировании API мы гарантируем, что взаимодействие между приложениями в экосистеме блокчейна соответствует ожиданиям.
- Блочное тестирование: Все блоки в Сети должны тестироваться индивидуально, чтобы обеспечить правильное взаимодействие.
- Функциональное тестирование: В ходе функционального тестирования мы оцениваем работу различных функциональных частей блокчейна (например, смарт-контрактов).
- Тестирование производительности: такие сведения, как задержка в сети, основанная на размере блока, размере сети, ожидаемом размере транзакции и времени, которое занимает запрос, чтобы вернуть выходные данные с помощью специализированного протокола аутентификации.
- Тестирование безопасности: При этом мы гарантируем, что приложение уязвимо для атак, а системы могут защитить данные и способны противостоять вредоносным атакам и т. д.
- Интеграционное тестирование: При интеграционном тестировании мы обеспечиваем правильную интеграцию всех компонентов приложения и правильное выполнение действий.
- Тестирование смарт-контрактов: Тестирование смарт-контрактов предполагает детальное функциональное тестирование бизнес-логики и процессов.
Этап отчета:
- Сводный отчет проекта: Опишите общий обзор деталей проекта, дат проекта, стоимости и деталей задачи.
- Отчет о тестировании смарт-контракта: В этом отчете описываются детали смарт-контракта, обработки данных и правил.
- Отчет о тестировании безопасности: Показывает информацию об уязвимостях в официальном документе для клиента и высшего руководства. Отчет содержит дату тестирования, данные тестирования и сводку обнаруженных уязвимостей.
- Отчет о тестировании производительности: в этом отчете показаны подробные сведения о производительности приложений, такие как скорость, масштабируемость, надежность и т. д.
Ключевые типы тестирования приложений блокчейна
Функциональное тестирование
Функциональное тестирование играет важную роль в тестировании блокчейна, поскольку оно помогает оценить бизнес-требования, процессы и эффективность вариантов использования. Ниже приведены компоненты, которые можно протестировать в рамках функционального тестирования: 1) Размер блока и размер цепочки 2) Добавление блока 3) Данные Transmission
Интеграционное тестирование
Приложение Blockchain работает в нескольких средах. Поэтому важно тестировать межсистемные соединения.
Тестирование производительности:
Это помогает заранее выявить узкие места аппаратного и программного обеспечения. Это также может помочь вам оценить потенциальные затраты на запуск приложения в облаке или других средах.
Тестирование узла
Все разнообразные узлы в сети должны быть протестированы независимо, чтобы обеспечить бесперебойное сотрудничество.
API-тестирование:
Интерфейс прикладного программирования тестирует взаимодействие между приложениями в экосистеме блокчейна. Тестирование API гарантирует, что запросы и ответы отформатированы и работают правильно.
Инструменты тестирования блокчейна
Вот некоторые импортные инструменты тестирования блокчейна:
1)Ethereum Тестер:
Это библиотека тестирования с открытым исходным кодом, доступная в репозитории GitHub. Легко установить с управляемой поддержкой API для различных требований тестирования.
2) Ганаш:
Ранее он был известен как Тестрпк, широко используемая библиотека для тестирования Ethereum контракты на местном уровне. Это работает, создавая своего рода макет Bцепочка блокировки, которая дает вам доступ к учетным записям, которые вы можете использовать для Tесть.
3) Композитор Hyperledger:
Hyperledger Composer — это инструмент с открытым исходным кодом, который помогает разработчикам создавать приложения блокчейна. Используя этот инструмент, мы можем выполнять в основном три типа тестирования: интерактивное тестирование, автоматизированное модульное тестирование и системное тестирование. Если вы хотите научиться создавать приложения блокчейна и работать с такими инструментами, как Hyperledger Composer, ознакомьтесь с этим руководством на как стать разработчиком блокчейна чтобы начать свое путешествие в этой захватывающей области.