Vadnica za testiranje blokchainov

Kazalo:

Anonim

Kaj je Blockchain?

Blockchain je skupna zbirka podatkovnih zbirk, ki nenehno narašča seznam zapisov, imenovan bloki. Vsak blok vsebuje zgoščevanje prejšnjega bloka in časovni žig.

V tej vadnici boste izvedeli:

  • Kaj je Blockchain?
  • Značilnosti Blockchain vključujejo
  • Vrsta blokovne verige
  • Glavne komponente verige blokov
  • Prednosti Blockchaina
  • Izzivi pri testiranju blokov
  • Faze testiranja verig blokov 7
  • Ključne vrste testiranja v aplikaciji Blockchain 10
  • Orodja za preizkušanje blokov verig 10

Značilnosti Blockchain vključujejo

  • Decentraliziran sistem : koristen v različnih panogah, kot so finance, nepremičnine itd.
  • Boljša varnost : za dokončanje in overjanje transakcij uporablja več vozlišč
  • Pristnost : enoličnemu algoritmu omogoča obdelavo podatkov
  • Povečana zmogljivost : poveča zmogljivost celotnega omrežja

Vrsta blokovne verige

Tu so tri vrste blokov:

Blockchain konzorcija:

Dostop do omrežja in njegovo pooblastilo bo imelo več organizacij. To je popolnoma decentraliziran sistem

Javni blockchain:

Pri tej vrsti testiranja verige blokov imajo vsi dostop do omrežja in lahko sodelujejo v soglasju. Njegov decentraliziran sistem.

Zasebni blockchain:

Dostop do omrežja in njegovo pooblastilo bodo imele samo posamezne organizacije. To je delno decentraliziran sistem.

Javno Zasebno Konzorcij
Dostop
  • Kdorkoli
  • Posamezna organizacija
  • Več organizacij
Udeleženci
  • Brez dovoljenja
  • Anonimno
  • Dovoljeno
  • Znane identitete
  • Dovoljeno
  • Znane identitete
Varnost
  • Mehanizem soglasja
  • Dokaz o delu / Dokaz o skladnosti
  • Vnaprej odobreni udeleženci
  • Glasovalno / večstrankarsko soglasje
  • Vnaprej odobreni udeleženci
  • Glasovalno / večstrankarsko soglasje
Hitrost transakcije
  • Počasi
  • Lažje in hitreje
  • Lažje in hitreje

Glavne komponente verige blokov

Aplikacija vozlišča

Vsako vozlišče mora namestiti in zagnati računalniško aplikacijo, ki je dokončna za ekosistem, v katerem želi sodelovati

Skupna knjiga

Podatkovna struktura (knjiga) se upravlja znotraj aplikacije vozlišča. Vsebino ekosistema si lahko ogledate, ko je aplikacija vozlišča v stanju delovanja.

Soglasni algoritem

Soglasni algoritem je implementiran kot del aplikacije vozlišča, ki zagotavlja "pravila igre", kako bo ekosistem prišel do enega pogleda na knjigo.

Navidezni stroj

Abstrakcija stroja, ki deluje z navodili in se izvaja kot del aplikacije vozlišča, ki jo izvaja vsak udeleženec v ekosistemu.

Kako deluje Blockchain?

Prednosti Blockchaina

  • Prihranek časa : Blockchain skrajša čas transakcije z dni na minute. Rešitev transakcije je hitrejša, ker ne zahteva preverjanja s strani centralnega organa.
  • Stroškovno učinkovito : Blockchain transakcije manj obvladljive. Udeleženci lahko vrednostne predmete zamenjajo neposredno. Blockchain odstranjuje podvajanje napora, ker imajo udeleženci dostop do skupne knjige.
  • Povečajte varnost : varnostna zaščita Blockchaina pred goljufijami in kiber kriminalom.

Izzivi pri testiranju blokov

  • Razumevanje tehnologije - Blockchain je nova tehnologija in razumevanje tehnologije z domenskim znanjem je zelo pomembno pri preizkušanju aplikacije Blockchain
  • Pomanjkanje orodij za testiranje blokchainov - Testiranje aplikacij, ki temelji na Blockchain, je vse v orodjih. Izbira pravega orodja glede na aplikacijo je ena pomembnih odločitev.
  • Določanje preizkusne strategije - tako kot vsaka aplikacija tudi pri oblikovanju preizkusne strategije za aplikacijo Blockchain. To je eden največjih izzivov, saj testna strategija zahteva poglobljeno znanje in razumevanje tehnologije in uporabe.
  • Velikost bloka in verige - Skupaj s standardnim preizkušanjem, orodji in najboljšimi praksami je pomembno tudi testiranje velikosti bloka in velikosti verige. Aplikacije Blockchain morda ne bodo uspele brez ustreznega preverjanja velikosti bloka in velikosti verige.
  • Integracijsko testiranje - Ker je v aplikaciji Blockchain vključenih več komponent, je treba integracijsko testiranje opraviti pravilno in pogosto, da se preveri, ali so vse komponente pravilno integrirane, da ne pride do napak.
  • Performance and Load -Failing za preizkus zmogljivosti in testiranje obremenitve daje malo ali nič vpogleda v to, kako deluje aplikacija Blockchain tako v proizvodnji kot tudi pod določenimi delovnimi obremenitvami in omrežnimi pogoji.
  • Varnost - Zaščita podatkov bi morala biti najpomembnejša v aplikaciji Blockchain. Blockchain je lahko del različnih sektorjev, kot so zdravje, finance itd. Vsaka vrsta zlonamernih napadov lahko vpliva na aplikacijo Blockchain

Faze preizkušanja blokov

Začetna faza:

  • Razumevanje arhitekture blokov : v tej fazi razumemo in analiziramo poslovne in funkcionalne zahteve. Ta opisuje vedenje aplikacije in kako bo uporabnik sodeloval z aplikacijo
  • Oblikovanje celotne strategije testiranja : V tej fazi opisujemo pristop testiranja za testiranje aplikacije. To je treba storiti podrobno, da bodo vsi cilji v celoti zajeti.

Faza oblikovanja:

  • Ustvarjanje testnega primera : V tej fazi skupina za preverjanje kakovosti preizkusi primere z ustreznimi koraki. Te primere pregleda poslovni analitik (BA).
  • Ustvarjanje testnih podatkov : V tej fazi se testni podatki ustvarijo ali izvlečejo iz prejšnjega okolja glede na poslovne zahteve. Podatke o preskusu lahko ustvarite ročno ali z orodji za avtomatizacijo.
  • Nastavitev okolja : V tem koraku je preskusno okolje konfigurirano kot potreba za podjetje ali aplikacijo
  • Meritve uspešnosti : Meritve zmogljivosti predstavljajo informacije glede zmogljivosti aplikacije, sistema ali komponent

Faza testiranja:

  • Preizkušanje API-jev : pri testiranju API-jev zagotavljamo, da je interakcija med aplikacijami v ekosistemu verige blokov v skladu s pričakovanji
  • Preizkušanje blokov: Vse bloke v omrežju je treba preizkusiti posamično, da se zagotovi pravilno sodelovanje.
  • Funkcionalno testiranje : pri funkcionalnem testiranju ocenjujemo delo različnih funkcionalnih delov Blockchaina (npr. Pametne pogodbe).
  • Preizkušanje zmogljivosti : podrobnosti, kot so zakasnitve omrežja glede na velikost bloka, velikost omrežja, pričakovano velikost transakcije in koliko časa poizvedba vrne izhod s specializiranim protokolom za preverjanje pristnosti
  • Testiranje varnosti : S tem zagotavljamo, da je aplikacija ranljiva za napade, sistemi pa lahko varujejo podatke in so sposobni obvladovati zlonamerne napade itd.
  • Integracijsko testiranje : Pri integracijskem testiranju zagotavljamo, da so vse komponente aplikacije pravilno integrirane in da dejanja izvajajo pravilno
  • Testiranje pametne pogodbe : Testiranje pametne pogodbe je namenjeno izvedbi podrobnih funkcionalnih preizkusov poslovne logike in postopkov.

Faza poročila:

  • Poročilo o povzetku projekta : Opišite splošen pregled podrobnosti o projektu, datumov projekta, stroškov in podrobnosti o nalogi
  • Poročilo o preizkušanju pametne pogodbe : To poročilo opisuje podrobnosti obdelave pametnih pogodb, podatkov in pravil
  • Poročilo o preizkusu varnosti : V uradnem dokumentu za stranko in višje vodstvo prikazuje ranljive podatke. Poročilo vsebuje datum testiranja, preskusne podatke in povzetek najdenih ranljivosti
  • poročilo o preizkušanju učinkovitosti : to poročilo prikazuje podrobnosti o delovanju aplikacij, kot so hitrost, razširljivost, zanesljivost itd.

Ključne vrste testiranja v aplikaciji Blockchain

Funkcionalno preskušanje

Funkcionalno testiranje igra pomembno vlogo pri testiranju blokov verig, saj pomaga pri ocenjevanju poslovnih zahtev, procesov in učinkovitosti primerov uporabe. Spodaj so komponente, ki jih je mogoče preizkusiti kot del funkcionalnega testiranja: 1) Velikost bloka in velikost verige 2) Dodajanje bloka 3) Prenos podatkov

Integracijsko preskušanje

Aplikacija Blockchain deluje v več okoljih. Pomembno je torej preizkusiti medsistemske povezave

Testiranje učinkovitosti:

Pomaga pri predhodnem odkrivanju ozkih grl strojne in programske opreme. To vam lahko pomaga tudi ugotoviti morebitne stroške za zagon aplikacije v oblaku ali drugih okoljih.

Testiranje vozlišča

Vsa različna vozlišča v omrežju je treba neodvisno preizkusiti, da se zagotovi nemoteno sodelovanje.

Testiranje API-ja:

Aplikacijski vmesnik za programiranje preizkuša interakcijo med aplikacijami v blokovskem ekosistemu. Preizkušanje API-jev zagotavlja, da so zahteve in odgovori oblikovani in pravilno delujejo.

Orodja za preizkušanje blokov

Tukaj je nekaj orodij za testiranje uvoznih blokov:

1) Tester Ethereuma:

Gre za odprtokodno preizkusno knjižnico, ki je na voljo na repozituriju GitHub. Enostavno ga je nastaviti z obvladljivo podporo za API za različne zahteve testiranja.

2) Ganache:

Prej je bil znan kot Testrpc , je pogosto uporabljana knjižnica za lokalno testiranje pogodb Ethereum. Deluje tako, da vrti do neke vrste lažni B lockchain, ki vam omogoča dostop do računov, ki jih lahko uporabite za T esting.

3) Hyperledger Composer:

Hyperledger Composer je odprtokodno orodje, ki razvijalcem pomaga pri izdelavi blockchain aplikacij. S tem orodjem lahko izvedemo predvsem tri vrste testiranja: interaktivno testiranje, avtomatizirano enoto in sistemsko testiranje.

Ta članek prispeva Suman Dass.