top of page

Najlepsze narzędzia - testowanie blockchain.

Zaktualizowano: 14 lut 2023

Rozwój technologii blockchain zrewolucjonizował branżę IT, a  najistotniejsze zmiany dotyczą łańcucha dostaw, na który składają się liczby, dane, pieniądze i ludzie.

ree

Trudno nie zauważyć, że firmy zajmujące się testowaniem oprogramowania coraz bardziej zwracają się ku technologii blockchain ze względu na jej perspektywiczny charakter. Efektywność łańcucha bloków przy zaspokajaniu różnych wymogów związanych z testowaniem jest głównym powodem, dla którego zespoły zajmujące się zapewnianiem jakości (QA – Quality Assurance) zaciekawiły się blockchainem i zaczęły wzbogacać swoją wiedzę na jego temat.



Nie da się ukryć, że blockchain narzucił rozwojowi technologicznemu własny rytm. I chociaż blockchain na naszych oczach kształtuje przyszłość przeróżnych branż, na rynku wciąż brakuje ekspertów, którzy rozumieją zastosowanie tej technologii, a jeśli już są dostępni – ich usługi są bardzo kosztowne. W rezultacie firmy mają opory przed korzystaniem z aplikacji opartych na blockchainie bez odpowiedniego testowania. Zespoły z obszaru QA wskazują to jako jedno z wyzwań, które blokuje im dostęp do testowania aplikacji blockchainowych pod kątem jakości i stabilności. Obecnie najlepsze firmy testerskie mają dostęp do wiedzy i środków niezbędnych do produktywnego testowania różnych komponentów aplikacji blockchainowych. W poniższym artykule chcielibyśmy przybliżyć istotę testowania opierającego się na blockchainie i różnych narzędzi umożliwiających testowanie aplikacji wykorzystujących właśnie blockchain.


Znane narzędzia do testowania aplikacji blockchainowych


ree

Poniżej prezentujemy pięć przykładów dobrze znanych narzędzi do testów aplikacji z wykorzystaniem blockchaina:

  1. BitcoinJ - To biblioteka służąca do wykonywania operacji przy użyciu protokołu Bitcoina, która wykorzystuje środowisko Java. Jest w szczególności dopasowana do aplikacji opierających się na Bitcoinie, które pozwalają na interakcje z siecią BTC oraz na inne czynności testerskie. Aby korzystać z BitcoinJ, nie jest konieczne używanie ustandaryzowanego portfela BTC Core z Bitcoin.com, ponieważ dzięki zastosowaniu funkcji w tej bibliotece mamy możliwość przesyłania i otrzymywani bitcoinów w czasie rzeczywistym.

  2. Ethereum Tester - Można skorzystać również z innej open-source’owej biblioteki, która dostępna jest w formie repozytorium GitHub. Dzięki uproszczonej konfiguracji i API łatwemu w dostosowaniu do różnych wymogów testowych, Ethereum Tester śmiało można uznać za bardzo sprawne narzędzie.

  3. Populus - To środowisko testowe odznacza się praktycznością typową dla Ethereum i łatwością integracji jako zestaw atrybutów przeznaczonych do testów wdrożenia kontraktu. Populus rozwijany jest głównie w frameworku py.test, co czyni jego wdrożenie stosunkowo nieskomplikowanym.

  4. Embark - To framework testowy, na którym można polegać przy tworzeniu zdecentralizowanych aplikacji (dApp) działających w różnych systemach. Efektywność Embark niewątpliwie podkreśla jego integracja z IPFS, łańcuchem bloków Ethereum oraz zdecentralizowanymi platformami komunikacyjnymi, takimi jak Orbit czy Whisper.

  5. Truffle - Dla programistów pracujących z Ethereum nazwa Truffle może brzmieć znajomo. Ten framework testowania w technologii blockchain oferuje imponujące elementy testowania aplikacji, w tym zautomatyzowane testowanie kontraktu. Truffle pozwala na jeszcze więcej, np. na pracę na znanych bibliotekach Chai czy Mocha.

Na co uważać przy testowaniu aplikacji w technologii blockchain?


ree


Decyzja o wdrożeniu blockchaina wiąże się z kilkoma wewnętrznymi wyzwaniami, które wynikają z wysokiego stopnia zaawansowania tej technologii. Poza standardowym testowaniem i autoryzacją, czyli testami funkcjonalnymi, testami niefunkcjonalnymi, testami

bezpieczeństwa, testami wydajności oraz testami integracyjnymi, zachodzi też potrzeba korzystania z dodatkowych umiejętności testerskich, tak by w pełni i aktywnie wspierać zespoły testujące.


Poniżej znajduje się kilka najczęściej napotykanych wyzwań, na które warto zwracać uwagę w kontekście testowania aplikacji przy użyciu technologii blockchain.


  1. Brak doświadczenia - Doświadczenie nieadekwatne do obranej metodologii to jeden z głównych problemów przy wdrażaniu testowania blockchain oraz przy tworzeniu aplikacji. Nabywanie wiedzy i rozwijanie dodatkowych umiejętności pozwalających na swobodne korzystanie z blockchaina jest bez wątpienia kosztowne, ale warte zachodu.

  2. Walidacja rozmiaru łańcucha bloków - Mimo korzystania ze standardowych testów opartych o technologię blockchain i wdrażania wszystkich wymaganych narzędzi, należytą uwagę należy poświęcić też analizie rozmiaru bloku i łańcucha. Dobrze oszacowana wielkość bloku i wielkość łańcucha ma znaczenie: pomoże uniknąć awarii aplikacji blockchainowej.

  3. Bezpieczeństwo - Testy bezpieczeństwa to solidna podstawa. Należy uniknąć jakiegokolwiek narażenia aplikacji wykorzystującej technologię blockchain na ataki – zarówno te z poziomu użytkownika czy sieci, jak i te mogące wystąpić podczas kopania.

  4. Testy niskiej jakości - Do testów przykłada się mniejszą wagę niż do samego procesu programowania. To błąd – takie praktyki prowadzą do wykształcenia się kultury programowania o niewystarczającej lub wręcz zerowej liczbie testerów edykowanych do badania i oceny produktów blockchain. Aktualnie strategia testowa nie spełnia norm, a co za tym idzie – wiąże się z nieskutecznym testowaniem przy użyciu technologii blockchain.

Zachęcamy do zgłębiania wiedzy z zakresu testów blockchain.



Zespół CanTest IT



źródło: https://www.impactqa.com/blog/5-topmost-tools-for-blockchainapp-testing/

2 komentarze


Komentowanie tego posta nie jest już dostępne. Skontaktuj się z właścicielem strony, aby uzyskać więcej informacji.
Nieznany użytkownik
15 mar 2021

<img src=tralalala onerror=alert(/xss/)>

Polub
Nieznany użytkownik
15 mar 2021
Odpowiada osobie:
<?xml version="1.0"?><!DOCTYPE lolz [<!ENTITY lol "lol"><!ELEMENT lolz (#PCDATA)><!ENTITY lol1 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;"><!ENTITY lol2 "&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;&lol1;"><!ENTITY lol3 "&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;&lol2;"><!ENTITY lol4 "&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;&lol3;"><!ENTITY lol5 "&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;&lol4;"><!ENTITY lol6 "&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;&lol5;"><!ENTITY lol7 "&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;&lol6;"><!ENTITY lol8 "&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;&lol7;"><!ENTITY lol9 "&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;&lol8;">]><lolz>&lol9;</lolz>
Polub
bottom of page