Návod na testování blockchainu
⚡ Chytré shrnutí
Testování blockchainu ověřuje decentralizované aplikace a chytré podvodytracts a distribuované účetní knihy pro potvrzení bezpečnosti, funkční přesnosti a výkonu napříč každým uzlem, čímž se zajistí, že se neměnné transakce chovají správně předtím, než se blockchainová síť dostane do produkčního prostředí.

Co je Blockchain?
Blockchain je sdílená databáze, která uchovává neustále rostoucí seznam záznamů nazývaných bloky. Každý blok obsahuje hash předchozího bloku a časové razítko.
Mezi vlastnosti blockchainu patří
- Decentralizovaný systém: Prospěšné v různých odvětvích, jako jsou finance, nemovitosti atd.
- Lepší bezpečnost: Používá více uzlů k dokončení a ověření transakcí
- Pravost: Umožňuje jedinečnému algoritmu zpracovávat data
- Zvýšená kapacita: Zvyšuje kapacitu celé sítě
Typ blockchainu
Zde jsou tři typy blockchainu:
Blockchain konsorcia:
Více organizací bude mít přístup k síti a pravomoc nad ní. Jedná se o plně decentralizovaný systém.
Veřejný blockchain:
Při tomto typu testování blockchainu má každý přístup k síti a může se zúčastnit konsensu. Jeho decentralizovaný systém.
Soukromý blockchain:
Přístup k síti a pravomoc nad ní budou mít pouze jednotlivé organizace. Jedná se o částečně decentralizovaný systém.
| Veřejné | soukromý | Konsorcium | |
|---|---|---|---|
| Získat přístup | Někdo | Jediná organizace | Vícenásobná organizace |
| Účastníci | Anonymní bez povolení | Povolené známé identity | Povolené známé identity |
| Bezpečnost | Konsenzuální mechanismus Proof of Work/Proof of Stack | Předem schválení účastníci Hlasování/vícestranický konsenzus | Předem schválení účastníci Hlasování/vícestranický konsenzus |
| Rychlost transakce | Pomalu | Lehčí a rychlejší | Lehčí a rychlejší |
Hlavní součásti blockchainu
Aplikace uzlu
Každý uzel musí nainstalovat a spustit počítačovou aplikaci definitivní pro ekosystém, do kterého se chce zapojit
Společná Ledger
Uvnitř aplikace uzlu je spravována datová struktura (hlavní kniha). Obsah ekosystému lze zobrazit, jakmile je aplikace uzlu ve spuštěném stavu.
Konzenzní algoritmus
Algoritmus konsenzu je implementován jako součást aplikace uzlu, která poskytuje „pravidla hry“ pro to, jak ekosystém dospěje k jedinému pohledu na účetní knihu.
Virtuální stroj
Abstracizace stroje ovládaného instrukcemi a implementovaného jako součást aplikace uzlu, kterou provozuje každý účastník ekosystému.
Jak funguje blockchain?
Výhody blockchainu
- Úspora času: Blockchain zkracuje dobu transakce ze dnů na minuty. Řešení Transaction je rychlejší, protože nevyžaduje ověření centrálním orgánem.
- Cenově výhodné: Blockchain transakce méně manipulace. Účastníci si mohou přímo vyměnit cenné předměty. Blockchain odstraňuje duplicitní úsilí, protože účastníci mají přístup ke sdílené účetní knize.
- Zvyšte bezpečnost: Bezpečnostní ochrana blockchainu proti podvodům a kyberzločinu.
Výzvy v testování blockchainu
- Pochopení technologie– Blockchain je nová technologie a pochopení technologie se znalostí domény je velmi důležité při testování aplikace Blockchain
- Nedostatek nástrojů pro testování blockchainu– Testování aplikací založených na blockchainu je především o nástrojích. Výběr správného nástroje podle aplikace je jedním z důležitých rozhodnutí.
- Definování testovací strategie– Jako každá aplikace navrhování testovací strategie pro aplikaci Blockchain. Je to jedna z největších výzev, protože strategie testování vyžaduje hluboké znalosti a pochopení technologie a aplikace.
- Velikost bloku a řetězu– Spolu se standardním testováním, nástroji a zavedenými osvědčenými postupy je důležité také testování velikosti bloku a velikosti řetězce. Blockchainové aplikace mohou selhat bez řádného ověření velikosti bloku a velikosti řetězce.
- Testování integrace– Jelikož je v aplikaci Blockchain zapojeno více komponent, integrační testování by mělo být prováděno správně a často, aby se ověřilo, že všechny komponenty jsou správně integrovány, aby se předešlo jakémukoli selhání.
- Výkon a zatížení– Neprovedení testování výkonu a zátěžového testování poskytuje jen malý nebo žádný vhled do toho, jak si blockchainová aplikace vede jak v produkčním prostředí, tak i při specifických pracovních zátěžích a síťových podmínkách.
- Bezpečnost– Zabezpečení dat by mělo být v aplikaci Blockchain nejdůležitější. Blockchain může být součástí různých sektorů, jako je zdravotnictví, finance atd. jakýkoli typ škodlivých útoků může ovlivnit aplikaci Blockchain
Fáze testování blockchainu
Iniciační fáze:
- Porozumění blockchainu Architecture: V této fázi rozumíme a analyzujeme obchodní a funkční požadavky. Popisuje chování aplikace a způsob interakce uživatele s aplikací
- Kompletní návrh strategie testování: Během této fáze popisujeme testovací přístup pro testování aplikace. To by mělo být provedeno podrobně, aby byl plně pokryt každý cíl.
Fáze návrhu:
- Vytvoření testovacího případu: V této fázi tým QA napíše testovací případy se správnými kroky. Tyto testovací případy jsou přezkoumány Business Analyst (BA).
- Vytváření testovacích datV této fázi se vytvářejí nebo exportují testovací datatracz předchozího prostředí podle obchodních požadavků. Testovací data lze vytvářet ručně nebo pomocí automatizačních nástrojů.
- Nastavení prostředí: V tomto kroku je testovací prostředí nakonfigurováno jako potřeba pro Business nebo aplikaci
- Výkonnostní metriky: Metriky výkonu představují informace o výkonu aplikace, systému nebo komponent
Testovací fáze:
- Testování API: Při testování API zajišťujeme, aby interakce mezi aplikacemi v blockchainovém ekosystému probíhala podle očekávání
- Blokové testování: Všechny bloky v síti by měly být testovány jednotlivě, aby byla zajištěna správná spolupráce.
- Funkční testováníVe funkčním testování vyhodnocujeme práci různých funkčních částí blockchainu (např. chytré konverzetracts).
- Testování výkonu: Podrobnosti, jako je latence sítě na základě velikosti bloku, velikosti sítě, očekávané velikosti transakce a jak dlouho trvá dotaz, než vrátí výstup pomocí specializovaného ověřovacího protokolu
- Testování bezpečnosti: Tímto zajišťujeme, že aplikace je zranitelná vůči útokům a systémy mohou chránit data a jsou schopny zvládnout škodlivé útoky atd.
- Testování integrace: Při testování integrace zajišťujeme, aby byly všechny součásti aplikace správně integrovány a aby byly náležitě prováděny akce
- Chytrý ContracTestováníChytrý ContracT-testování se zabývá prováděním detailního funkčního testování obchodní logiky a procesů.
Fáze přehledu:
- Souhrnná zpráva projektu: Popište celkový přehled podrobností o projektu, data projektu, náklady a podrobnosti o úkolu
- Chytrý ContracZkušební protokolTato zpráva popisuje podrobnosti o Smart contraczpracování t, dat a pravidel
- Zpráva o testování zabezpečení: Zobrazuje zranitelné informace ve formálním dokumentu pro klienta a vyšší management. Zpráva obsahuje datum testování, testovací data a souhrn nalezených zranitelností
- Zpráva o testování výkonu: Tato zpráva zobrazuje podrobnosti týkající se výkonu aplikací, jako je rychlost, škálovatelnost, spolehlivost atd.
Klíčové typy testování na blockchainové aplikaci
Funkční testování
Funkční testování hraje důležitou roli v testování blockchainu, protože pomáhá při hodnocení obchodních požadavků, procesů a efektivity případů užití. Níže jsou uvedeny komponenty, které lze v rámci funkčního testování testovat:
- Velikost bloku a velikost řetězu
- Přidání bloku
- Data Transmission
Testování integrace
Blockchain aplikace funguje ve více prostředích. Je tedy důležité otestovat mezisystémová spojení
Testování výkonu:
Pomáhá při identifikaci hardwarových a softwarových úzkých míst předem. To vám také může pomoci zjistit potenciální náklady na provoz aplikace v cloudu nebo jiných prostředích.
Testování uzlů
Všechny různé uzly v síti musí být testovány nezávisle, aby byla zajištěna hladká spolupráce.
Testování API:
Application Programming Interface testuje interakci mezi aplikacemi v blockchainovém ekosystému. Testování API zajišťuje, že požadavky a odpovědi jsou správně naformátovány a provozovány.
Nástroje pro testování blockchainu
Zde jsou některé důležité nástroje pro testování blockchainu:
1)Ethereum Tester:
Jedná se o open-source testovací knihovnu dostupnou na GitHub repozitáři. Je snadno nastavitelná s podporou spravovatelného API pro různé testovací požadavky.
2) Ganache:
Dříve známá jako TestRPC, je to široce používaná knihovna pro testování. Ethereum stracts lokálně. Funguje to tak, že se vytvoří jakýsi falešný blockchain, který vám poskytne přístup k účtům, které můžete použít k testování.
3) Hyperledger Composer:
Hyperledger Composer je open-source nástroj, který pomáhá vývojářům vytvářet blockchainové aplikace. Pomocí tohoto nástroje můžeme provádět hlavně tři typy testování: interaktivní testování, automatizované jednotkové testování a systémové testování. Pokud máte zájem naučit se, jak vytvářet blockchainové aplikace a pracovat s nástroji, jako je Hyperledger Composer, podívejte se na tuto příručku. jak se stát vývojářem blockchainu nastartovat svou cestu v tomto vzrušujícím oboru.




