MÅ«sdienÄs blokÄ·Äžu testÄÅ”anas un salÄ«dzinoÅ”Äs novÄrtÄÅ”anas risinÄjumi ir pielÄgoti konkrÄtai blokÄ·Ädei vai tÄs dakÅ”Äm. TaÄu ir arÄ« vairÄki vispÄrÄ«gÄki risinÄjumi, kas atŔķiras pÄc funkcionalitÄtes: daži no tiem ir atvÄrtÄ pirmkoda projekti, citi tiek nodroÅ”inÄti kÄ SaaS, bet lielÄkÄ daļa ir iekÅ”Äjie risinÄjumi, ko radÄ«jusi blokÄ·Ädes izstrÄdes komanda. TomÄr tie visi atrisina lÄ«dzÄ«gas problÄmas. Å ajÄ rakstÄ es mÄÄ£inÄju Ä«si pÄrskatÄ«t vairÄkus produktus, kas Ä«paÅ”i paredzÄti blokÄ·Äžu testÄÅ”anai.
BlokÄ·Ädes tÄ«kla darbÄ«ba atgÄdina sadalÄ«tas datu bÄzes darbÄ«bu, tÄpÄc testÄÅ”anai var izmantot lÄ«dzÄ«gus rÄ«kus un metodes. Lai labÄk izprastu, kÄ tiek pÄrbaudÄ«tas izplatÄ«tÄs datu bÄzes, apskatiet labu resursu un rakstu izlasi
Es aprakstÄ«Å”u vairÄkus populÄrus risinÄjumus blokÄ·Äžu testÄÅ”anai un salÄ«dzinoÅ”ajai novÄrtÄÅ”anai. PriecÄÅ”os, ja komentÄros aprakstÄ«tu citus noderÄ«gus programmatÅ«ras produktus to paÅ”u problÄmu risinÄÅ”anai.
SÄkÅ”u ar rÄ«ku, kas, lai gan nav Ä«paÅ”i izveidots blokÄ·ÄdÄm, ļauj efektÄ«vi pÄrbaudÄ«t to darbÄ«bu, ar nosacÄ«jumu, ka jau ir izveidots tÄ«kls, kurÄ varat eksperimentÄt. VissvarÄ«gÄkais sadalÄ«tÄs sistÄmas uzticamÄ«bas faktors ir spÄja turpinÄt darbu, ja rodas problÄmas ar serveriem un tÄ«klu. Tas var bÅ«t tÄ«kla aizkavÄÅ”anÄs, diska pilnÄ«ba, ÄrÄjo pakalpojumu (DNS) nepieejamÄ«ba, aparatÅ«ras kļūmes un simtiem citu iemeslu. Lai pÄrbaudÄ«tu jebkuras sistÄmas stabilitÄti, kas darbojas saskaÅoti daudzÄs sistÄmas maŔīnÄs, varat izmantot
Izmantojot savu tÄ«kla aÄ£entu, Gremlin rada daudz dažÄdu veidu problÄmas vajadzÄ«gajam maŔīnu skaitam: tÄ«kla kavÄÅ”anÄs, jebkura resursa (CPU, diska, atmiÅas, tÄ«kla) pÄrslodze, atspÄjo atseviŔķus protokolus utt. BlokÄ·ÄdÄm Gremlin var izmantot testnet serveros, emulÄjot reÄlÄs dzÄ«ves problÄmas un novÄrojot tÄ«kla uzvedÄ«bu. Ar to izstrÄdÄtÄji un administratori var kontrolÄtÄ vidÄ novÄrot, kas notiks, ja sistÄma avarÄs vai kods tiks atjauninÄts. Å ajÄ gadÄ«jumÄ tÄ«kls ir iepriekÅ” jÄkonfigurÄ un jÄizvieto, kÄ arÄ« jÄkonfigurÄ, lai savÄktu nepiecieÅ”amos rÄdÄ«tÄjus.
Gremlin ir Ärts rÄ«ks arhitektiem, devops un droŔības speciÄlistiem un universÄls risinÄjums jebkuru gatavu un darbinÄmu sadalÄ«to sistÄmu, tostarp blokÄ·Äžu, testÄÅ”anai.
Hyperledger Caliper ir daudz specializÄtÄks risinÄjums
Izmantojot Caliper, varat iestatÄ«t blokÄ·Ädes tÄ«kla topoloÄ£iju un lÄ«gumus testÄÅ”anai, kÄ arÄ« aprakstÄ«t mezgla konfigurÄciju. Blockchain mezgli tiek pacelti dokera konteineros vienÄ maŔīnÄ. TÄlÄk jÅ«s varat izvÄlÄties vajadzÄ«go
Hyperledger Caliper ir izstrÄdÄtÄjiem un sistÄmu arhitektiem paredzÄts rÄ«ks, jo tas nodroÅ”ina testu atkÄrtojamÄ«bu un testÄÅ”anas un salÄ«dzinoÅ”Äs novÄrtÄÅ”anas automatizÄciju. To izmanto blokÄ·Äžu kodola izstrÄdÄ: konsensa algoritmi, virtuÄlÄ maŔīna viedo lÄ«gumu apstrÄdei, vienÄdranga slÄnis un citi sistÄmas mehÄnismi.
MixBytes Tank izmanto vairÄkus mÄkoÅpakalpojumus (Digital Ocean, Google Cloud Engine u.c.), kuros var palaist daudzus mezglus, veikt sÄkotnÄjÄs konfigurÄcijas procedÅ«ras, palaist vairÄkus etalonus dažÄdÄs iekÄrtÄs, apkopot nepiecieÅ”amos rÄdÄ«tÄjus un automÄtiski izslÄgt tÄ«klu.
MixBytes Tank ļauj ietaupÄ«t naudu mÄkoÅserveros, automÄtiski samazinot nevajadzÄ«gos resursus pÄc pÄrbaudes. VÄl viena atŔķirÄ«ga iezÄ«me ir Molecule pakotnes izmantoÅ”ana, kas ļauj izstrÄdÄtÄjam pÄrbaudÄ«t vÄlamÄs blokÄ·Ädes izvietoÅ”anu lokÄli.
MixBytes Tank ļauj savlaicÄ«gi atklÄt vÄjÄs vietas un kļūdas algoritmos, kas rodas reÄlos tÄ«klos ar lielu skaitu Ä£eogrÄfiski sadalÄ«tu serveru un klientu. Tvertne palÄ«dzÄs jums saprast, kas notiks mezglos, ja klienti nosÅ«tÄ«s darÄ«jumus ar noteiktu tps ļoti atkÄrtojamos apstÄkļos un ar reÄlu mezglu skaitu, kas sadalÄ«ti dažÄdos kontinentos, ja nepiecieÅ”ams.
Whiteblock Genesis ir Ethereum bÄzes blokÄ·Äžu testÄÅ”anas platforma. Å im rÄ«kam ir diezgan plaÅ”a funkcionalitÄte: tas ļauj palaist tÄ«klu, izveidot tajÄ nepiecieÅ”amo kontu skaitu, palielinÄt nepiecieÅ”amo klientu skaitu, konfigurÄt tÄ«kla topoloÄ£iju, norÄdÄ«t joslas platuma un pakeÅ”u zuduma parametrus un veikt testu.
Whiteblock Genesis nodroÅ”ina savas testÄÅ”anas iekÄrtas. IzstrÄdÄtÄjiem vienkÄrÅ”i jÄnorÄda testa parametri, jÄpalaiž tie, izmantojot gatavu API, un jÄsaÅem rezultÄti, izmantojot Ärtu informÄcijas paneli.
Whiteblock Genesis ļauj konfigurÄt diezgan detalizÄtu testu, ko platforma automÄtiski veiks katrai nozÄ«mÄ«gai koda maiÅai. Tas ļaus jau agrÄ«nÄ stadijÄ konstatÄt kļūdas un nekavÄjoties novÄrtÄt izmaiÅu ietekmi uz svarÄ«giem tÄ«kla parametriem, piemÄram, darÄ«jumu Ätrumu un mezglu patÄrÄtajiem resursiem.
Madt
VÄl viens interesants jauns produkts izplatÄ«to sistÄmu testÄÅ”anai ir
Madt parÄdÄ«jÄs tikai nesen, taÄu, Åemot vÄrÄ tÄ Ä¼oti elastÄ«go arhitektÅ«ru, tas var izvÄrsties par funkcionÄlu produktu.
Citi risinÄjumi
GandrÄ«z jebkurai blokÄ·Äžu sistÄmas daļas pÄrbaudei ir nepiecieÅ”ams palaist provizoriskus skriptus, sagatavot kontus un pÄrbaudes nosacÄ«jumus (tas var bÅ«t vienprÄtÄ«bas kļūdu pÄrbaude, kas var radÄ«t daudzas Ä·Ädes, cieto dakÅ”u scenÄriju pÄrbaude, sistÄmas parametru maiÅa utt.). Visas Ŕīs manipulÄcijas dažÄdÄs blokÄ·ÄdÄs tiek veiktas atŔķirÄ«gi, tÄpÄc komandÄm ir vieglÄk pakÄpeniski pielÄgot produktu testÄÅ”anu un salÄ«dzinoÅ”o novÄrtÄÅ”anu iekÅ”Äjam CI/CD un izmantot savas izstrÄdes, kas pakÄpeniski kļūst sarežģītÄkas, attÄ«stoties blokÄ·Ädes funkcionalitÄtei.
Neskatoties uz to, gatavu risinÄjumu izmantoÅ”ana var ievÄrojami samazinÄt Å”o komandu testÄÅ”anas laiku, tÄpÄc domÄju, ka Ŕī programmatÅ«ra tuvÄkajos gados tiks aktÄ«vi attÄ«stÄ«ta.
SecinÄjums
NoslÄdzot Å”o Ä«so pÄrskatu, es uzskaitÄ«Å”u vairÄkas svarÄ«gas blokÄ·Ädes testÄÅ”anas rÄ«ku Ä«paŔības:
- IespÄja automÄtiski izvietot blokÄ·Ädes tÄ«klu atkÄrtojamos apstÄkļos. Å is faktors ir svarÄ«gs, izstrÄdÄjot blokÄ·Äžu sistÄmas daļas: konsensa algoritmus, galÄ«gumu, sistÄmas viedos lÄ«gumus.
- SistÄmas Ä«paÅ”umtiesÄ«bu izmaksas, patÄrÄtie resursi un pastÄvÄ«gas lietoÅ”anas ÄrtÄ«bas. Å is faktors nodroÅ”ina projektam augstas kvalitÄtes testus par nelielu naudu.
- Testa konfigurÄcijas elastÄ«ba un vienkÄrŔība. Å is faktors palielina iespÄju identificÄt sistÄmas problÄmas ā ir mazÄka iespÄja palaist garÄm kaut ko svarÄ«gu.
- PielÄgoÅ”ana konkrÄtiem blokÄ·Äžu veidiem. IzstrÄdÄjot risinÄjumu, pamatojoties uz esoÅ”u, var ievÄrojami uzlabot kvalitÄti un samazinÄt laika izmaksas.
- IegÅ«to rezultÄtu un to veida (atskaites, metrika, grafiki, žurnÄli utt.) ÄrtÄ«ba un pieejamÄ«ba. Tas ir absolÅ«ti nepiecieÅ”ams, ja vÄlaties izsekot produkta attÄ«stÄ«bas vÄsturei vai ja jums ir nepiecieÅ”ama padziļinÄta blokÄ·Ädes tÄ«kla uzvedÄ«bas analÄ«ze.
Veiksmi testÄÅ”anÄ un lai jÅ«su blokÄ·Ädes ir Ätras un izturÄ«gas pret defektiem!
Avots: www.habr.com