Návod na testování blockchainu
Co je Blockchain?
Blockchain je sdílený databázový obchod, který neustále narůstá seznam záznamů, nazývaných bloky. Každý blok obsahuje hash předchozího bloku a časové razítko.
V tomto tutoriálu se naučíte:
- Co je Blockchain?
- Mezi vlastnosti blockchainu patří
- Typ blockchainu
- Hlavní součásti blockchainu
- Výhody blockchainu
- Výzvy v testování blockchainu
- Fáze testování blockchainu 7
- Klíčové typy testování na blockchainové aplikaci 10
- Nástroje pro testování blockchainu 10
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:
Přístup a oprávnění prostřednictvím sítě bude mít více organizací. Je to 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 a oprávnění k síti budou mít pouze jednotlivé organizace. Je to částečně decentralizovaný systém.
Veřejné | soukromý | Konsorcium | |
---|---|---|---|
Přístup |
|
|
|
Účastníci |
|
|
|
Bezpečnost |
|
|
|
Rychlost transakce |
|
|
|
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
Abstrakce stroje ovládaného instrukcemi a Implementováno jako součást uzlové aplikace, 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í-Neschopnost testovat výkon a zátěžové testování poskytuje malý nebo žádný přehled o tom, jak si blockchainová aplikace vede jak v produkci, tak i při specifickém pracovním zatížení 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 dat: V této fázi jsou testovací data vytvořena nebo extrahována z 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í hodnotíme práci různých funkčních částí Blockchainu (např. chytré kontrakty).
- 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
- Testování chytrých smluv: Testování Smart Contract je o provedení podrobného funkčního testování obchodní logiky a procesu.
Fáze přehledu:
- Souhrnná zpráva projektu: Popište celkový přehled podrobností o projektu, data projektu, náklady a podrobnosti o úkolu
- Zpráva o testování inteligentní smlouvy: Tato sestava popisuje podrobnosti o Smart kontraktu, zpracování 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 blockchainovém testování, protože pomáhá při hodnocení obchodních požadavků, procesů a efektivity případů použití. Níže jsou uvedeny komponenty, které lze testovat v rámci funkčního testování: 1) Velikost bloku a velikost řetězce 2) Přidání bloku 3) 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é nástroje pro testování importu Blockchain:
1)Ethereum Tester:
Jedná se o open-source testovací knihovnu dostupnou na GitHubu. Snadno se nastavuje se spravovatelnou podporou API pro různé požadavky na testování.
2) Ganache:
To je dříve známé jako Testrpc, je široce používaná knihovna pro testování Ethereum smlouvy lokálně. Funguje to tak, že se točí jakousi maketou Blockchain, který vám umožní přístup k účtům, které můžete použít Testing.
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 především tři typy testování: interaktivní testování, automatizované jednotky a testování systému. Pokud se chcete naučit, jak vytvářet blockchainové aplikace a pracovat s nástroji, jako je Hyperledger Composer, podívejte se na tuto příručku na jak se stát vývojářem blockchainu nastartovat svou cestu v tomto vzrušujícím oboru.