Handledning för blockchain-testning
⚡ Smart sammanfattning
Blockkedjetestning validerar decentraliserade applikationer, smarta nackdelartracts och distribuerade liggare för att bekräfta säkerhet, funktionell noggrannhet och prestanda över varje nod, vilket säkerställer att oföränderliga transaktioner beter sig korrekt innan ett blockkedjenätverk når produktion.

Vad är Blockchain?
Blockkedjan är en delad databas som lagrar en kontinuerligt växande lista med poster, kallade block. Varje block innehåller en hash av föregående block och en tidsstämpel.
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 åtkomst 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 | |
|---|---|---|---|
| Få åtkomst till | Någon | Enskild organisation | Flera organisation |
| Deltagare | Tillståndslös Anonym | Tillåtna kända identiteter | Tillåtna kända identiteter |
| Säkerhet | Konsensusmekanism Bevis på arbete/Bevis på stack | Förhandsgodkända deltagare Röstning/flerpartikonsensus | Förhandsgodkända deltagare Röstning/flerpartikonsensus |
| Transaktionshastighet | Sakta | Lättare och snabbare | Lättare och snabbare |
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
Abstracav 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 inte testa prestanda och belastning ger liten eller ingen inblick i hur blockkedjeapplikationen presterar både i produktion och 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 dataskapandeI den här fasen skapas eller examineras testdatatracfrån den tidigare miljön mot affärskrav. Testdata kan skapas manuellt eller med hjälp av automatiseringsverktyg.
- 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=TRUNCInom funktionstestning utvärderar vi arbetet hos olika funktionella delar av blockkedjan (t.ex. smarta enhetertracts).
- 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 Contract-testningSmart Contract-testning handlar om att utföra detaljerad funktionell testning av affärslogik och processer.
Rapportfas:
- Projektsammanfattningsrapport: Beskriv den övergripande översikten av projektdetaljer, projektdatum, kostnad och uppgiftsdetaljer
- Smart Contract TestrapportDen här rapporten beskriver detaljerna i Smart Contract, data- och regelbehandling
- 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 blockkedjetestning eftersom det hjälper till att utvärdera affärskrav, processer och effektiviteten i användningsfall. Nedan följer de komponenter som kan testas som en del av funktionstestning:
- Blockstorlek och kedjestorlek
- Lägga till ett block
- 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 viktiga verktyg för blockkedjetestning:
1)Ethereum Testare:
Det är ett testbibliotek med öppen källkod som finns tillgängligt på GitHub-repo. Det är enkelt att konfigurera med hanterbart API-stöd för olika testkrav.
2) Ganache:
Det var tidigare känt som TestRPC och är det allmänt använda biblioteket för testning Ethereum medtracts lokalt. Det fungerar genom att skapa en slags simulerad blockkedja som ger dig tillgång till konton du kan använda för testning.
3) Hyperledger Composer:
Hyperledger Composer är ett verktyg med öppen källkod som hjälper utvecklare att bygga blockkedjeapplikationer. Med hjälp av det här verktyget kan vi utföra huvudsakligen tre typer av testning: interaktiv testning, automatiserad enhetstestning och systemtestning. Om du är intresserad av att lära dig hur man bygger blockkedjeapplikationer 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.




