Š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 |
|
|
|
Sudionici |
|
|
|
Sigurnost |
|
|
|
Brzina transakcije |
|
|
|
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.