Vad är Blockchain?
Blockchain är en delad databasbutik som växer kontinuerligt med poster, så kallade block. Varje block innehåller en hash av föregående block och en tidsstämpel.
I den här handledningen lär du dig:
- Vad är Blockchain?
- Funktioner i Blockchain inkluderar
- Typ av blockkedja
- Huvudkomponenter i en blockchain
- Fördelar med Blockchain
- Utmaningar i Blockchain Testing
- Faser av Blockchain Testing 7
- Viktiga testtyper för Blockchain-applikation 10
- Blockchain Testing Tools 10
Funktioner i Blockchain inkluderar
- Decentraliserat system : fördelaktigt i olika branscher som ekonomi, fastigheter etc.
- Bättre säkerhet : Använder flera noder för att slutföra och autentisera transaktioner
- Äkthet : Tillåter att den unika algoritmen bearbetar data
- Ökad kapacitet : Ökar kapaciteten för hela nätverket
Typ av blockkedja
Här är tre typer av Blockchain:
Consortium Blockchain:
Flera organisationer har åtkomst och befogenhet över nätverket. Det är helt decentraliserat system
Offentlig blockchain:
I denna typ av blockchain-testning har alla tillgång till nätverket och kan delta i samförstånd. Dess decentraliserade system.
Privat blockchain:
Endast enstaka organisationer har åtkomst och befogenhet över nätverket. Det är ett delvis decentraliserat system.
offentlig | Privat | Konsortium | |
---|---|---|---|
Tillgång |
|
|
|
Deltagare |
|
|
|
säkerhet |
|
|
|
Transaktionshastighet |
|
|
|
Huvudkomponenter i en blockchain
Nodapplikation
Varje nod måste installera och köra en datorprogram som är definitivt för det ekosystem de vill delta i
Delad huvudbok
En datastruktur (huvudbok) hanteras i nodprogrammet. Innehållet i ekosystemet kan visas när nodprogrammet är i kört tillstånd.
Konsensusalgoritm
Konsensusalgoritmen implementeras som en del av nodapplikationen och tillhandahåller 'spelets regler' för hur ekosystemet kommer fram till en enda vy av storboken.
Virtuell maskin
Abstraktion av en maskin som drivs med instruktioner och implementeras som en del av nodapplikationen som varje deltagare ekosystemet kör.
Hur fungerar Blockchain?
Fördelar med Blockchain
- Tidsbesparande : 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. Deltagare kan byta värdepapper direkt. Blockchain tar bort dubbelarbete eftersom deltagare har tillgång till en delad huvudbok.
- Öka säkerheten : Blockchains säkerhetsskydd mot bedrägerier och it-brottslighet.
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-applikationen
- Brist på Blockchain Testing Tools - Blockchain-baserade applikationstester handlar om verktyg. Att välja rätt verktyg enligt ansökan är ett av de viktiga besluten.
- Definiera teststrategi - Som alla applikationer, utforma teststrategi för Blockchain-applikation. Det är en av de största utmaningarna eftersom Teststrategi kräver fördjupad kunskap och förståelse för tekniken och applikationen.
- Block- och kedjestorlek - Tillsammans med standardtestning, verktyg och bästa praxis på plats är det också viktigt att testa för blockstorlek och kedjestorlek. Blockchain-applikationer kan misslyckas utan korrekt validering av blockstorlek och kedjestorlek.
- Integrationstestning - Eftersom det finns flera komponenter involverade i Blockchain-applikationen bör integrationstester göras ordentligt och ofta för att testa att alla komponenter är korrekt integrerade för att undvika fel.
- Prestanda och belastning - Underlåtenhet att testa prestanda och belastningstest ger liten eller ingen inblick i hur Blockchain-applikationen presterar i både produktion och under specifika arbetsbelastningar och nätverksförhållanden.
- Säkerhet - Säkerhet av data bör vara det viktigaste i Blockchain-applikationen. Blockchain kan vara en del av olika sektorer som hälsa, ekonomi etc. Alla typer av skadliga attacker kan påverka Blockchain-applikationen
Faser av Blockchain Testing
Initieringsfas:
- Förstå Blockchain-arkitektur : 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
- Fullständig teststrategidesign : Under denna fas beskriver vi testmetoden för att testa en applikation. Detta bör göras i detalj så att alla mål täcks till fullo.
Designfas:
- Skapa testfall : I denna fas skriver QA-teamet testfall med korrekta steg. Dessa testcases granskas av Business Analyst (BA).
- Skapande av testdata: I denna fas skapas eller extraheras testdata från den tidigare miljön mot affärsbehov. Testdata kan skapas manuellt eller med hjälp av automatiseringsverktyg.
- Miljöinställning : I det här steget konfigureras testmiljön som behovet av företag eller applikation
- Prestandamätvärden : Prestandamätvärden representerar informationen när det gäller prestanda för applikation, system eller komponenter
Testfas:
- API-testning : Vid API-testning ser vi till att interaktionen mellan applikationer i blockchain-ekosystemet är som förväntat
- Blocktestning : Alla block i nätverket bör testas individuellt för att säkerställa korrekt samarbete.
- Funktionstestning : I funktionstestning utvärderar vi arbetet med olika funktionella delar av Blockchain (t.ex. smarta kontrakt).
- Prestandatestning : Detaljer som nätverkslatens baserat på blockstorlek, nätverksstorlek, förväntad transaktionsstorlek och hur lång tid det tar för en fråga att returnera utdata med det specialiserade autentiseringsprotokollet
- Säkerhetstestning : I detta säkerställer vi att applikationen är sårbar för attacker och system kan skydda data och kan hantera skadliga attacker etc.
- Integrationstestning : Vid integrationstestning säkerställer vi att alla komponenter i applikationen är integrerade ordentligt och utför åtgärderna på lämpligt sätt
- Smart Contract Testing : Smart Contract-testning handlar om att utföra detaljerad funktionell testning av affärslogik och process.
Rapportera fas:
- Projektöversiktsrapport : Beskriv den övergripande översikten över projektdetaljer, projektdatum, kostnad och uppgiftsinformation
- Smart Contract Testing Report : Denna rapport beskriver detaljerna i Smart Contract , data och reglerhantering
- Säkerhetstestrapport : Visar sårbar information i ett formellt dokument för klienten och högre ledning. Rapporten innehåller testdatum, testdata och sammanfattning av de sårbarheter som hittats
- prestandatestrapport : Denna rapport visar detaljerna om applikationsprestanda som hastighet, skalbarhet, tillförlitlighet etc.
Viktiga testtyper på Blockchain-applikationen
Funktionell testning
Funktionell testning spelar en viktig roll i Blockchain Testing eftersom det hjälper till att utvärdera affärsbehov, processer och effektivitet i användningsfall. Nedan följer de komponenter som kan testas som en del av funktionell testning: 1) Blockstorlek och kedjestorlek 2) Lägga till ett block 3) Dataöverföring
Integrationstestning
Blockchain-applikationer fungerar i flera miljöer. Så det är viktigt att testa intersystemanslutningar
Prestandatester:
Det hjälper till att identifiera flaskhalsar för hårdvara och programvara 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 ett smidigt samarbete.
API-testning:
Application Programming Interface testar interaktionen mellan applikationer i blockchain-ekosystemet. API-testning säkerställer att förfrågningar och svar formateras och fungerar korrekt.
Blockchain-testverktyg
Här är några import Blockchain Testing-verktyg:
1) Ethereum-testare:
Det är ett testbibliotek med öppen källkod tillgängligt på GitHub repo. Det är enkelt att konfigurera med hanterbart API-stöd för olika testkrav.
2) Ganache:
Det är tidigare känt som Testrpc , är det allmänt använda biblioteket för att testa Ethereum-kontrakt lokalt. Det fungerar genom att snurra upp ett slags mock B lockchain som ger dig tillgång till konton som du kan använda för T Esting.
3) Hyperledger-kompositör:
Hyperledger Composer är ett open source-verktyg som hjälper utvecklare att bygga blockchain-applikationer. Med hjälp av detta verktyg kan vi främst utföra tre typer av test: interaktiv testning, automatiserad enhet och systemtestning.
Den här artikeln har bidragit av Suman Dass.