Voted Coins
follow us on twitter . like us on facebook . follow us on instagram . subscribe to our youtube channel . announcements on telegram channel . ask urgent question ONLY . Subscribe to our reddit . Altcoins Talks Shop Shop


This is an Ad. Advertised sites are not endorsement by our Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise Here

Author Topic: Тестирование Blockchain-приложений: суть и необходимость  (Read 523 times)

Offline CryptoTimex

  • Legendary
  • *
  • *
  • Activity: 1652
  • points:
    828
  • Karma: 242
  • 🔰 FERRUM NETWORK 🔰
  • Trade Count: (0)
  • Referrals: 19
  • Last Active: March 15, 2020, 01:26:27 PM
    • View Profile

  • Total Badges: 24
    Badges: (View All)
    10 Posts First Post Sixth year Anniversary
Сегодня трудно найти человека, который не слышал о биткойн или криптовалютах вообще. Все говорят о цифровых деньгах, но чтобы полностью понять их, нужно разобраться в технологии, лежащей в их основе – технологии blockchain.

Сегодня многие отрасли промышленности, как большие, так и малые, внедряют Blockchain-приложения. И, как и любой технологии, blockchain необходимо тестирование, чтобы гарантировать надлежащее функционирование.

В противном случае можно оказаться в той же ситуации, что и Ethereum, второй самый известный публичный blockchain после биткойн. Еще в 2016 году эта криптовалюта в размере 280 миллионов долларов была заблокирована и недоступна из-за технической ошибки. По-видимому, ошибка была случайно вызвана пользователем, и, как результат, этот пользователь получил доступ к нескольким кошелькам.

Всю эту ситуацию можно было бы избежать, если бы Ethereum был надлежащим образом протестирован до выпуска в общественность. Как бы то ни было, multisignature-кошельки Ethereum от Parity оказались замороженными из-за недостатка безопасности.

Как избежать ошибки и протестировать Blockchain-приложение
Blockhain по-прежнему является относительно новой технологией, которая уникальна во многих аспектах. Хотя многие методы, применяемые при обычном регулярном тестировании веб-приложений, такие как тестирование безопасности, функциональное тестирование или интеграционное тестирование, по-прежнему актуальны, тестирование блокчейн-приложений имеет свои особенности и должно включать следующие типы тестирования:

Тестирование смарт-контрактов
Смарт-контракт — это программный модуль в сети Blockchain, который автоматически завершает транзакцию с использованием ранее определенных условий. Чтобы проверить смарт-контракты, нужно учитывать и моделировать все возможные условия для каждого отдельного контракта. Учитывая количество узлов и их комбинации, а также то, как быстро сеть растет и изменяется, необходимо, чтобы тестировщики применяли автоматизацию во время тестирования приложений на основе Blockchain.

Нефункциональное тестирование
Другие аспекты применения блокчейн, которые необходимо тестировать – это его производительность, целостность и скрытность. Это может зависеть от нескольких факторов, включая размер сети, размер транзакции и многое другое.

Тестирование пользователей сети и узлов
Наиболее важным элементом Blockchain является ledger (бухгалтерская книга). В Там записываются все криптовалютные последовательности и транзакции, которые затем распределяются по всем узлам, чтобы каждый мог видеть их идентичность. Для этого, однако, участникам Blockchain необходим консенсус даты и времени, когда каждая транзакция присоединилась к сети.

Консенсусный протокол необходимо протестировать, чтобы проверить, действительно ли все происходит в нормальных условиях, когда все узлы терпят неудачу и когда в сети недостаточно узлов в течение определенного времени.

Это можно проверить с помощью узлов Byzantine. В принципе, этот узел является членом блокчейн, который пытается преднамеренно нарушить его операции, например, не пересылая сообщения дальше другим членам.

Что можно и нужно тестировать?
Что именно требует тестирования в Blockchain-приложениях? Очевидно, есть некоторые ограничения, так что вот он список нескольких вещей, которые можно проверить:

Размер блока
В 2010 году Сатоши Накамото представил ограничение размера блока в 1 МБ. Этот предел остался и до настоящего времени, хотя он был предметом многочисленных дискуссий в биткойн-сообществе. Что произойдёт при превышении максимального размера блока?

В рамках решения биткойн представляет нам хардфорк (резкое изменение протокола, которое отменяет/проверяет ранее допустимые/недействительные блоки и транзакции).

Масштабирование состоит из двух противоречий. С одной стороны, разработчики и пользователи хотели сохранить максимальный размер блока 1 МБ, но получить лучший алгоритм сжатия данных, в то время как другая сторона, майнеры, выступала за увеличение максимального размера блока до 8 МБ.

Биткойн и Bitcoin Cash имеют разные преимущества, поскольку один более безопасен, а другой быстрее. Проблема, которая нуждается в тестировании здесь, заключается в том, как будет работать Blockchain при увеличении максимального размера блока или использовании различных алгоритмов сжатия.

Пропускная способность
В теории (в идеальных условиях) максимальная пропускная способность Blockchain биткойна — 7 транзакций в секунду, тогда как на практике она колеблется между 3 и 4. Это довольно мало. К примеру, максимальная пропускная способность Visa составляет 58 000, а средняя — 2 000, и даже Ethereum может достигать 20 транзакций в секунду. Почему Биткойн этого не может?

Безопасность
Одним из первых вопросов новичка, который встречается с биткойн, становится вопрос, насколько это безопасно. Это очень правильный вопрос. Большая часть внимания здесь, похоже, заключается в установлении личности участника, но что произойдёт, когда они становятся скомпрометированными? Опять же, возвращаясь к сравнению биткойн и Bitcoin Cash, один ориентирован больше на безопасность, а другой — на время, необходимое для завершения транзакции.

Размер цепи
На момент написания этой статьи количество блоков в сети биткоин составило около 522 600. Нет ограничений на размер цепочки, поэтому можно проверить как производительность, так и функциональность, а также то, что произойдет, если цепочка будет временно нарушена (например, когда два майнера получат два разных, но оба действительных решения для одного и того же блока в то же время).

Стойкость
Распределённая система может давать только два варианта: вернуться к самой последней доступной ссылке в цепочке или предоставить ошибку. Вопрос в том, что делать, если конец цепочки не доступен?

Очевидно, что есть много других вещей, которые тестировщики могут получить в свои руки, когда дело доходит до тестирования приложений, связанных с Blockchain, но эти пять дают хороший обзор того, что можно и нужно тестировать.

Тестирование является обязательным
Хотя Blockchain развивается с колоссальной скоростью, технология все еще далека от совершенства. Чтобы приблизиться к совершенству, разработчики и участники Blockchain должны применять целостный подход к приложениям, основанным на этой технологии. Лучший способ сделать это — проверить его тщательно и последовательно.

Источник https://freedman.club
Ferrum Network •   ANN • Bounty • Website • Telegram
The First High-Speed Interoperability Network for Real-World Financial Applications

Altcoins Talks - Cryptocurrency Forum


This is an Ad. Advertised sites are not endorsement by our Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise Here


 

ETH & ERC20 Tokens Donations: 0x2143F7146F0AadC0F9d85ea98F23273Da0e002Ab
BNB & BEP20 Tokens Donations: 0xcbDAB774B5659cB905d4db5487F9e2057b96147F
BTC Donations: bc1qjf99wr3dz9jn9fr43q28x0r50zeyxewcq8swng
BTC Tips for Moderators: 1Pz1S3d4Aiq7QE4m3MmuoUPEvKaAYbZRoG
Powered by SMFPacks Social Login Mod