Testveiledning for blokkjede
โก Smart oppsummering
Blockchain-testing validerer desentraliserte applikasjoner, smart contracts og distribuerte ledgere for รฅ bekrefte sikkerhet, funksjonell nรธyaktighet og ytelse pรฅ tvers av hver node, og sikre at uforanderlige transaksjoner oppfรธrer seg riktig fรธr et blokkjedenettverk nรฅr produksjon.

Hva er Blockchain?
Blokkjede er en delt database som lagrer en kontinuerlig voksende liste over poster, kalt blokker. Hver blokk inneholder en hash av den forrige blokken og et tidsstempel.
Funksjoner av Blockchain inkluderer
- Desentralisert system: Fordelaktig i ulike bransjer som finans, eiendom osv.
- Bedre sikkerhet: Bruker flere noder for รฅ fullfรธre og autentisere transaksjoner
- Autentisitet: Lar den unike algoritmen behandle data
- รkt kapasitet: รker kapasiteten til hele nettverket
Type blokkjede
Her er tre typer Blockchain:
Konsortium Blockchain:
Flere organisasjoner vil ha tilgang til og autoritet over nettverket. Det er et fullstendig desentralisert system.
Offentlig blokkjede:
I denne typen blokkjedetesting har alle tilgang til nettverket og kan ta del i Consensus. Dets desentraliserte system.
Privat blokkjede:
Bare enkeltstรฅende organisasjoner vil ha tilgang til og autoritet over nettverket. Det er et delvis desentralisert system.
| offentlig | Privat | Consortium | |
|---|---|---|---|
| Adgang | Noen | Enkel organisasjon | Multippel organisasjon |
| Deltakere | Tillatelseslรธs anonym | Tillatte kjente identiteter | Tillatte kjente identiteter |
| Trygghet | Konsensusmekanisme Bevis pรฅ arbeid/Bevis pรฅ stack | Forhรฅndsgodkjente deltakere Avstemning/flerpartikonsensus | Forhรฅndsgodkjente deltakere Avstemning/flerpartikonsensus |
| Transaksjonshastighet | Sakte | Lettere og raskere | Lettere og raskere |
Hovedkomponenter i en blokkjede
Nodeapplikasjon
Hver node mรฅ installere og kjรธre en dataapplikasjon som er definitiv for รธkosystemet de รธnsker รฅ delta i
delt Ledger
En datastruktur (reskontro) administreres inne i nodeapplikasjonen. Innhold for รธkosystemet kan sees nรฅr nodeapplikasjonen er i kjรธrende tilstand.
Konsensusalgoritme
Konsensusalgoritmen er implementert som en del av nodeapplikasjonen, og gir "spillereglene" for hvordan รธkosystemet kommer til en enkelt visning av hovedboken.
Virtuell maskin
Abstracav en maskin som opereres med instruksjoner og implementeres som en del av nodeapplikasjonen som alle deltakere i รธkosystemet kjรธrer.
Hvordan fungerer blockchain?
Fordeler med Blockchain
- Tidssparende: Blockchain reduserer transaksjonstiden fra dager til minutter. Transaksjonslรธsningen er raskere fordi den ikke krever verifikasjon av en sentral myndighet.
- Kostnadseffektiv: Blockchain-transaksjoner mindre hรฅndtering. Deltakerne kan bytte verdigjenstander direkte. Blockchain fjerner duplisering av innsats fordi deltakerne har tilgang til en delt hovedbok.
- รk sikkerheten: Blockchains sikkerhetsbeskyttelse mot svindel og nettkriminalitet.
Utfordringer i blokkjedetesting
- Forstรฅ teknologienโ Blockchain er en ny teknologi, og รฅ forstรฅ teknologien med domenekunnskap er veldig viktig for รฅ teste Blockchain Application
- Mangel pรฅ blokkjedetestverktรธyโ Blockchain-basert applikasjonstesting handler om verktรธy. ร velge riktig verktรธy i henhold til sรธknaden er en av de viktige avgjรธrelsene.
- Definere teststrategiโ Som enhver applikasjon, designe Test Strategy for Blockchain-applikasjon. Det er en av de stรธrste utfordringene siden Test Strategy krever inngรฅende kunnskap og forstรฅelse av teknologien og applikasjonen.
- Blokk- og kjedestรธrrelseโ Sammen med standard testing, verktรธy og beste praksis pรฅ plass, er testing for blokkstรธrrelse og kjedestรธrrelse ogsรฅ viktig. Blokkjedeapplikasjoner kan mislykkes uten riktig validering av blokkstรธrrelse og kjedestรธrrelse.
- Integrasjonstestingโ Siden det er flere komponenter involvert i Blockchain-applikasjonen, bรธr integrasjonstesting gjรธres riktig og ofte for รฅ teste at alle komponentene er riktig integrert for รฅ unngรฅ feil.
- Ytelse og belastningโ ร unnlate รฅ teste ytelse og belastningstesting gir liten eller ingen innsikt i hvordan blokkjedeapplikasjonen yter bรฅde i produksjon og under spesifikke arbeidsbelastninger og nettverksforhold.
- Trygghetโ Sikring av data bรธr vรฆre det viktigste i Blockchain-applikasjonen. Blockchain kan vรฆre en del av ulike sektorer som helse, finans osv. alle typer ondsinnede angrep kan pรฅvirke Blockchain-applikasjonen
Faser av blokkjedetesting
Startfase:
- Forstรฅ Blockchain Architecture: I denne fasen forstรฅr og analyserer vi forretnings- og funksjonskravene. Dette beskriver oppfรธrselen til applikasjonen og hvordan brukeren vil samhandle med applikasjonen
- Design av full teststrategi: I lรธpet av denne fasen beskriver vi testmetoden for รฅ teste en applikasjon. Dette bรธr gjรธres i detalj slik at hvert mรฅl er fullt dekket.
Designfase:
- Oppretting av testcase: I denne fasen skriver QA-teamet testsakene med de riktige trinnene. Disse testsakene blir vurdert av Business Analyst(BA).
- Test dataopprettingI denne fasen opprettes eller eksamineres testdatatracfra det forrige miljรธet mot forretningskrav. Testdata kan opprettes manuelt eller ved hjelp av automatiseringsverktรธy.
- Miljรธoppsett: I dette trinnet er testmiljรธet konfigurert som behov for Business eller applikasjon
- Ytelsesmรฅlinger: Ytelsesmรฅlinger representerer informasjonen nรฅr det gjelder ytelsen til applikasjonen, systemet eller komponentene
Testfase:
- API-testing: I API-testing sikrer vi at interaksjonen mellom applikasjoner i blokkjedeรธkosystemet er som forventet
- Blokktesting: Alle blokkene pรฅ nettverket bรธr testes individuelt for รฅ sikre riktig samarbeid.
- Funksjonell testingI funksjonstesting evaluerer vi arbeidet til ulike funksjonelle deler av blokkjeden (f.eks. smarte kontrollertracts).
- Ytelsestesting: Detaljer som nettverksforsinkelse basert pรฅ blokkstรธrrelse, nettverksstรธrrelse, forventet transaksjonsstรธrrelse og hvor lang tid en spรธrring tar รฅ returnere utdata med den spesialiserte autentiseringsprotokollen
- Sikkerhetstesting: I dette sikrer vi at applikasjonen er sรฅrbar for angrep og Systems kan beskytte dataene og er i stand til รฅ hรฅndtere ondsinnede angrep osv.
- Integrasjonstesting: I integrasjonstesting sikrer vi at alle komponentene i applikasjonen er integrert pรฅ riktig mรฅte og utfรธrer handlingene pรฅ riktig mรฅte
- Smart Contract-testingSmart Contract-testing handler om รฅ utfรธre detaljert funksjonstesting av forretningslogikk og prosesser.
Rapportfase:
- Prosjektsammendragsrapport: Beskriv den generelle oversikten over prosjektdetaljer, prosjektdatoer, kostnader og oppgavedetaljer
- Smart Contract TestrapportDenne rapporten beskriver detaljene i Smart Contract, data og regelbehandling
- Sikkerhetstestrapport: Viser sรฅrbar informasjon i et formelt dokument for oppdragsgiver og hรธyere ledelse. Rapporten inneholder datoen for testing, testdata og sammendrag av sรฅrbarhetene som ble funnet
- ytelsestestrapport: Denne rapporten viser detaljene om ytelsen til applikasjoner som hastighet, skalerbarhet, pรฅlitelighet osv.
Nรธkkeltestingstyper pรฅ blokkjedeapplikasjoner
Funksjonell testing
Funksjonstesting spiller en viktig rolle i blokkjedetesting, ettersom det hjelper med รฅ evaluere forretningskrav, prosesser og effektiviteten til brukstilfeller. Nedenfor er komponentene som kan testes som en del av funksjonstesting:
- Blokkstรธrrelse og kjedestรธrrelse
- Legge til en blokk
- Data Transmission
Integrasjonstesting
Blockchain-applikasjoner fungerer i flere miljรธer. Sรฅ det er viktig รฅ teste tilkoblinger mellom systemet
Ytelsestesting:
Det hjelper med รฅ identifisere maskinvare- og programvareflaskehalser pรฅ forhรฅnd. Dette kan ogsรฅ hjelpe deg med รฅ finne ut de potensielle kostnadene ved รฅ kjรธre applikasjonen i skyen eller andre miljรธer.
Nodetesting
Alle ulike noder pรฅ nettverket mรฅ testes uavhengig for รฅ sikre jevnt samarbeid.
API-testing:
Application Programming Interface tester interaksjonen mellom applikasjoner i blokkjedeรธkosystemet. API-testing sikrer at forespรธrsler og svar formateres og drives riktig.
Blockchain testverktรธy
Her er noen viktige verktรธy for blokkjedetesting:
1)Ethereum Tester:
Det er et testbibliotek med รฅpen kildekode tilgjengelig pรฅ GitHub-repoet. Det er enkelt รฅ sette opp med hรฅndterbar API-stรธtte for ulike testkrav.
2) Ganache:
Det var tidligere kjent som TestRPC, og er et mye brukt bibliotek for testing Ethereum medtracts lokalt. Det fungerer ved รฅ lage en slags simulert blokkjede som gir deg tilgang til kontoer du kan bruke til testing.
3) Hyperledger-komponist:
Hyperledger Composer er et รฅpen kildekode-verktรธy som hjelper utviklere med รฅ bygge blokkjedeapplikasjoner. Ved hjelp av dette verktรธyet kan vi utfรธre hovedsakelig tre typer testing: interaktiv testing, automatisert enhetstesting og systemtesting. Hvis du er interessert i รฅ lรฆre hvordan du bygger blokkjedeapplikasjoner og jobber med verktรธy som Hyperledger Composer, kan du sjekke ut denne veiledningen pรฅ hvordan bli en blokkjedeutvikler for รฅ kickstarte reisen din i dette spennende feltet.




