Vodič za testiranje blockchaina

Sadržaj:

Anonim

Što je Blockchain?

Blockchain je dijeljena baza podataka koja neprestano raste popis zapisa, koji se nazivaju blokovi. Svaki blok sadrži raspršivanje prethodnog bloka i vremensku oznaku.

U ovom vodiču naučit ćete:

  • Što je Blockchain?
  • Značajke Blockchaina uključuju
  • Vrsta Blockchaina
  • Glavne komponente blockchaina
  • Prednosti Blockchaina
  • Izazovi u Blockchain testiranju
  • Faze blockchain testiranja 7
  • Ključne vrste testiranja na Blockchain aplikaciji 10
  • Alati za testiranje blockchaina 10

Značajke Blockchaina uključuju

  • Decentralizirani sustav : koristan u raznim industrijama poput financija, nekretnina itd.
  • Bolja sigurnost : koristi više čvorova za dovršavanje i provjeru autentičnosti transakcija
  • Autentičnost : omogućuje jedinstvenom algoritmu obradu podataka
  • Povećani kapacitet : Povećava kapacitet cijele mreže

Vrsta Blockchaina

Evo tri vrste Blockchaina:

Blockchain konzorcija:

Više organizacija imat će pristup i ovlasti nad mrežom. Potpuno je decentraliziran sustav

Javni blockchain:

U ovoj vrsti blockchain testiranja svi imaju pristup mreži i mogu sudjelovati u Konsenzusu. Njegov decentralizirani sustav.

Privatni blockchain:

Samo će pojedinačne organizacije imati pristup i ovlasti nad mrežom. To je djelomično decentralizirani sustav.

Javnost Privatna Konzorcij
Pristup
  • bilo tko
  • Jedinstvena organizacija
  • Višestruka organizacija
Sudionici
  • Dozvoljeno
  • Anonimno
  • Dopušteno
  • Poznati identiteti
  • Dopušteno
  • Poznati identiteti
Sigurnost
  • Konsenzusni mehanizam
  • Dokaz o radu / Proof of Stack
  • Unaprijed odobreni sudionici
  • Glasanje / višestranački konsenzus
  • Unaprijed odobreni sudionici
  • Glasanje / višestranački konsenzus
Brzina transakcije
  • Usporiti
  • Lakše i brže
  • Lakše i brže

Glavne komponente blockchaina

Primjena čvora

Svaki čvor mora instalirati i pokrenuti računalnu aplikaciju koja je konačna za ekosustav u kojem želi sudjelovati

Dijeljena knjiga

Strukturom podataka (knjigom) upravlja se unutar aplikacije čvora. Sadržaj ekosustava može se pregledati kada je aplikacija čvora u radnom stanju.

Konsenzusni algoritam

Konsenzusni algoritam implementiran je kao dio aplikacije čvora, pružajući 'pravila igre' kako će ekosustav doći do jedinstvenog prikaza glavne knjige.

Virtualni stroj

Apstrakcija stroja koji radi s uputama i implementiran kao dio aplikacije čvora kojim svaki sudionik upravlja ekosustavom.

Kako funkcionira Blockchain?

Prednosti Blockchaina

  • Ušteda vremena : Blockchain smanjuje vrijeme transakcije s dana na minute. Transakcijsko rješenje je brže jer ne zahtijeva potvrdu od strane središnjeg tijela.
  • Isplativo : Blockchain transakcije manje rukovanje. Sudionici mogu izravno razmijeniti vrijedne predmete. Blockchain uklanja dupliciranje napora jer sudionici imaju pristup zajedničkoj knjizi.
  • Povećajte sigurnost : Blockchainova sigurnosna zaštita od prijevara i cyber kriminala.

Izazovi u Blockchain testiranju

  • Razumijevanje tehnologije - Blockchain je nova tehnologija i razumijevanje tehnologije sa znanjem domene vrlo je važno u testiranju aplikacije Blockchain
  • Nedostatak blokchain alata za testiranje - testiranje aplikacija temeljenih na Blockchainu odnosi se samo na alate. Odabir pravog alata prema aplikaciji jedna je od važnih odluka.
  • Definiranje strategije testiranja - Kao i svaka aplikacija, i dizajniranje strategije testiranja za Blockchain aplikaciju. To je jedan od najvećih izazova jer Test strategija zahtijeva dubinsko znanje i razumijevanje tehnologije i primjene.
  • Veličina bloka i lanca - Uz standardno ispitivanje, alate i najbolje primjere iz prakse, važno je i ispitivanje veličine bloka i veličine lanca. Blockchain aplikacije mogu propasti bez odgovarajuće provjere veličine bloka i veličine lanca.
  • Integracijsko testiranje - Budući da je u aplikaciju Blockchain uključeno više komponenti, integracijsko testiranje treba provoditi pravilno i često kako bi se provjerilo jesu li sve komponente pravilno integrirane kako bi se izbjegli bilo kakvi kvarovi.
  • Izvođenje i opterećenje - neuspjeh za testiranje performansi i testiranje opterećenja daje malo ili nimalo uvida u to kako aplikacija Blockchain radi u proizvodnji, kao i pod određenim radnim opterećenjima i mrežnim uvjetima.
  • Sigurnost - osiguravanje podataka trebalo bi biti najvažnije u Blockchain aplikaciji. Blockchain može biti dio različitih sektora poput zdravstva, financija itd. Bilo koja vrsta zlonamjernih napada može utjecati na Blockchain aplikaciju

Faze Blockchain testiranja

Faza pokretanja:

  • Razumijevanje Blockchain arhitekture : U ovoj fazi razumijemo i analiziramo poslovne i funkcionalne zahtjeve. To opisuje ponašanje aplikacije i način na koji će korisnik komunicirati s aplikacijom
  • Dizajn cjelovite strategije testiranja : Tijekom ove faze opisujemo pristup testiranja za testiranje aplikacije. To bi trebalo učiniti detaljno kako bi svi ciljevi bili u potpunosti pokriveni.

Faza dizajna:

  • Izrada testnog slučaja : U ovoj fazi QA tim ispravno opisuje test slučajeve. Ove testove pregledava poslovni analitičar (BA).
  • Izrada testnih podataka : U ovoj se fazi testni podaci kreiraju ili izdvajaju iz prethodnog okruženja prema poslovnim zahtjevima. Podaci za ispitivanje mogu se stvoriti ručno ili pomoću alata za automatizaciju.
  • Postavljanje okruženja : U ovom je koraku okruženje za testiranje konfigurirano kao potreba za tvrtkom ili aplikacijom
  • Mjerni podaci o izvedbi : Mjerni podaci o izvedbi predstavljaju informacije u smislu izvedbe aplikacije, sustava ili komponenata

Faza ispitivanja:

  • API testiranje : U API testiranju osiguravamo da interakcija između aplikacija u blockchain ekosustavu bude onakva kakva se očekuje
  • Testiranje blokova: Svi blokovi na mreži trebaju se pojedinačno testirati kako bi se osigurala odgovarajuća suradnja.
  • Funkcionalno testiranje : U funkcionalnom testiranju ocjenjujemo rad različitih funkcionalnih dijelova Blockchaina (npr. Pametni ugovori).
  • Ispitivanje izvedbe : Pojedinosti poput mrežne latencije na temelju veličine bloka, veličine mreže, očekivane veličine transakcije i vremena trajanja upita za vraćanje rezultata sa specijaliziranim protokolom za provjeru autentičnosti
  • Ispitivanje sigurnosti : U ovom slučaju osiguravamo da je aplikacija ranjiva na napade, a sustavi mogu zaštititi podatke i sposoban za obradu zlonamjernih napada itd.
  • Integracijsko testiranje : Tijekom integracijskog testiranja osiguravamo da su sve komponente aplikacije pravilno integrirane i izvršavaju radnje na odgovarajući način
  • Testiranje pametnih ugovora : Testiranje pametnih ugovora odnosi se na izvođenje detaljnih funkcionalnih ispitivanja poslovne logike i procesa.

Faza izvještaja:

  • Izvještaj o sažetku projekta : Opišite cjelokupni pregled pojedinosti o projektu, datumima, troškovima i detaljima zadatka
  • Izvješće o testiranju pametnog ugovora : Ovo izvješće opisuje detalje obrade pametnih ugovora, podataka i pravila
  • Izvješće o sigurnosnom testiranju : prikazuje ranjive informacije u službenom dokumentu za klijenta i više rukovodstvo. Izvješće sadrži datum testiranja, podatke o testiranju i sažetak pronađenih ranjivosti
  • Izvješće o ispitivanju performansi : Ovo izvješće prikazuje detalje u vezi s izvedbom aplikacija poput brzine, skalabilnosti, pouzdanosti itd.

Ključne vrste testiranja na Blockchain aplikaciji

Ispitivanje funkcionalnosti

Funkcionalno testiranje igra važnu ulogu u Blockchain testiranju jer pomaže u procjeni poslovnih zahtjeva, procesa i učinkovitosti slučajeva korištenja. Ispod su komponente koje se mogu testirati kao dio funkcionalnog testiranja: 1) veličina bloka i veličina lanca 2) dodavanje bloka 3) prijenos podataka

Ispitivanje integracije

Blockchain aplikacija radi u više okruženja. Dakle, važno je testirati međusustavske veze

Ispitivanje izvedbe:

Pomaže u unaprijed utvrđivanju hardverskih i softverskih uskih grla. To vam također može pomoći da shvatite potencijalne troškove pokretanja aplikacije u oblaku ili drugim okruženjima.

Ispitivanje čvora

Svi različiti čvorovi na mreži moraju se testirati neovisno kako bi se osigurala nesmetana suradnja.

API testiranje:

Sučelje za programiranje aplikacija testira interakciju između aplikacija u blockchain ekosustavu. API testiranje osigurava pravilno oblikovanje zahtjeva i odgovora te njihovo pravilno funkcioniranje.

Alati za testiranje blockchaina

Evo nekoliko alata za testiranje Blockchain testiranja:

1) Tester Ethereuma:

To je biblioteka za testiranje otvorenog koda dostupna na GitHub repo-u. Jednostavno ga je postaviti s API podrškom za upravljanje za različite zahtjeve testiranja.

2) Ganache:

Ranije je poznat kao Testrpc , široko je korištena knjižnica za lokalno testiranje Ethereum ugovora. Djeluje tako da vrti neku vrst glumeći B lockchain koji vam daje pristup na račune koje možete koristiti za T kim, a zanimljiv.

3) Hiperledger skladatelj:

Hyperledger Composer je alat otvorenog koda koji programerima pomaže u izgradnji blockchain aplikacija. Pomoću ovog alata možemo provesti uglavnom tri vrste testiranja: interaktivno testiranje, automatizirano jedinstveno testiranje i testiranje sustava.

Ovaj članak je dao Suman Dass.