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.





