Blockchaini testimise õpetus

Lang L: none (table-of-contents):

Anonim

Mis on Blockchain?

Blockchain on jagatud andmebaasipood, mis kasvab pidevalt kirjete loetelu, mida nimetatakse plokkideks. Iga plokk sisaldab eelmise ploki räsi ja ajatemplit.

Selles õpetuses saate teada:

  • Mis on Blockchain?
  • Funktsioonid Blockchain sisaldab
  • Blockchaini tüüp
  • Blockchaini peamised komponendid
  • Blockchaini eelised
  • Blockchaini testimise väljakutsed
  • Blockchaini testimise etapid 7
  • Blockchaini rakenduse peamised testimistüübid 10
  • Blockchaini testimisvahendid 10

Funktsioonid Blockchain sisaldab

  • Detsentraliseeritud süsteem : kasulik mitmesugustes tööstusharudes, nagu rahandus, kinnisvara jne.
  • Parem turvalisus : kasutab tehingute lõpuleviimiseks ja autentimiseks mitut sõlme
  • Autentsus : võimaldab unikaalsel algoritmil andmeid töödelda
  • Suurenenud võimsus : suurendab kogu võrgu võimsust

Blockchaini tüüp

Siin on kolme tüüpi Blockchaini:

Konsortsiumi plokiahel:

Mitmel organisatsioonil on võrgule juurdepääs ja volitused. See on täielikult detsentraliseeritud süsteem

Avalik plokiahel:

Seda tüüpi plokiahela testimisel on kõigil juurdepääs võrgule ja nad saavad osaleda konsensuses. Selle detsentraliseeritud süsteem.

Privaatne plokiahel:

Ainult üksikutel organisatsioonidel on juurdepääs võrgule ja selle autoriteet. See on osaliselt detsentraliseeritud süsteem.

Avalik Privaatne Konsortsium
Juurdepääs
  • Igaüks
  • Ühtne organisatsioon
  • Mitmekordne organisatsioon
Osalejad
  • Lubamatu
  • Anonüümne
  • Lubatud
  • Tuntud identiteedid
  • Lubatud
  • Tuntud identiteedid
Turvalisus
  • Konsensuse mehhanism
  • Töötõend / virnatõend
  • Eelkinnitatud osalejad
  • Hääletamine / mitme osapoole konsensus
  • Eelkinnitatud osalejad
  • Hääletamine / mitme osapoole konsensus
Tehingu kiirus
  • Aeglane
  • Kergem ja kiirem
  • Kergem ja kiirem

Blockchaini peamised komponendid

Sõlme rakendus

Iga sõlm peab installima ja käitama arvutirakenduse, mis vastab ökosüsteemile, milles nad osaleda soovivad

Jagatud pearaamat

Andmestruktuuri (pearaamatut) hallatakse sõlmerakenduses. Ökosüsteemi sisu saab vaadata, kui sõlmpunktirakendus on töötavas olekus.

Konsensuse algoritm

Konsensuse algoritm on rakendatud sõlmpakenduse osana, pakkudes mängureegleid, kuidas ökosüsteem jõuab pearaamatu ühe vaateni.

Virtuaalne masin

Juhiste abil töötava masina abstraheerimine ja rakendamine osana sõlmes olevast rakendusest, mida iga ökosüsteemi osaleja töötab.

Kuidas Blockchain töötab?

Blockchaini eelised

  • Aja kokkuhoid : Blockchain vähendab tehingu aega päevadest minutiteks. Tehingu lahendus on kiirem, kuna see ei nõua keskasutuse kinnitust.
  • Kulutasuv : plokiahelatehingud vähem käsitlemist. Osalejad saavad vahetada väärtuslikke esemeid otse. Blockchain eemaldab jõupingutuste dubleerimise, kuna osalejatel on juurdepääs jagatud pearaamatule.
  • Suurendage turvalisust : Blockchaini turvakaitse pettuste ja küberkuritegevuse eest.

Blockchaini testimise väljakutsed

  • Tehnoloogia mõistmine - Blockchain on uus tehnoloogia ja tehnoloogia mõistmine domeeniteadmistega on Blockchaini rakenduse testimisel väga oluline
  • Blockchaini testimisvahendite puudumine - Blockchaini põhinevate rakenduste testimine on seotud tööriistadega. Rakenduse jaoks õige tööriista valimine on üks olulisi otsuseid.
  • Testimisstrateegia määratlemine - nagu iga rakendus, on ka Blockchaini rakenduse testimisstrateegia kujundamine. See on üks suurimaid väljakutseid, kuna testimisstrateegia nõuab põhjalikke teadmisi ja arusaamist tehnoloogiast ja rakendusest.
  • Ploki ja keti suurus - lisaks standardsele testimisele, tööriistadele ja parimatele tavadele on oluline ka ploki suuruse ja keti suuruse testimine. Plokiahela rakendused võivad ebaõnnestuda ilma ploki suuruse ja keti suuruse nõuetekohase kinnitamiseta.
  • Integreerimise testimine - kuna Blockchaini rakenduses on mitu komponenti, tuleks integreerimiskatseid korralikult ja sageli teha, et tõrkeid vältida, et kõik komponendid oleksid õigesti integreeritud.
  • Toimivus ja koormus - jõudluse ja koormuse testimise ebaõnnestumine annab vähe või üldse mitte ülevaate sellest, kuidas Blockchaini rakendus toimib nii tootmises kui ka konkreetsetes töökoormustes ja võrgutingimustes.
  • Turvalisus - Blockchaini rakenduses peaks andmete turvalisus olema kõige olulisem. Blockchain võib olla osa erinevatest sektoritest, nagu tervis, rahandus jne. Mis tahes tüüpi pahatahtlikud rünnakud võivad Blockchaini rakendust mõjutada

Blockchaini testimise etapid

Algatamise etapp:

  • Blockchaini arhitektuuri mõistmine : selles etapis mõistame ja analüüsime äri- ja funktsionaalseid nõudeid. See kirjeldab rakenduse käitumist ja seda, kuidas kasutaja rakendusega suhtleb
  • Täielik testimisstrateegia kujundamine : Selles etapis kirjeldame rakenduse testimise lähenemisviisi. Seda tuleks teha üksikasjalikult, et kõik eesmärgid oleksid täielikult kaetud.

Kujundusetapp:

  • Testjuhtumi loomine : selles etapis kirjutab kvaliteedikontrolli meeskond testjuhtumid õigete sammudega. Need testkojad vaatab üle ärianalüütik (BA).
  • Testandmete loomine : selles etapis luuakse või eraldatakse testiandmeid eelmisest keskkonnast vastavalt ärinõuetele. Testandmeid saab luua käsitsi või automatiseerimistööriistade abil.
  • Keskkonna seadistamine : Selles etapis konfigureeritakse testimiskeskkond vajaduseks ettevõtte või rakenduse järele
  • Toimivusmõõdikud : jõudlusmõõdikud näitavad teavet rakenduse, süsteemi või komponentide jõudluse osas

Testimise etapp:

  • API testimine : API testimisel tagame, et plokiahela ökosüsteemi rakenduste vaheline suhtlus on ootuspärane
  • Plokkide testimine : nõuetekohase koostöö tagamiseks tuleks kõiki võrgu plokke testida eraldi.
  • Funktsionaalne testimine : funktsionaalses testimises hindame Blockchaini erinevate funktsionaalsete osade tööd (nt nutikad lepingud).
  • Toimivuse testimine : üksikasjad, näiteks võrgu latentsus, mis põhineb ploki suurusel, võrgu suurusel, eeldataval tehingu suurusel ja kui kaua päring võtab väljundi tagastamiseks spetsiaalse autentimisprotokolliga
  • Turvatestimine : sellega tagame, et rakendus on rünnakute suhtes haavatav ja süsteemid suudavad andmeid kaitsta ning on võimelised toime tulema pahatahtlike rünnakutega jne.
  • Integratsiooni testimine : Integreerimise testimisel tagame, et kõik rakenduse komponendid on õigesti integreeritud ja toimingud asjakohaselt läbi viidud
  • Nutikas lepingutestimine : nutika lepingu testimine on äriloogika ja -protsessi üksikasjaliku funktsionaalse testimise teostamine.

Aruande etapp:

  • Projekti kokkuvõtlik aruanne : kirjeldage projekti üksikasjade, projekti kuupäevade, maksumuse ja ülesande üksikasjade üldist ülevaadet
  • Nutika lepingu testimise aruanne : see aruanne kirjeldab nutika lepingu, andmete ja reeglite töötlemise üksikasju
  • Turvatestimise aruanne : kuvab haavatavat teavet ametlikus dokumendis kliendi ja kõrgema juhtkonna jaoks. Aruanne sisaldab testimise kuupäeva, testiandmeid ja kokkuvõtet leitud haavatavustest
  • jõudluskontrolli aruanne : see aruanne näitab rakenduste toimivuse üksikasju, nagu kiirus, mastaapsus, usaldusväärsus jne.

Blockchaini rakenduse peamised testimistüübid

Funktsionaalne testimine

Funktsionaalsel testimisel on Blockchaini testimisel oluline roll, kuna see aitab hinnata ärinõudeid, protsesse ja kasutamisjuhtude tõhusust. Allpool on komponendid, mida saab testida funktsionaalse testimise osana: 1) ploki suurus ja keti suurus 2) ploki lisamine 3) andmete edastamine

Integratsiooni testimine

Blockchaini rakendus töötab mitmes keskkonnas. Niisiis on oluline testida süsteemidevahelisi ühendusi

Jõudluse testimine:

See aitab riistvara ja tarkvara kitsaskohti eelnevalt kindlaks teha. See võib aidata teil välja selgitada ka rakenduse pilves või muudes keskkondades töötamise võimalikud kulud.

Sõlmede testimine

Sujuva koostöö tagamiseks tuleb kõiki võrgu erinevaid sõlme testida iseseisvalt.

API testimine:

Rakenduse programmeerimisliides testib rakenduste vahelist vastastikmõju plokiahela ökosüsteemis. API testimine tagab, et taotlused ja vastused vormindatakse ja toimivad õigesti.

Blockchaini testimisvahendid

Siin on mõned imporditud Blockchaini testimise tööriistad:

1) Ethereumi tester:

See on avatud lähtekoodiga testimisraamatukogu, mis on saadaval GitHubi repos. Erinevate testimisnõuete jaoks on seda lihtne hallatava API toega seadistada .

2) Ganache:

See on varem tuntud kui Testrpc , on Ethereumi lepingute kohapeal testimiseks laialdaselt kasutatav raamatukogu. See töötab, keerutades mingisugust mõnitavat B- lukustusahelat, mis annab teile juurdepääsu kontodele, mida saate kasutada T estimiseks.

3) Hyperledger helilooja:

Hyperledger Composer on avatud lähtekoodiga tööriist, mis aitab arendajatel luua plokiahelarakendusi. Selle tööriista abil saame teha peamiselt kolme tüüpi teste: interaktiivne testimine, automaatne üksus ja süsteemi testimine.

Selle artikli autor on Suman Dass.