Handledning för blockchain-testning
Vad är Blockchain?
Blockchain är en delad databas som ständigt växer lista med poster, kallade block. Varje block innehåller en hash av föregående block och en tidsstämpel.
I den här handledningen kommer du att lära dig:
- Vad är Blockchain?
- Funktioner i Blockchain inkluderar
- Typ av blockkedja
- Huvudkomponenterna i en blockchain
- Fördelar med Blockchain
- Utmaningar i Blockchain Testing
- Faser av blockkedjetestning 7
- Nyckeltesttyper på blockkedjeapplikation 10
- Blockchain-testverktyg 10
Funktioner i Blockchain inkluderar
- Decentraliserat system: Fördelbart inom olika branscher som finans, fastigheter etc.
- Bättre säkerhet: Använder flera noder för att slutföra och autentisera transaktioner
- Autencitet: Tillåter den unika algoritmen att bearbeta data
- Ökad kapacitet: Ökar kapaciteten för hela nätverket
Typ av blockkedja
Här är tre typer av blockchain:
Konsortium Blockchain:
Flera organisationer kommer att ha tillgång till och auktoritet över nätverket. Det är ett helt decentraliserat system
Offentlig blockkedja:
I den här typen av blockkedjetestning har alla tillgång till nätverket och kan ta del av Consensus. Dess decentraliserade system.
Privat blockkedja:
Endast enskilda organisationer kommer att ha åtkomst och auktoritet över nätverket. Det är ett delvis decentraliserat system.
offentliga | Privat | Consortium | |
---|---|---|---|
Tillgång |
|
|
|
Deltagare |
|
|
|
Säkerhet |
|
|
|
Transaktionshastighet |
|
|
|
Huvudkomponenterna i en blockchain
Nodapplikation
Varje nod måste installera och köra en datorapplikation som är definitiv för det ekosystem de vill delta i
Delade Ledger
En datastruktur (reskontra) hanteras inuti nodapplikationen. Innehållet för ekosystemet kan ses när nodapplikationen körs.
Konsensusalgoritm
Konsensusalgoritmen implementeras som en del av nodapplikationen och tillhandahåller "spelets regler" för hur ekosystemet kommer fram till en enda vy av redovisningen.
Virtuell maskin
Abstraktion av en maskin som drivs med instruktioner och implementeras som en del av nodapplikationen som varje deltagare i ekosystemet kör.
Hur fungerar Blockchain?
Fördelar med Blockchain
- Tids sparande: Blockchain minskar transaktionstiden från dagar till minuter. Transaktionslösningen är snabbare eftersom den inte kräver verifiering av en central myndighet.
- Kostnadseffektiv: Blockchain-transaktioner mindre hantering. Deltagarna kan byta värdeföremål direkt. Blockchain tar bort dubbelarbete eftersom deltagarna har tillgång till en delad reskontra.
- Öka säkerheten: Blockchains säkerhetsskydd mot bedrägerier och cyberbrottslighet.
Utmaningar i Blockchain Testing
- Förstå tekniken– Blockchain är en ny teknik och att förstå tekniken med domänkunskap är mycket viktigt för att testa Blockchain Application
- Brist på Blockchain-testverktyg– Blockchain-baserad applikationstestning handlar om verktyg. Att välja rätt verktyg enligt ansökan är ett av de viktiga besluten.
- Definiera teststrategi– Som vilken applikation som helst, designa Test Strategy för Blockchain-applikation. Det är en av de största utmaningarna eftersom Test Strategy kräver djupgående kunskap och förståelse för tekniken och tillämpningen.
- Block och kedjestorlek– Tillsammans med standardtestning, verktyg och bästa praxis på plats, är testning av blockstorlek och kedjestorlek också viktigt. Blockchain-applikationer kan misslyckas utan korrekt validering av blockstorlek och kedjestorlek.
- Integrationstestning– Eftersom det finns flera komponenter involverade i Blockchain-applikationen, bör integrationstestning göras korrekt och ofta för att testa att alla komponenter är korrekt integrerade för att undvika eventuella fel.
- Prestanda och belastning-Att misslyckas med att testa prestanda och belastningstestning ger liten eller ingen insikt i hur Blockchain-applikationen presterar i såväl produktion som under specifika arbetsbelastningar och nätverksförhållanden.
- Säkerhet– Att säkra data bör vara det viktigaste i Blockchain-applikationen. Blockchain kan vara en del av olika sektorer som hälsa, finans etc. alla typer av skadliga attacker kan påverka Blockchain-applikationen
Faser av blockkedjetestning
Initieringsfas:
- Förstå Blockchain Architecture: I denna fas förstår och analyserar vi affärs- och funktionskraven. Detta beskriver applikationens beteende och hur användaren kommer att interagera med applikationen
- Utformning av fullständig teststrategi: Under denna fas beskriver vi testmetoden för att testa en applikation. Detta bör göras i detalj så att alla mål är helt täckta.
Designfas:
- Skapa testfall: I denna fas skriver QA-teamet testfallen med korrekta steg. Dessa testfall granskas av Business Analyst(BA).
- Testa dataskapande: I denna fas skapas eller extraheras testdata från den tidigare miljön mot affärskrav. Testdata kan skapas manuellt eller med hjälp av automationsverktyg.
- Miljöinställning: I det här steget konfigureras testmiljön som behov av Business eller applikation
- Prestandamätningar: Prestandamått representerar informationen när det gäller applikationens, systemets eller komponenternas prestanda
Testfas:
- API-testning: Vid API-testning säkerställer vi att interaktionen mellan applikationer i blockkedjeekosystemet är som förväntat
- Blocktestning: Alla block i nätverket bör testas individuellt för att säkerställa korrekt samarbete.
- funktions~~POS=TRUNC: I funktionstestning utvärderar vi arbetet i olika funktionella delar av blockkedjan (t.ex. smarta kontrakt).
- Prestandatester: Detaljer som nätverkslatens baserad på blockstorlek, nätverksstorlek, förväntad transaktionsstorlek och hur lång tid en fråga tar att returnera utdata med det specialiserade autentiseringsprotokollet
- Säkerhetstestning: I detta säkerställer vi att applikationen är sårbar för attacker och Systems kan skydda data och kan hantera skadliga attacker, etc.
- Integrationstestning: Vid integrationstestning säkerställer vi att alla komponenter i applikationen är korrekt integrerade och utför åtgärderna på rätt sätt
- Smart kontraktstestning: Smart Contract-testning handlar om att utföra detaljerade funktionstester av affärslogik och process.
Rapportfas:
- Projektsammanfattningsrapport: Beskriv den övergripande översikten av projektdetaljer, projektdatum, kostnad och uppgiftsdetaljer
- Smart kontraktstestningsrapport: Den här rapporten beskriver detaljerna för bearbetning av smarta kontrakt, data och regler
- Säkerhetstestningsrapport: Visar sårbar information i ett formellt dokument för klienten och högre ledning. Rapporten innehåller testdatum, testdata och sammanfattning av de upptäckta sårbarheterna
- prestationstestningsrapport: Den här rapporten visar detaljer om prestanda för applikationer som hastighet, skalbarhet, tillförlitlighet, etc.
Nyckeltesttyper på blockkedjeapplikationer
funktions~~POS=TRUNC
Funktionstestning spelar en viktig roll i Blockchain-testning eftersom det hjälper till att utvärdera affärskrav, processer och effektiviteten av användningsfall. Nedan är de komponenter som kan testas som en del av funktionstestning: 1) Blockstorlek och kedjestorlek 2) Lägga till ett block 3) Data Transmission
Integrationstestning
Blockchain-applikationer fungerar i flera miljöer. Så det är viktigt att testa anslutningar mellan system
Prestandatester:
Det hjälper till att identifiera hårdvaru- och mjukvaruflaskhalsar i förväg. Detta kan också hjälpa dig att räkna ut de potentiella kostnaderna för att köra applikationen i molnet eller andra miljöer.
Nodtestning
Alla olika noder i nätverket måste testas oberoende för att säkerställa smidigt samarbete.
API-testning:
Application Programming Interface testar interaktionen mellan applikationer i blockkedjeekosystemet. API-testning säkerställer att förfrågningar och svar formateras och fungerar korrekt.
Blockchain testverktyg
Här är några importverktyg för Blockchain-testning:
1)Ethereum Testare:
Det är ett testbibliotek med öppen källkod tillgängligt på GitHub-repo. Det är lätt att ställa in upp med hanterbart API-stöd för olika testkrav.
2) Ganache:
Det är tidigare känt som Testrpc, är det flitigt använda biblioteket för testning Ethereum avtal lokalt. Det fungerar genom att snurra upp ett slags hån Blåskedja som ger dig tillgång till konton du kan använda för Testing.
3) Hyperledger Composer:
Hyperledger Composer är ett verktyg med öppen källkod som hjälper utvecklare att bygga blockchain-applikationer. Med detta verktyg kan vi utföra huvudsakligen tre typer av testning: interaktiv testning, automatiserad enhet och systemtestning. Om du är intresserad av att lära dig hur man bygger blockchain-applikationer och arbetar med verktyg som Hyperledger Composer, kolla in den här guiden på hur man blir en blockchain-utvecklare för att kickstarta din resa i detta spännande område.