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