„Blockchain“ testavimo pamoka

Kas yra „Blockchain“?

„Blockchain“ yra bendra duomenų bazių saugykla, nuolat auganti įrašų, vadinamų blokais, sąrašas. Kiekviename bloke yra ankstesnio bloko maiša ir laiko žyma.

Šioje pamokoje sužinosite:

  • Kas yra „Blockchain“?
  • „Blockchain“ funkcijos apima
  • „Blockchain“ tipas
  • Pagrindiniai „blockchain“ komponentai
  • „Blockchain“ privalumai
  • „Blockchain“ testavimo iššūkiai
  • „Blockchain“ testavimo etapai 7
  • Pagrindiniai „Blockchain“ programos testavimo tipai
  • „Blockchain“ testavimo įrankiai 10

„Blockchain“ funkcijos apima

  • Decentralizuota sistema : naudinga įvairiose pramonės šakose, tokiose kaip finansai, nekilnojamasis turtas ir kt.
  • Geresnis saugumas : operacijoms užbaigti ir autentifikuoti naudojami keli mazgai
  • Autentiškumas : leidžia unikaliam algoritmui apdoroti duomenis
  • Padidėjęs pajėgumas : padidina viso tinklo pajėgumą

„Blockchain“ tipas

Čia yra trys „Blockchain“ tipai:

Konsorciumo „Blockchain“:

Kelios organizacijos turės prieigą ir valdymą tinkle. Tai visiškai decentralizuota sistema

Viešoji „Blockchain“:

Tokio tipo „blockchain“ bandymuose visi turi prieigą prie tinklo ir gali dalyvauti konsensuse. Jo decentralizuota sistema.

Privatus „Blockchain“:

Tik pavienės organizacijos turės prieigą ir prieigą prie tinklo. Tai iš dalies decentralizuota sistema.

Viešas Privatus Konsorciumas
Prieiga
  • Bet kas
  • Viena organizacija
  • Daugybė organizacijų
Dalyviai
  • Be leidimo
  • Anoniminis
  • Leidžiama
  • Žinomos tapatybės
  • Leidžiama
  • Žinomos tapatybės
Saugumas
  • Konsensuso mechanizmas
  • Darbo įrodymas / kamino įrodymas
  • Iš anksto patvirtinti dalyviai
  • Balsavimas / daugiapartinis sutarimas
  • Iš anksto patvirtinti dalyviai
  • Balsavimas / daugiapartinis sutarimas
Operacijos greitis
  • Lėtas
  • Lengvesnis ir greitesnis
  • Lengvesnis ir greitesnis

Pagrindiniai „blockchain“ komponentai

Mazgo programa

Kiekvienas mazgas turi įdiegti ir paleisti kompiuterinę programą, atitinkančią ekosistemą, kurioje jie nori dalyvauti

Bendra knyga

Duomenų struktūra (knyga) yra valdoma mazgo programoje. Ekosistemos turinį galima peržiūrėti, kai mazgo programa veikia.

Sutarimo algoritmas

Sutarimo algoritmas yra įgyvendinamas kaip mazgo programos dalis, pateikiant „žaidimo taisykles“, kaip ekosistema pasieks bendrą knygos knygą.

Virtuali mašina

Mašinos, valdomos pagal instrukcijas, abstrakcija ir įgyvendinama kaip mazgų programos, kurią valdo kiekvienas ekosistemos dalyvis, dalis.

Kaip veikia „Blockchain“?

„Blockchain“ privalumai

  • Laiko taupymas : „Blockchain“ sumažina operacijų laiką nuo dienų iki minučių. Operacijos sprendimas yra greitesnis, nes nereikalauja, kad tai patikrintų centrinė institucija.
  • Ekonomiškas : „Blockchain“ operacijos sumažina tvarkymą. Dalyviai gali tiesiogiai keistis vertingais daiktais. „Blockchain“ pašalina pastangų dubliavimąsi, nes dalyviai turi prieigą prie bendros knygos.
  • Padidinkite saugumą : „Blockchain“ apsauga nuo sukčiavimo ir elektroninių nusikaltimų.

„Blockchain“ testavimo iššūkiai

  • Suprasti technologiją - „Blockchain“ yra nauja technologija, todėl norint suprasti „Blockchain“ programą labai svarbu suprasti technologiją, turint žinių apie domeną
  • „Blockchain“ testavimo įrankių trūkumas - „Blockchain“ pagrįstų programų testavimas yra susijęs su įrankiais. Tinkamo įrankio pasirinkimas kiekvienai programai yra vienas iš svarbių sprendimų.
  • Testavimo strategijos apibrėžimas - kaip ir bet kuri programa, „Blockchain“ programos bandymo strategijos kūrimas. Tai yra vienas didžiausių iššūkių, nes bandymų strategija reikalauja išsamių žinių ir supratimo apie technologijas ir taikymą.
  • Bloko ir grandinės dydis - kartu su standartiniais bandymais, įrankiais ir geriausia praktika, taip pat svarbu patikrinti blokų ir grandinės dydį. „Blockchain“ programos gali nepavykti tinkamai nepatvirtinus bloko dydžio ir grandinės dydžio.
  • Integracijos testavimas - kadangi „Blockchain“ programoje yra keli komponentai, integracijos bandymai turėtų būti atliekami tinkamai ir dažnai, siekiant patikrinti, ar visi komponentai yra tinkamai integruoti, kad būtų išvengta bet kokių gedimų.
  • Našumas ir apkrova - nepavykus išbandyti našumo ir apkrovos bandymų, suteikia mažai informacijos arba visai nesuvokia, kaip „Blockchain“ programa veikia tiek gamyboje, tiek esant tam tikroms darbo apkrovoms ir tinklo sąlygoms.
  • Saugumas - duomenų saugumas turėtų būti svarbiausias „Blockchain“ programoje. „Blockchain“ gali būti įvairių sektorių, pvz., Sveikatos, finansų ir kt., Dalis. Bet kokio tipo kenkėjiškos atakos gali paveikti „Blockchain“ programą

„Blockchain“ testavimo etapai

Iniciacijos etapas:

  • Suprasti „Blockchain“ architektūrą : šiame etape mes suprantame ir analizuojame verslo ir funkcinius reikalavimus. Tai apibūdina programos elgseną ir tai, kaip vartotojas sąveikaus su programa
  • Viso testavimo strategijos kūrimas : Šiame etape mes aprašome testavimo metodą bandant programą. Tai turėtų būti padaryta išsamiai, kad visi tikslai būtų visiškai įtraukti.

Projektavimo etapas:

  • Bandomojo atvejo sukūrimas : šiame etape kokybės užtikrinimo komanda tinkamais veiksmais rašo bandymo atvejus. Šiuos bandymus nagrinėja verslo analitikas (BA).
  • Testo duomenų kūrimas : šiame etape bandymų duomenys kuriami arba išgaunami iš ankstesnės aplinkos pagal verslo reikalavimus. Testo duomenis galima sukurti rankiniu būdu arba naudojant automatikos įrankius.
  • Aplinkos sąranka : Šiame etape testavimo aplinka sukonfigūruota kaip verslo ar programos poreikis
  • Našumo metrika : Našumo metrika rodo informaciją apie programos, sistemos ar komponentų našumą

Testavimo etapas:

  • API testavimas : atliekant API testavimą užtikriname, kad „blockchain“ ekosistemoje esančių programų sąveika yra tokia, kokios tikėtasi
  • Blokavimo testavimas : norint užtikrinti tinkamą bendradarbiavimą, visi tinklo blokai turėtų būti išbandyti atskirai.
  • Funkcinis testavimas : Funkciniame testavime mes vertiname įvairių funkcinių „Blockchain“ dalių darbą (pvz., Išmaniosios sutartys).
  • Našumo testavimas : išsami informacija, pvz., Tinklo vėlavimas, pagrįstas bloko dydžiu, tinklo dydžiu, numatomu operacijos dydžiu ir kiek laiko reikia užklausai grąžinti išvestį naudojant specializuotą autentifikavimo protokolą
  • Saugumo testavimas : tuo užtikriname, kad programa yra pažeidžiama atakų, o sistemos gali apsaugoti duomenis ir sugebėti valdyti kenkėjiškas atakas ir kt.
  • Integracijos testavimas : atliekant integracijos testavimą užtikriname, kad visi programos komponentai yra tinkamai integruoti ir tinkamai atliekami veiksmai
  • Protingas sutarčių testavimas : Išmanusis sutarčių testavimas - tai išsamus verslo logikos ir proceso funkcinių bandymų atlikimas.

Ataskaitos etapas:

  • Projekto santraukos ataskaita : apibūdinkite bendrą projekto detalių apžvalgą, projekto datas, kainą ir išsamią užduoties informaciją
  • Išmaniojo sutarčių testavimo ataskaita : Šioje ataskaitoje aprašoma pažangiosios sutarties, duomenų ir taisyklių apdorojimo informacija
  • Saugumo testavimo ataskaita : oficialiame dokumente klientui ir aukštesniajai vadovybei rodo pažeidžiamą informaciją. Ataskaitoje pateikiama testavimo data, bandymų duomenys ir rastų pažeidžiamumų santrauka
  • našumo testavimo ataskaita : Šioje ataskaitoje pateikiama išsami informacija apie programų našumą, pvz., greitį, mastelio keitimą, patikimumą ir kt.

Pagrindiniai „Blockchain“ programos testavimo tipai

Funkcinis testavimas

Funkcinis testavimas vaidina svarbų vaidmenį „Blockchain“ testavime, nes jis padeda įvertinti verslo reikalavimus, procesus ir naudojimo atvejų efektyvumą. Toliau pateikiami komponentai, kuriuos galima išbandyti kaip funkcinio testavimo dalį: 1) Bloko dydis ir Grandinės dydis 2) Bloko pridėjimas 3) Duomenų perdavimas

Integracijos testavimas

„Blockchain“ programa veikia keliose aplinkose. Taigi svarbu išbandyti tarpsisteminius ryšius

Našumo testavimas:

Tai padeda iš anksto nustatyti aparatūros ir programinės įrangos trūkumus. Tai taip pat gali padėti išsiaiškinti galimas programos vykdymo debesyje ar kitose aplinkose išlaidas.

Mazgo testavimas

Kad būtų užtikrintas sklandus bendradarbiavimas, visi įvairūs tinklo mazgai turi būti išbandyti nepriklausomai.

API testavimas:

Programų programavimo sąsaja išbando „blockchain“ ekosistemos programų sąveiką. API testavimas užtikrina, kad užklausos ir atsakymai būtų tinkamai suformatuoti ir valdomi.

„Blockchain“ testavimo įrankiai

Štai keletas importuojamų „Blockchain“ testavimo įrankių:

1) Ethereum testeris:

Tai yra atvirojo kodo bandymų biblioteka, kurią galima rasti „GitHub“ repo. Tai lengva nustatyti naudojant valdomą API palaikymą įvairiems testavimo reikalavimams.

2) Ganache:

Anksčiau jis žinomas kaip „ Testrpc“ , yra plačiai naudojama biblioteka, skirta išbandyti „Ethereum“ sutartis vietoje. Tai veikia sukant tam tikrą „ B“ užrakto grandinę, kuri suteikia jums prieigą prie paskyrų, kurias galite naudoti „ T esting“.

3) „Hyperledger“ kompozitorius:

„Hyperledger Composer“ yra atviro kodo įrankis, kuris padeda kūrėjams kurti „blockchain“ programas. Naudodami šį įrankį, mes galime atlikti daugiausia trijų tipų bandymus: interaktyvų testavimą, automatizuotą įrenginio ir sistemos testavimą.

Prie šio straipsnio prisidėjo Sumanas Dassas.

Įdomios straipsniai...