Blockchain test vejledning
โก Smart opsummering
Blockchain-testning validerer decentraliserede applikationer og smart contracts og distribuerede ledgere for at bekrรฆfte sikkerhed, funktionel nรธjagtighed og ydeevne pรฅ tvรฆrs af hver node, hvilket sikrer, at uforanderlige transaktioner opfรธrer sig korrekt, fรธr et blockchain-netvรฆrk nรฅr produktion.

Hvad er Blockchain?
Blockchain er en delt database, der lagrer en kontinuerligt voksende liste af poster, kaldet blokke. Hver blok indeholder en hash af den forrige blok og et tidsstempel.
Funktioner i Blockchain inkluderer
- Decentraliseret system: Fordel i forskellige brancher som finans, fast ejendom osv.
- Bedre sikkerhed: Bruger flere noder til at fuldfรธre og godkende transaktioner
- Autenticitet: Tillader den unikke algoritme at behandle data
- รget kapacitet: รger kapaciteten af โโhele netvรฆrket
Type Blockchain
Her er tre typer Blockchain:
Konsortium Blockchain:
Flere organisationer vil have adgang til og autoritet over netvรฆrket. Det er et fuldt decentraliseret system.
Offentlig blockchain:
I denne type blockchain-test har alle adgang til netvรฆrket og kan deltage i Consensus. Dets decentraliserede system.
Privat Blockchain:
Kun enkeltstรฅende organisationer vil have adgang til og autoritet over netvรฆrket. Det er et delvist decentraliseret system.
| offentlige | Privat | Consortium | |
|---|---|---|---|
| Adgang | Enhver | En enkelt organisation | Multipel organisation |
| Deltagere | Tilladelselรธs Anonym | Tilladte kendte identiteter | Tilladte kendte identiteter |
| Sikkerhed | Konsensusmekanisme Proof of Work/Proof of Stack | Forhรฅndsgodkendte deltagere Afstemning/flerpartikonsensus | Forhรฅndsgodkendte deltagere Afstemning/flerpartikonsensus |
| Transaktionshastighed | Langsom | Lettere og hurtigere | Lettere og hurtigere |
Hovedkomponenter i en blockchain
Node applikation
Hver Node skal installere og kรธre en computerapplikation, der er egnet til det รธkosystem, de รธnsker at deltage i
delt Ledger
En datastruktur (ledger) administreres inde i nodeapplikationen. Indhold for รธkosystemet kan ses, nรฅr nodeapplikationen kรธrer.
Konsensusalgoritme
Konsensusalgoritmen er implementeret som en del af nodeapplikationen, der giver 'spillets regler' for, hvordan รธkosystemet kommer frem til en enkelt visning af hovedbogen.
Virtual Machine
Abstraction af en maskine, der betjenes med instruktioner og implementeres som en del af den nodeapplikation, som alle deltagere i รธkosystemet kรธrer.
Hvordan fungerer Blockchain?
Fordele ved Blockchain
- Tidsbesparende: Blockchain reducerer transaktionstiden fra dage til minutter. Transaktionslรธsningen er hurtigere, fordi den ikke krรฆver verifikation af en central myndighed.
- Omkostningseffektiv: Blockchain-transaktioner mindre hรฅndtering. Deltagerne kan udveksle vรฆrdigenstande direkte. Blockchain fjerner dobbeltarbejde, fordi deltagerne har adgang til en delt hovedbog.
- รg sikkerheden: Blockchains sikkerhedsbeskyttelse mod svindel og cyberkriminalitet.
Udfordringer i Blockchain-testning
- Forstรฅ teknologienโ Blockchain er en ny teknologi, og forstรฅelsen af โโteknologien med domรฆneviden er meget vigtig i test af Blockchain Application
- Mangel pรฅ Blockchain-testvรฆrktรธjerโ Blockchain-baseret applikationstest handler om vรฆrktรธjer. At vรฆlge det rigtige vรฆrktรธj i henhold til ansรธgningen er en af โโde vigtige beslutninger.
- Definition af teststrategiโ Som enhver applikation, design af teststrategi til Blockchain-applikation. Det er en af โโde stรธrste udfordringer, da Test Strategy krรฆver dybdegรฅende viden og forstรฅelse af teknologien og applikationen.
- Blok og kรฆde stรธrrelseโ Sammen med standardtestning, vรฆrktรธjer og den bedste praksis pรฅ plads, er test for blokstรธrrelse og kรฆdestรธrrelse ogsรฅ vigtig. Blockchain-applikationer kan mislykkes uden korrekt validering af blokstรธrrelse og kรฆdestรธrrelse.
- Integrationstestโ Da der er flere komponenter involveret i Blockchain-applikationen, bรธr integrationstest udfรธres korrekt og ofte for at teste, at alle komponenterne er korrekt integreret for at undgรฅ fejl.
- Ydeevne og belastningโ Manglende ydeevnetest og belastningstest giver ringe eller ingen indsigt i, hvordan Blockchain-applikationen prรฆsterer i bรฅde produktion og under specifikke arbejdsbelastninger og netvรฆrksforhold.
- Sikkerhedโ Sikring af data bรธr vรฆre det vigtigste i Blockchain-applikationen. Blockchain kan vรฆre en del af forskellige sektorer som sundhed, finans osv. enhver form for ondsindede angreb kan pรฅvirke Blockchain-applikationen
Faser af Blockchain-testning
Indledningsfase:
- Forstรฅelse af Blockchain Architecture: I denne fase forstรฅr og analyserer vi forretnings- og funktionskravene. Dette beskriver applikationens adfรฆrd, og hvordan brugeren vil interagere med applikationen
- Design af komplet teststrategi: I denne fase beskriver vi testmetoden til at teste en applikation. Dette bรธr gรธres i detaljer, sรฅ hvert mรฅl er fuldt dรฆkket.
Designfase:
- Oprettelse af testcase: I denne fase skriver QA-teamet testcaserne med de rigtige trin. Disse testcases gennemgรฅs af Business Analyst(BA).
- Test dataoprettelseI denne fase oprettes eller eksamineres testdatatracfra det tidligere miljรธ mod forretningskrav. Testdata kan oprettes manuelt eller ved hjรฆlp af automatiseringsvรฆrktรธjer.
- Miljรธopsรฆtning: I dette trin er testmiljรธet konfigureret som behovet for Business eller applikation
- Ydelsesmรฅlinger: Ydelsesmรฅlinger reprรฆsenterer oplysningerne med hensyn til applikationens ydeevne, systemet eller komponenterne
Testfase:
- API-testning: I API-test sikrer vi, at interaktionen mellem applikationer i blockchain-รธkosystemet er som forventet
- Bloktest: Alle blokke pรฅ netvรฆrket bรธr testes individuelt for at sikre korrekt samarbejde.
- FunktionstestI funktionel testning evaluerer vi arbejdet i forskellige funktionelle dele af blockchainen (f.eks. smart contracts).
- Test af ydeevne: Detaljer som netvรฆrksforsinkelse baseret pรฅ blokstรธrrelse, netvรฆrksstรธrrelse, forventet transaktionsstรธrrelse og hvor lang tid en forespรธrgsel tager at returnere output med den specialiserede godkendelsesprotokol
- Sikkerhedstest: I dette sikrer vi, at applikationen er sรฅrbar over for angreb, og Systems kan beskytte dataene og er i stand til at hรฅndtere ondsindede angreb mv.
- Integrationstest: I integrationstest sikrer vi, at alle komponenter i applikationen er integreret korrekt og udfรธrer handlingerne korrekt
- Smart Contract-testningSmart Contract-testning handler om at udfรธre detaljeret funktionel testning af forretningslogik og processer.
Rapportfase:
- Projektoversigt: Beskriv det overordnede overblik over projektdetaljer, projektdatoer, omkostninger og opgavedetaljer
- Smart Contract TestrapportDenne rapport beskriver detaljerne i Smart contract, data og regelbehandling
- Sikkerhedstest rapport: Viser sรฅrbar information i et formelt dokument til klienten og den hรธjere ledelse. Rapporten indeholder testdatoen, testdata og oversigt over de fundne sรฅrbarheder
- prรฆstationstest rapport: Denne rapport viser detaljerne vedrรธrende ydeevnen af โโapplikationer som hastighed, skalerbarhed, pรฅlidelighed osv.
Nรธgletesttyper pรฅ Blockchain-applikationer
Funktionstest
Funktionstest spiller en vigtig rolle i blockchain-testning, da det hjรฆlper med at evaluere forretningskrav, processer og effektiviteten af โโuse cases. Nedenfor er de komponenter, der kan testes som en del af funktionstest:
- Blokstรธrrelse og kรฆdestรธrrelse
- Tilfรธjelse af en blok
- Data Transmission
Integrationstest
Blockchain-applikationer fungerer i flere miljรธer. Sรฅ det er vigtigt at teste forbindelser mellem systemer
Ydelsestest:
Det hjรฆlper med at identificere hardware- og softwareflaskehalse pรฅ forhรฅnd. Dette kan ogsรฅ hjรฆlpe dig med at finde ud af de potentielle omkostninger ved at kรธre applikationen i skyen eller andre miljรธer.
Nodetest
Alle forskellige knudepunkter pรฅ netvรฆrket skal testes uafhรฆngigt for at sikre gnidningslรธst samarbejde.
API-test:
Application Programming Interface tester interaktionen mellem applikationer i blockchain-รธkosystemet. API-testning sikrer, at anmodninger og svar formateres og betjenes korrekt.
Blockchain-testvรฆrktรธjer
Her er nogle vigtige vรฆrktรธjer til blockchain-testning:
1)Ethereum Tester:
Det er et open source-testbibliotek tilgรฆngeligt pรฅ GitHub-repoet. Det er nemt at konfigurere med hรฅndterbar API-understรธttelse til forskellige testkrav.
2) Ganache:
Det var tidligere kendt som TestRPC og er et udbredt bibliotek til testning Ethereum medtracts lokalt. Det fungerer ved at udvikle en slags simuleret blockchain, der giver dig adgang til konti, du kan bruge til testning.
3) Hyperledger-komponist:
Hyperledger Composer er et open source-vรฆrktรธj, der hjรฆlper udviklere med at bygge blockchain-applikationer. Ved hjรฆlp af dette vรฆrktรธj kan vi primรฆrt udfรธre tre typer test: interaktiv testning, automatiseret enhedstestning og systemtestning. Hvis du er interesseret i at lรฆre, hvordan man bygger blockchain-applikationer og arbejder med vรฆrktรธjer som Hyperledger Composer, kan du se denne guide pรฅ hvordan man bliver blockchain-udvikler at kickstarte din rejse i dette spรฆndende felt.




