Výukový program pre testovanie blockchainu

Obsah:

Anonim

Čo je Blockchain?

Blockchain je zdieľaný databázový obchod, ktorý neustále rastie zoznam záznamov nazývaných bloky. Každý blok obsahuje hash z predchádzajúceho bloku a časovú značku.

V tomto návode sa dozviete:

  • Čo je Blockchain?
  • Vlastnosti Blockchainu zahŕňajú
  • Typ blockchainu
  • Hlavné komponenty blockchainu
  • Výhody blockchainu
  • Výzvy v testovaní blockchainu
  • Fázy blockchainového testovania 7
  • Kľúčové typy testovania na aplikácii blockchain 10
  • Nástroje na testovanie blockchainu 10

Vlastnosti Blockchainu zahŕňajú

  • Decentralizovaný systém : prospešný v rôznych odvetviach, ako sú financie, nehnuteľnosti atď.
  • Lepšia bezpečnosť : Na dokončenie a overenie transakcií používa viac uzlov
  • Autenticita : Umožňuje spracovať údaje pomocou jedinečného algoritmu
  • Zvýšená kapacita : Zvyšuje kapacitu celej siete

Typ blockchainu

Tu sú tri typy blockchainu:

Konzorciový blockchain:

Prístup a oprávnenie k sieti bude mať viac organizácií. Je to plne decentralizovaný systém

Verejný blockchain:

Pri tomto type testovania blockchainu má každý prístup do siete a môže sa zúčastňovať na konsenze. Jeho decentralizovaný systém.

Súkromný blockchain:

Iba jednotlivé organizácie budú mať prístup a oprávnenie cez sieť. Je to čiastočne decentralizovaný systém.

Verejné Súkromné Konzorcium
Prístup
  • Ktokoľvek
  • Jednotná organizácia
  • Viacnásobná organizácia
Účastníci
  • Bez dovolenia
  • Anonymný
  • Povolené
  • Známe identity
  • Povolené
  • Známe identity
Bezpečnosť
  • Mechanizmus konsenzu
  • Doklad o práci / doklad o hromade
  • Vopred schválení účastníci
  • Konsenzus hlasovania / plnenia viacerých strán
  • Vopred schválení účastníci
  • Konsenzus hlasovania / plnenia viacerých strán
Rýchlosť transakcie
  • Pomaly
  • Ľahšie a rýchlejšie
  • Ľahšie a rýchlejšie

Hlavné komponenty blockchainu

Aplikácia uzla

Každý uzol musí nainštalovať a spustiť počítačovú aplikáciu definitívne pre ekosystém, na ktorom sa chce zúčastniť

Zdieľaná kniha

Vo vnútri aplikácie uzla je spravovaná dátová štruktúra (kniha). Obsah ekosystému je možné zobraziť, keď je aplikácia uzla v prevádzke.

Konsenzusový algoritmus

Konsenzusový algoritmus je implementovaný ako súčasť uzlovej aplikácie a poskytuje „pravidlá hry“ pre to, ako ekosystém dospeje k jedinému pohľadu na hlavnú knihu.

Virtuálny prístroj

Abstrakcia stroja prevádzkovaného podľa pokynov a implementovaného ako súčasť uzlovej aplikácie, ktorú prevádzkuje každý účastník m ekosystému.

Ako funguje blockchain?

Výhody blockchainu

  • Úspora času : Blockchain skracuje čas transakcie z dní na minúty. Transakčné riešenie je rýchlejšie, pretože nevyžaduje overenie ústredným orgánom.
  • Cenovo efektívne : blockchainové transakcie menej manipulujúce. Účastníci si môžu vymieňať hodnotné položky priamo. Blockchain odstraňuje duplicitu úsilia, pretože účastníci majú prístup k zdieľanej účtovnej knihe.
  • Zvýšenie bezpečnosti : Bezpečnostná ochrana blockchainu pred podvodmi a počítačovou kriminalitou.

Výzvy v testovaní blockchainu

  • Pochopenie technológie - Blockchain je nová technológia a pochopenie technológie so znalosťami domény je pri testovaní aplikácie Blockchain veľmi dôležité
  • Nedostatok nástrojov na testovanie blockchainu - testovanie aplikácií založených na blockchaine je predovšetkým o nástrojoch. Výber správneho nástroja podľa aplikácie je jedným z dôležitých rozhodnutí.
  • Definovanie testovacej stratégie - ako každá aplikácia, aj návrh testovacej stratégie pre aplikáciu Blockchain. Je to jedna z najväčších výziev, pretože stratégia testovania vyžaduje dôkladné znalosti a pochopenie technológie a aplikácie.
  • Veľkosť bloku a reťaze - Spolu so štandardným testovaním, nástrojmi a osvedčenými postupmi v danom mieste je dôležité aj testovanie veľkosti bloku a reťaze. Aplikácie blockchainu môžu zlyhať bez náležitého overenia veľkosti bloku a veľkosti reťazca.
  • Testovanie integrácie - Pretože v aplikácii Blockchain je zapojených viac komponentov, malo by sa testovanie integrácie robiť správne a často, aby sa otestovalo, či sú všetky komponenty správne integrované, aby sa zabránilo poruchám.
  • Výkon a zaťaženie - zlyhanie pri testovaní výkonu a zaťaženia poskytuje malý alebo žiadny prehľad o tom, ako aplikácia Blockchain funguje v produkcii, ako aj pri konkrétnych pracovných zaťaženiach a sieťových podmienkach.
  • Zabezpečenie - Zabezpečenie údajov by malo byť v aplikácii Blockchain najdôležitejšie. Blockchain môže byť súčasťou rôznych sektorov, ako je zdravotníctvo, financie atď., Akýkoľvek typ škodlivých útokov môže mať vplyv na aplikáciu Blockchain

Fázy blockchainového testovania

Úvodná fáza:

  • Pochopenie architektúry Blockchain : V tejto fáze rozumieme a analyzujeme obchodné a funkčné požiadavky. Toto popisuje správanie aplikácie a spôsob, akým bude používateľ s aplikáciou interagovať
  • Návrh stratégie úplného testu : Počas tejto fázy popíšeme testovací prístup pre testovanie aplikácie. Toto by sa malo robiť podrobne, aby boli všetky ciele plne pokryté.

Fáza návrhu:

  • Vytvorenie testovacieho prípadu : V tejto fáze tím QA zapíše testovacie prípady správnymi krokmi. Tieto testovacie skrinky posudzuje Business Analyst (BA).
  • Vytvorenie testovacích dát : V tejto fáze sa testovacie dáta vytvárajú alebo extrahujú z predchádzajúceho prostredia na základe obchodných požiadaviek. Údaje o teste je možné vytvoriť ručne alebo pomocou automatizačných nástrojov.
  • Nastavenie prostredia : V tomto kroku je testovacie prostredie nakonfigurované ako potreba pre podnikanie alebo aplikáciu
  • Výkonové metriky : Výkonové metriky predstavujú informácie z hľadiska výkonu aplikácie, systému alebo komponentov

Fáza testovania:

  • Testovanie API : Pri testovaní API zabezpečujeme, že interakcia medzi aplikáciami v blockchainovom ekosystéme je očakávaná
  • Testovanie blokov : Všetky bloky v sieti by sa mali testovať jednotlivo, aby sa zabezpečila správna spolupráca.
  • Funkčné testovanie : Vo funkčnom testovaní hodnotíme prácu rôznych funkčných častí Blockchainu (napr. Inteligentné zmluvy).
  • Testovanie výkonu : Podrobnosti, ako je latencia siete na základe veľkosti bloku, veľkosti siete, očakávanej veľkosti transakcie a toho, ako dlho trvá vrátenie výstupu pomocou špecializovaného autentifikačného protokolu.
  • Testovanie zabezpečenia : V tejto súvislosti zabezpečujeme, aby bola aplikácia zraniteľná voči útokom a systémy mohli chrániť dáta a boli schopné zvládnuť škodlivé útoky atď.
  • Testovanie integrácie : Pri testovaní integrácie zabezpečujeme, aby boli všetky komponenty aplikácie správne integrované a aby akcie boli vykonávané primerane
  • Inteligentné testovanie zmlúv : Testovanie inteligentných kontraktov je o vykonaní podrobného funkčného testovania obchodnej logiky a procesu.

Fáza správy:

  • Súhrnná správa o projekte : Popíšte celkový prehľad podrobností o projekte, dátumov projektu, nákladov a podrobností úlohy
  • Správa o testovaní inteligentnej zmluvy : Táto správa popisuje podrobnosti inteligentnej zmluvy, údajov a spracovania pravidiel
  • Správa o testovaní zabezpečenia : Ukazuje zraniteľné informácie vo formálnom dokumente pre klienta a vyšší manažment. Správa obsahuje dátum testovania, údaje o teste a súhrn nájdených chýb zabezpečenia
  • Správa o testovaní výkonu : Táto správa zobrazuje podrobnosti týkajúce sa výkonu aplikácií, ako je rýchlosť, škálovateľnosť, spoľahlivosť atď.

Kľúčové typy testovania v aplikácii blockchain

Funkčné testovanie

Funkčné testovanie hrá dôležitú úlohu v testovaní blockchainu, pretože pomáha pri hodnotení obchodných požiadaviek, procesov a efektívnosti prípadov použitia. Ďalej sú uvedené komponenty, ktoré je možné testovať ako súčasť funkčného testovania: 1) Veľkosť bloku a veľkosť reťazca 2) Pridanie bloku 3) Prenos údajov

Testovanie integrácie

Aplikácia blockchain funguje vo viacerých prostrediach. Je preto dôležité otestovať medzisystémové pripojenia

Testovanie výkonu:

Pomáha vopred zistiť problémové miesta hardvéru a softvéru. To vám tiež môže pomôcť zistiť potenciálne náklady na spustenie aplikácie v cloude alebo inom prostredí.

Testovanie uzlov

Všetky rozmanité uzly v sieti musia byť testované nezávisle, aby sa zabezpečila bezproblémová spolupráca.

Testovanie API:

Rozhranie programovania aplikácií testuje interakciu medzi aplikáciami v blockchainovom ekosystéme. Testovanie API zaručuje, že požiadavky a odpovede sú naformátované a správne prevádzkované.

Nástroje na testovanie blockchainu

Tu uvádzame niektoré nástroje na testovanie blockchainu na import:

1) Tester éteru:

Jedná sa o open-source testovaciu knižnicu dostupnú na GitHub repo. Ľahko sa nastavuje pomocou zvládnuteľnej podpory API pre rôzne testovacie požiadavky.

2) Ganache:

Skôr je známy ako Testrpc , čo je najbežnejšie používaná knižnica na miestne testovanie zmlúv o ethereu. Funguje to tým, že točí až akúsi predstieranou B lockchain, ktoré vám umožnia prístup k účtom, ktoré môžete použiť pre T Zaujímavých.

3) Hyperledger Composer:

Hyperledger Composer je open-source nástroj, ktorý pomáha vývojárom vytvárať blockchainové aplikácie. Pomocou tohto nástroja môžeme vykonávať hlavne tri typy testovania: interaktívne testovanie, automatizované jednotky a testovanie systému.

Do tohto článku prispel Suman Dass.