Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

Өнөөдөр блокчейнүүдийг турших, харьцуулах шийдлүүд нь тодорхой блокчэйн эсвэл түүний сэрээтэй холбоотой байдаг. Гэхдээ функциональ байдлаараа ялгаатай хэд хэдэн ерөнхий шийдлүүд байдаг: тэдгээрийн зарим нь нээлттэй эхийн төслүүд, бусад нь SaaS хэлбэрээр хангагдсан боловч ихэнх нь блокчейн хөгжүүлэлтийн багийн бүтээсэн дотоод шийдлүүд юм. Гэсэн хэдий ч тэд бүгд ижил төстэй асуудлыг шийддэг. Энэ нийтлэлд би блокчейн тест хийхэд зориулагдсан хэд хэдэн бүтээгдэхүүнийг товч тоймлохыг оролдсон.

Блокчэйн сүлжээний үйл ажиллагаа нь тархсан мэдээллийн сангийн үйл ажиллагаатай төстэй тул туршилт хийхэд ижил төстэй хэрэгсэл, аргуудыг ашиглаж болно. Түгээмэл мэдээллийн сангууд хэрхэн шалгагддагийг илүү сайн ойлгохын тулд эх сурвалж, нийтлэлийн сайн сонголтыг харна уу Эндээс. Жишээлбэл, хоцролтыг үүнд хэсэг болгон ангилдаг нийтлэл, мөн хуулбарлах алгоритмын алдааг хэрхэн хайж байгааг ойлгохын тулд би үүнийг уншихыг зөвлөж байна нийтлэл.

Би блокчейнүүдийг турших, харьцуулах хэд хэдэн алдартай шийдлүүдийг тайлбарлах болно. Хэрэв та ижил асуудлыг шийдвэрлэхэд хэрэгтэй бусад програм хангамжийн бүтээгдэхүүнийг тайлбар дээр тайлбарлавал би баяртай байх болно.

Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

Би блокчэйнд зориулж тусгайлан бүтээгээгүй ч туршилт хийх боломжтой сүлжээ байгаа тохиолдолд тэдгээрийн ажиллагааг үр дүнтэй турших боломжийг олгодог хэрэгслээс эхлэх болно. Түгээмэл системийн найдвартай байдлын хамгийн чухал хүчин зүйл бол сервер болон сүлжээнд асуудал гарсан тохиолдолд үргэлжлүүлэн ажиллах чадвар юм. Энэ нь сүлжээний хоцрогдол, дискний бөглөрөл, гадаад үйлчилгээ (DNS) байхгүй, техник хангамжийн доголдол болон бусад олон зуун шалтгаан байж болно. Олон тооны системийн машинууд дээр хамтран ажиллаж байгаа аливаа системийн тогтвортой байдлыг шалгахын тулд та ашиглаж болно Гремлин. Энэ нь Chaos Engineering хэмээх маш үр дүнтэй аргыг ашигладаг.

Gremlin нь өөрийн сүлжээний агентийг ашиглан шаардлагатай тооны машинууд дээр олон төрлийн асуудал үүсгэдэг: сүлжээний хоцрогдол, аливаа нөөцийг (CPU, диск, санах ой, сүлжээ) хэт ачаалах, бие даасан протоколуудыг идэвхгүй болгох гэх мэт. Блокчейн хувьд Gremlin-ийг testnet сервер дээр ашиглаж, бодит амьдралын асуудлуудыг дуурайж, сүлжээний үйл ажиллагааг ажиглаж болно. Үүний тусламжтайгаар хөгжүүлэгчид болон администраторууд систем гацах эсвэл кодыг шинэчлэх үед юу болохыг хяналттай орчинд ажиглах боломжтой. Энэ тохиолдолд сүлжээг урьдчилан тохируулж, байршуулах, түүнчлэн шаардлагатай хэмжигдэхүүнийг цуглуулахын тулд тохируулсан байх ёстой.

Gremlin бол архитекторууд, хөгжүүлэгчид болон аюулгүй байдлын мэргэжилтнүүдэд тохиромжтой хэрэгсэл бөгөөд блокчэйн зэрэг бэлэн болон ажиллаж байгаа аливаа тархсан системийг турших бүх нийтийн шийдэл юм.

Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

Hyperledger Caliper бол илүү нарийн мэргэжлийн шийдэл юм Hyperledger Caliper. Одоогийн байдлаар Caliper нь хэд хэдэн блокчейнүүдийг нэгэн зэрэг дэмждэг - Hyperledger гэр бүлийн төлөөлөгчид (Fabric, Sawtooth, Iroha, Burrow, Besu), түүнчлэн Ethereum болон FISCO BCOS сүлжээ.

Caliper ашиглан та блокчейн сүлжээний топологи, туршилт хийх гэрээг тохируулах, зангилааны тохиргоог тайлбарлах боломжтой. Блокчейн зангилаанууд нь нэг машин дээрх докерын контейнерт байрладаг. Дараа нь та шаардлагатай зүйлийг сонгож болно туршилтын тохиргоо мөн эхлүүлсний дараа туршилтын үр дүнгийн тайлан бүхий файлыг хүлээн авна уу. Калипер хэмжигдэхүүн болон харьцуулах аргын бүрэн жагсаалтыг эндээс олж болно Hyperledger Blockchain гүйцэтгэлийн хэмжүүр, хэрэв та блокчэйн жишиг судалгааны сэдвийг сонирхож байгаа бол энэ бол гайхалтай нийтлэл юм. Та мөн Prometheus/Grafana-д хэмжүүрийн цуглуулгыг тохируулах боломжтой.

Hyperledger Caliper нь хөгжүүлэгчид болон системийн архитекторуудад зориулагдсан хэрэгсэл бөгөөд туршилтын давтагдах чадвар, туршилт, харьцуулалтын автоматжуулалтыг хангадаг. Үүнийг блокчейн цөмийг боловсруулахад ашигладаг: зөвшилцлийн алгоритмууд, ухаалаг гэрээг боловсруулах виртуал машин, үе тэнгийн давхарга болон бусад системийн механизмууд.

Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

MixBytes сав нь EOS-д суурилсан сүлжээний зөвшилцөл, эцсийн алгоритмыг боловсруулах, Паритын субстрат (Полкадот) дээр суурилсан пара гинжийг турших явцад бий болсон хэрэгсэл юм. Үйлдлийн хувьд энэ нь Hyperledger Caliper-тэй ойрхон байдаг тул туршилтын скриптүүд ажиллаж байгаа аливаа тархсан системийн зангилаа болон үйлчлүүлэгч машинуудаас чухал хэмжүүрүүдийг цуглуулах боломжийг олгодог.

MixBytes Tank нь хэд хэдэн үүлэн үйлчилгээг (Digital Ocean, Google Cloud Engine гэх мэт) ашигладаг бөгөөд үүгээрээ олон зангилаа ажиллуулж, урьдчилсан тохиргооны процедурыг гүйцэтгэж, өөр өөр машинууд дээр хэд хэдэн жишиг үзүүлэлтүүдийг зэрэгцүүлэн ажиллуулж, шаардлагатай хэмжигдэхүүнүүдийг цуглуулж, автоматаар унтраадаг. сүлжээ.

MixBytes Tank нь туршилтын дараа шаардлагагүй нөөцийг автоматаар багасгах замаар үүлэн серверт мөнгө хэмнэх боломжийг танд олгоно. Өөр нэг онцлог шинж чанар нь Молекулын багцыг ашиглах явдал бөгөөд хөгжүүлэгч нь хүссэн блокчейн суулгацыг дотооддоо туршиж үзэх боломжийг олгодог.

MixBytes Tank нь олон тооны газарзүйн хуваарилагдсан серверүүд болон үйлчлүүлэгчидтэй бодит сүлжээнд үүсдэг алгоритмын алдаа, бэрхшээлийг эрт илрүүлэх боломжийг олгодог. Хэрэв үйлчлүүлэгчид өндөр давтагдах нөхцөлтэй, шаардлагатай бол өөр өөр тивд тархсан бодит тооны зангилаа бүхий өгөгдсөн tps-ээр гүйлгээ илгээвэл зангилаанууд дээр юу тохиолдохыг ойлгоход танд туслах болно.

Блокчейн тест ба харьцуулах хэрэгслүүдийн товч тойм

Whiteblock Genesis бол Ethereum дээр суурилсан блокчейн туршилтын платформ юм. Энэ хэрэгсэл нь нэлээд өргөн функцтэй: энэ нь сүлжээг эхлүүлэх, шаардлагатай тооны данс үүсгэх, шаардлагатай тооны үйлчлүүлэгчдийг нэмэгдүүлэх, сүлжээний топологийг тохируулах, зурвасын өргөн, пакет алдагдлыг тодорхойлох, тест хийх боломжийг олгодог.

Whiteblock Genesis нь өөрийн туршилтын тоног төхөөрөмжөөр хангадаг. Хөгжүүлэгчид зүгээр л туршилтын параметрүүдийг зааж, тэдгээрийг бэлэн API ашиглан ажиллуулж, тохиромжтой хяналтын самбар ашиглан үр дүнг авах хэрэгтэй.

Whiteblock Genesis нь кодыг өөрчлөх бүрт платформ автоматаар хийх нэлээн нарийвчилсан тестийг тохируулах боломжийг танд олгоно. Энэ нь алдааг эрт үе шатанд илрүүлж, гүйлгээний хурд, зангилааны зарцуулсан нөөц зэрэг сүлжээний чухал параметрүүдэд гарсан өөрчлөлтийн нөлөөллийг нэн даруй үнэлэх боломжийг олгоно.

Madt

Түгээмэл системийг турших өөр нэг сонирхолтой залуу бүтээгдэхүүн бол галзуу. Энэ нь Python хэл дээр бичигдсэн бөгөөд энгийн тохиргооны скрипт ашиглан шаардлагатай сүлжээний топологи, шаардлагатай тооны сервер, үйлчлүүлэгчдийг үүсгэх боломжийг олгодог.жишээ нь). Үүний дараа үйлчилгээ нь сүлжээг хэд хэдэн Docker контейнерт байрлуулж, сүлжээний серверүүд болон үйлчлүүлэгчдийн мессежийг ажиглах боломжтой вэб интерфэйсийг нээнэ. Madt-ийг блокчейн тест хийхэд ашиглаж болно - төслийн репозитор нь Kademlia протокол дээр суурилсан p2p сүлжээний тесттэй бөгөөд зангилаа руу өгөгдөл дамжуулах саатал аажмаар нэмэгдэж, энэ өгөгдлийн статусыг шалгадаг.

Madt саяхан гарч ирсэн боловч маш уян хатан архитектурыг харгалзан функциональ бүтээгдэхүүн болж хөгжиж чадна.

Бусад шийдлүүд

Блокчейн системийн бараг бүх хэсгийг турших нь урьдчилсан скриптийг ажиллуулах, бүртгэл, шалгалтын нөхцөлийг бэлтгэх шаардлагатай (энэ нь олон тооны салаа хэлхээ үүсгэж болох зөвшилцлийн алдааг турших, хатуу сэрээний хувилбаруудыг турших, системийн параметрүүдийг өөрчлөх гэх мэт байж болно). Эдгээр бүх заль мэхийг өөр өөр блокчэйн дээр өөр өөрөөр хийдэг тул багууд бүтээгдэхүүний туршилт, жишиг үнэлгээг дотоод CI/CD-д аажмаар дасан зохицож, блокчэйний үйл ажиллагаа хөгжихийн хэрээр өөрсдийн хөгжүүлэлтийг ашиглах нь илүү хялбар байдаг.

Гэсэн хэдий ч бэлэн шийдлүүдийг ашиглах нь эдгээр багуудын туршилтын хугацааг эрс багасгах боломжтой тул ойрын жилүүдэд энэ програм хангамжийг идэвхтэй хөгжүүлнэ гэж бодож байна.

дүгнэлт

Энэхүү товч тоймыг дуусгахын тулд би блокчейн тестийн хэрэгслийн хэд хэдэн чухал шинж чанарыг жагсаах болно.

  • Дахин давтагдах нөхцөлд блокчейн сүлжээг автоматаар байрлуулах чадвар. Блокчейн системийн хэсгүүдийг боловсруулахад энэ хүчин зүйл чухал юм: зөвшилцлийн алгоритмууд, эцсийн байдал, системийн ухаалаг гэрээ.
  • Системийг эзэмших зардал, зарцуулсан нөөц, байнгын ашиглалтын тав тухтай байдал. Энэ хүчин зүйл нь төслийг бага мөнгөөр ​​өндөр чанартай тестээр хангадаг.
  • Туршилтын тохиргооны уян хатан байдал, энгийн байдал. Энэ хүчин зүйл нь системийн асуудлуудыг тодорхойлох боломжийг нэмэгдүүлдэг - чухал зүйлийг алдах магадлал бага байдаг.
  • Тодорхой төрлийн блокчейнд зориулсан тохируулга. Одоо байгаа шийдэлд суурилсан шийдлийг боловсруулах нь чанарыг ихээхэн сайжруулж, цаг хугацааны зардлыг бууруулж чадна.
  • Хүлээн авсан үр дүн, тэдгээрийн төрөл (тайлан, хэмжигдэхүүн, график, бүртгэл гэх мэт) -ийн тав тухтай байдал, хүртээмжтэй байдал. Хэрэв та бүтээгдэхүүний хөгжлийн түүхийг хянахыг хүсч байвал эсвэл блокчэйн сүлжээний үйл ажиллагааны талаар гүнзгий дүн шинжилгээ хийх шаардлагатай бол энэ нь зайлшгүй шаардлагатай.

Туршилтанд тань амжилт хүсье, таны блокчлон хурдан бөгөөд алдааг тэсвэрлэх болтугай!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх