Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

Illum, is-soluzzjonijiet għall-ittestjar u l-benchmarking tal-blockchains huma mfassla għal blockchain speċifika jew il-frieket tagħha. Iżda hemm ukoll bosta soluzzjonijiet aktar ġenerali li jvarjaw fil-funzjonalità: xi wħud minnhom huma proġetti ta 'sors miftuħ, oħrajn huma pprovduti bħala SaaS, iżda l-biċċa l-kbira huma soluzzjonijiet interni maħluqa mit-tim tal-iżvilupp tal-blockchain. Madankollu, kollha jsolvu problemi simili. F'dan l-artikolu, ippruvajt nirrevedi fil-qosor diversi prodotti ddisinjati speċifikament għall-ittestjar tal-blockchains.

It-tħaddim ta 'netwerk blockchain tixbaħ it-tħaddim ta' database distribwita, għalhekk għodod u metodi simili jistgħu jintużaw għall-ittestjar. Biex tifhem aħjar kif id-databases distribwiti huma ttestjati, agħti ħarsa lejn għażla tajba ta 'riżorsi u artikoli għalhekk. Per eżempju, latency hija magħżula f'biċċiet f'dan artikolu, u biex jifhmu kif ifittxu bugs fl-algoritmi ta 'replikazzjoni, nirrakkomanda li taqra dan artikolu.

Se niddeskrivi diversi soluzzjonijiet popolari għall-ittestjar u l-benchmarking tal-blockchains. Inkun ferħan jekk fil-kummenti tiddeskrivi prodotti ta' softwer utli oħra biex issolvi l-istess problemi.

Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

Nibda b'għodda li, għalkemm mhix maħluqa speċifikament għall-blockchains, tippermettilek li tittestja b'mod effettiv it-tħaddim tagħhom, sakemm ikun hemm netwerk li diġà qed jaħdem li fuqu tista 'tesperimenta. L-iktar fattur importanti fl-affidabbiltà ta 'sistema distribwita hija l-abbiltà li tkompli taħdem f'każ ta' problemi mas-servers u n-netwerk. Dan jista 'jkun dewmien tan-netwerk, milja tad-disk, indisponibbiltà ta' servizzi esterni (DNS), fallimenti ta 'hardware u mijiet ta' raġunijiet oħra. Biex tiċċekkja l-istabbiltà ta 'kwalunkwe sistemi li joperaw flimkien fuq numru kbir ta' magni tas-sistemi, tista 'tuża Gremlin. Juża approċċ estremament effettiv imsejjaħ Chaos Engineering.

Bl-użu tal-aġent tan-netwerk tiegħu stess, Gremlin joħloq ħafna tipi differenti ta 'problemi fuq in-numru meħtieġ ta' magni: dewmien tan-netwerk, tagħbija żejda ta 'kwalunkwe riżorsa (CPU, disk, memorja, netwerk), tiddiżattiva protokolli individwali, eċċ. Għal blockchains, Gremlin jista 'jintuża fuq servers testnet, jimita problemi tal-ħajja reali u josserva l-imġieba tan-netwerk. Magħha, l-iżviluppaturi u l-amministraturi jistgħu josservaw f'ambjent ikkontrollat ​​x'se jiġri jekk is-sistema tiġġarraf jew meta l-kodiċi jiġi aġġornat. F'dan il-każ, in-netwerk għandu jiġi kkonfigurat u skjerat minn qabel, kif ukoll konfigurat biex jiġbor il-metriċi meħtieġa.

Gremlin hija għodda konvenjenti għall-periti, devops u speċjalisti tas-sigurtà u soluzzjoni universali għall-ittestjar ta 'kwalunkwe sistemi distribwiti lesti u li jaħdmu, inklużi blockchains.

Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

Hyperledger Caliper hija soluzzjoni ferm aktar speċjalizzata Hyperledger Caliper. Fil-mument, Caliper jappoġġja diversi blockchains f'daqqa - rappreżentanti tal-familja Hyperledger (Fabric, Sawtooth, Iroha, Burrow, Besu), kif ukoll Ethereum u n-netwerk FISCO BCOS.

Bl-użu Caliper, tista 'tissettja t-topoloġija tan-netwerk blockchain u l-kuntratti għall-ittestjar, kif ukoll tiddeskrivi l-konfigurazzjoni tan-node. In-nodi tal-blockchain jitqajmu f'kontenituri docker fuq magna waħda. Sussegwentement, tista 'tagħżel dak meħtieġ konfigurazzjonijiet tat-test u tirċievi fajl b'rapport dwar ir-riżultati tat-test wara t-tnedija. Lista sħiħa ta 'metriċi Caliper u approċċ ta' benchmarking tista 'tinstab hawn Metriċi tal-Prestazzjoni ta' Hyperledger Blockchain, Dan huwa artikolu kbir jekk inti interessat fis-suġġett tal-benchmarking tal-blockchain. Tista 'wkoll twaqqaf ġbir ta' metriċi fi Prometheus/Grafana separat.

Hyperledger Caliper hija għodda mmirata lejn l-iżviluppaturi u l-periti tas-sistema, peress li tipprovdi ripetibbiltà tat-test u awtomazzjoni tal-ittestjar u l-benchmarking. Jintuża fl-iżvilupp tal-qalba tal-blockchains: algoritmi ta 'kunsens, magna virtwali għall-ipproċessar ta' kuntratti intelliġenti, saff peer-to-peer u mekkaniżmi ta 'sistema oħra.

Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

MixBytes Tank hija għodda li ħarġet fil-proċess ta 'żvilupp ta' algoritmi ta 'kunsens u finalità għal netwerks ibbażati fuq EOS u parachains ta' ttestjar ibbażati fuq Parity Substrat (Polkadot). F'termini ta 'funzjonalità, huwa qrib Hyperledger Caliper, peress li jippermettilek tiġbor metriċi importanti minn nodi ta' kwalunkwe sistema distribwita u magni tal-klijenti li fuqhom qed jaħdmu skripts tat-test.

MixBytes Tank juża diversi servizzi tas-sħab (Digital Ocean, Google Cloud Engine, eċċ.), li fihom jista’ jniedi ħafna nodi, iwettaq proċeduri ta’ konfigurazzjoni preliminari, iħaddem diversi punti ta’ referenza b’mod parallel fuq magni differenti, jiġbor il-metriċi meħtieġa u jagħlaq awtomatikament il- netwerk.

MixBytes Tank jippermettilek tiffranka l-flus fuq servers tas-sħab billi timminimizza awtomatikament ir-riżorsi mhux meħtieġa wara test. Fattur distintiv ieħor huwa l-użu tal-pakkett Molecule, li jippermetti lill-iżviluppatur biex jittestja l-iskjerament tal-blockchain mixtieq lokalment.

MixBytes Tank jippermettilek li tiskopri minn kmieni konġestjonijiet u żbalji fl-algoritmi li jinqalgħu f'netwerks reali b'numru kbir ta 'servers u klijenti distribwiti ġeografikament. It-tank jgħinek tifhem x'se jiġri fuq in-nodi jekk il-klijenti jibagħtu tranżazzjonijiet b'tps partikolari f'kundizzjonijiet ripetibbli ħafna u b'numru reali ta 'nodi mifruxa fuq kontinenti differenti, jekk meħtieġ.

Ħarsa ġenerali fil-qosor tal-Għodod tal-Ittestjar u l-Ittestjar tal-Blockchain

Whiteblock Genesis hija pjattaforma ta 'ttestjar għal blockchains ibbażati fuq Ethereum. Din l-għodda għandha funzjonalità pjuttost wiesgħa: tippermettilek tniedi netwerk, toħloq in-numru meħtieġ ta 'kontijiet fiha, tgħolli n-numru meħtieġ ta' klijenti, tikkonfigura t-topoloġija tan-netwerk, tispeċifika l-bandwidth u l-parametri ta 'packetloss u tmexxi test.

Whiteblock Genesis tipprovdi l-faċilitajiet ta 'ttestjar tagħha stess. L-iżviluppaturi jeħtieġ biss li jispeċifikaw il-parametri tat-test, imexxuhom bl-użu ta 'API lesta, u jiksbu riżultati permezz ta' dashboard konvenjenti.

Whiteblock Genesis jippermettilek tikkonfigura test pjuttost dettaljat li l-pjattaforma twettaq awtomatikament għal kull bidla sinifikanti fil-kodiċi. Dan jippermettilek taqbad l-iżbalji fi stadju bikri u immedjatament tevalwa l-impatt tal-bidliet fuq parametri importanti tan-netwerk, bħall-veloċità tat-tranżazzjoni u r-riżorsi kkunsmati min-nodi.

Madt

Prodott ieħor żagħżugħ interessanti għall-ittestjar ta 'sistemi distribwiti huwa madt. Huwa miktub f'Python u jippermettilek toħloq it-topoloġija tan-netwerk meħtieġa u n-numru meħtieġ ta' servers u klijenti bl-użu ta' skript ta' konfigurazzjoni sempliċi (eżempju). Wara dan, is-servizz juża n-netwerk f'diversi kontenituri Docker u jiftaħ interface tal-web li fiha tista 'tosserva messaġġi minn servers u klijenti tan-netwerk. Madt jista 'jintuża għall-ittestjar tal-blockchains - ir-repożitorju tal-proġett għandu test tan-netwerk p2p ibbażat fuq il-protokoll Kademlia, li fih id-dewmien fit-twassil tad-dejta lin-nodi jiżdied gradwalment u l-istatus ta' din id-dejta jiġi kkontrollat.

Madt deher biss reċentement, iżda minħabba l-arkitettura flessibbli ħafna tiegħu, jista 'jiżviluppa fi prodott funzjonali.

Soluzzjonijiet oħra

Kważi kwalunkwe ttestjar tal-parti tas-sistema tal-blockchains jeħtieġ it-tħaddim ta 'skripts preliminari, it-tħejjija ta' kontijiet u kundizzjonijiet għat-test (dan jista 'jkun ttestjar ta' żbalji ta 'kunsens li jistgħu jiġġeneraw bosta frieket ta' ktajjen, ttestjar ta 'xenarji ta' furketta iebsa, tibdil tal-parametri tas-sistema, eċċ.). Dawn il-manipulazzjonijiet kollha jitwettqu b'mod differenti fi blockchains differenti, għalhekk huwa aktar faċli għat-timijiet li gradwalment jadattaw l-ittestjar tal-prodott u l-benchmarking għal CI/CD intern u jużaw l-iżviluppi tagħhom stess, li gradwalment isiru aktar kumplessi hekk kif tiżviluppa l-funzjonalità tal-blockchain.

Madankollu, l-użu ta 'soluzzjonijiet lesti jista' jnaqqas ħafna l-ħin tal-ittestjar għal dawn it-timijiet, għalhekk naħseb li dan is-software se jiġi żviluppat b'mod attiv fis-snin li ġejjin.

Konklużjoni

Biex nikkonkludi din ir-reviżjoni qasira, se nsemmi bosta karatteristiċi importanti tal-għodod tal-ittestjar tal-blockchain:

  • Il-ħila li tuża awtomatikament netwerk blockchain taħt kundizzjonijiet ripetibbli. Dan il-fattur huwa importanti meta jiġu żviluppati partijiet tas-sistema ta 'blockchains: algoritmi ta' kunsens, finalità, kuntratti intelliġenti tas-sistema.
  • L-ispiża tal-pussess tas-sistema, ir-riżorsi kkunsmati u l-konvenjenza għall-użu kostanti. Dan il-fattur jipprovdi lill-proġett b'testijiet ta 'kwalità għolja għal ftit flus.
  • Flessibilità u sempliċità tal-konfigurazzjoni tat-test. Dan il-fattur iżid iċ-ċansijiet li jiġu identifikati l-problemi tas-sistema - hemm inqas ċans li titlef xi ħaġa importanti.
  • Personalizzazzjoni għal tipi speċifiċi ta 'blockchains. L-iżvilupp ta 'soluzzjoni bbażata fuq waħda eżistenti tista' ttejjeb ħafna l-kwalità u tnaqqas l-ispejjeż tal-ħin.
  • Il-konvenjenza u l-aċċessibbiltà tar-riżultati miksuba u t-tip tagħhom (rapporti, metriċi, graffs, zkuk, eċċ.). Dan huwa assolutament meħtieġ jekk trid issegwi l-istorja tal-iżvilupp ta 'prodott, jew jekk teħtieġ analitika profonda tal-imġieba tan-netwerk blockchain.

Xorti tajba bl-ittestjar tiegħek u jalla l-blockchains tiegħek ikunu veloċi u tolleranti għall-ħsarat!

Sors: www.habr.com

Żid kumment