Co je Blockchain?
Blockchain je sdílená databáze, která neustále rozšiřuje seznam záznamů, tzv. Bloky. Každý blok obsahuje hash předchozího bloku a časové razítko.
V tomto výukovém programu 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 průmyslových odvětvích, jako jsou finance, nemovitosti atd.
- Lepší zabezpečení : Používá několik uzlů k dokončení a ověření transakcí
- Autenticita : Umožňuje zpracování jedinečných algoritmů
- Zvýšená kapacita : Zvyšuje kapacitu celé sítě
Typ blockchainu
Tady jsou tři typy blockchainu:
Konsorcium Blockchain:
Více organizací bude mít přístup a oprávnění k síti. Je to plně decentralizovaný systém
Veřejný blockchain:
V tomto typu testování blockchainu má každý přístup k síti a může se úč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řejnost | Soukromé | Konsorcium | |
---|---|---|---|
Přístup |
|
|
|
Účastníci |
|
|
|
Bezpečnostní |
|
|
|
Rychlost transakce |
|
|
|
Hlavní součásti blockchainu
Uzel aplikace
Každý uzel musí nainstalovat a spustit počítačovou aplikaci definitivní pro ekosystém, jehož se chce účastnit
Sdílená kniha
Uvnitř aplikace uzlu je spravována datová struktura (kniha). Obsah ekosystému lze zobrazit, jakmile je aplikace uzlu v provozním stavu.
Konsenzuální algoritmus
Algoritmus konsensu je implementován jako součást aplikace uzlu a poskytuje „pravidla hry“ pro to, jak ekosystém dosáhne jediného pohledu na hlavní knihu.
Virtuální stroj
Abstrakce stroje provozovaného podle pokynů a implementovaného jako součást aplikace uzlu, kterou provozuje každý účastník v ekosystému.
Jak funguje blockchain?
Výhody blockchainu
- Úspora času : Blockchain zkracuje čas transakce ze dnů na minuty. Transakční řešení je rychlejší, protože nevyžaduje ověření ústředním orgánem.
- Cenově efektivní : Blockchain transakce méně manipulace. Účastníci si mohou vyměňovat hodnotné položky přímo. Blockchain odstraní zdvojení úsilí, protože účastníci mají přístup ke sdílené účetní knize.
- Zvýšit zabezpečení : Bezpečnostní ochrana blockchainu proti podvodům a kyberkriminalitě.
Výzvy v testování blockchainu
- Pochopení technologie - Blockchain je nová technologie a porozumění této technologii se znalostmi domény je při testování aplikace Blockchain velmi důležité
- 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í strategie testování - Jako každá aplikace, návrh strategie testování pro aplikaci Blockchain. Je to jedna z největších výzev, protože Testovací strategie vyžaduje důkladné znalosti a pochopení technologie a aplikace.
- Velikost bloku a řetězu - Spolu se standardním testováním, nástroji a osvědčenými postupy je také důležité testování velikosti bloku a velikosti řetězu. Aplikace blockchainu 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, mělo by být testování integrace prováděno správně a často, aby se otestovalo, zda jsou všechny komponenty správně integrovány, aby nedocházelo k poruchám.
- Performance and Load -Failing to test for performance and load testing provides few or no insight into how the Blockchain application perform in both production as well as under specific workloads and network conditions.
- Zabezpečení - 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 zdraví, finance atd., Jakýkoli typ škodlivých útoků může mít dopad na aplikaci Blockchain
Fáze testování blockchainu
Zahajovací fáze:
- Porozumění architektuře Blockchain : V této fázi chápeme a analyzujeme obchodní a funkční požadavky. To popisuje chování aplikace a způsob, jakým bude uživatel s aplikací interagovat
- Návrh strategie úplného testování : Během této fáze popisujeme testovací přístup k testování aplikace. To by mělo být provedeno podrobně, aby byly všechny cíle plně pokryty.
Fáze návrhu:
- Vytvoření testovacího případu : V této fázi tým QA zapíše testovací případy správnými kroky. Tyto testovací kufry jsou kontrolovány Business Analyst (BA).
- Vytvoření testovacích dat : V této fázi se testovací data vytvářejí nebo extrahují z předchozího prostředí podle obchodních požadavků. Testovací data lze vytvořit 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 podnikání nebo aplikaci
- Metriky výkonu : Metriky výkonu představují informace z hlediska výkonu aplikace, systému nebo komponent
Fáze testování:
- Testování API : Při testování API zajišťujeme, aby interakce mezi aplikacemi v blockchainovém ekosystému byla podle očekávání
- Testování bloků : 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ř. Inteligentní smlouvy).
- Testování výkonu : Podrobnosti, jako je latence sítě na základě velikosti bloku, velikosti sítě, očekávané velikosti transakce a doby, po kterou dotazu trvá vrátit výstup pomocí specializovaného ověřovacího protokolu
- Testování zabezpečení : V tomto se ujistíme, že aplikace je zranitelná vůči útokům a systémy mohou chránit data a jsou schopné zvládat škodlivé útoky atd.
- Testování integrace : Při testování integrace zajišťujeme, aby všechny komponenty aplikace byly správně integrovány a aby akce byly prováděny odpovídajícím způsobem
- Inteligentní testování kontraktů : Testování inteligentních kontraktů je o provádění podrobného funkčního testování obchodní logiky a procesu.
Fáze hlášení:
- Souhrnná zpráva o projektu : Popište celkový přehled podrobností o projektu, dat projektu, nákladů a podrobností úkolu
- Zpráva o testování inteligentní smlouvy : Tato zpráva popisuje podrobnosti o inteligentní smlouvě, datech a zpracování pravidel
- Zpráva o testování zabezpečení : Ukazuje zranitelné informace ve formálním dokumentu pro klienta a vyšší management. Zpráva obsahuje datum testování, testovací data a souhrn nalezených chyb zabezpečení
- Zpráva o testování výkonu : Tato zpráva ukazuje 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 při testování blockchainu důležitou roli, 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 jako součást funkčního testování: 1) Velikost bloku a velikost řetězce 2) Přidání bloku 3) Přenos dat
Testování integrace
Blockchainová aplikace funguje v různých prostředích. Je tedy důležité otestovat propojení mezi systémy
Testování výkonu:
Pomáhá předem identifikovat úzká místa hardwaru a softwaru. 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 rozmanité uzly v síti musí být testovány nezávisle, aby byla zajištěna plynulá spolupráce.
Testování API:
Rozhraní pro programování aplikací testuje interakci mezi aplikacemi v blockchainovém ekosystému. Testování API zajišťuje, že požadavky a odpovědi jsou formátovány a správně provozovány.
Nástroje pro testování blockchainu
Zde jsou některé nástroje pro testování Blockchainu pro import:
1) Ethereum Tester:
Jedná se o open-source testovací knihovnu dostupnou v repozitáři GitHub. Je snadné jej nastavit pomocí spravovatelné podpory 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 lokální testování kontraktů Ethereum. Funguje to tím, že točí až jakousi předstíranou B lockchain, které vám umožní přístup k účtům, které můžete použít pro T Zajímavých.
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é jednotky a testování systému.
K tomuto článku přispěl Suman Dass.