Hva er Blockchain?
Blockchain er en delt databasebutikk som stadig vokser en liste over poster, kalt blocks. Hver blokk inneholder en hash av forrige blokk og en tidsstempel.
I denne opplæringen lærer du:
- Hva er Blockchain?
- Funksjoner i Blockchain inkluderer
- Type Blockchain
- Hovedkomponenter i en blockchain
- Fordeler med Blockchain
- Utfordringer i Blockchain Testing
- Faser av Blockchain Testing 7
- Viktige testtyper på Blockchain-applikasjon 10
- Blockchain Testing Tools 10
Funksjoner i Blockchain inkluderer
- Desentralisert system : Fordelaktig i forskjellige bransjer som økonomi, 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 Blockchain
Her er tre typer Blockchain:
Consortium Blockchain:
Flere organisasjoner vil ha tilgang og autoritet over nettverket. Det er fullt desentralisert system
Offentlig blockchain:
I denne typen blockchain-testing har alle tilgang til nettverket og kan delta i konsensus. Dens desentraliserte system.
Privat Blockchain:
Bare enkeltorganisasjoner har tilgang og autoritet over nettverket. Det er et delvis desentralisert system.
Offentlig | Privat | Konsortium | |
---|---|---|---|
Adgang |
|
|
|
Deltakere |
|
|
|
Sikkerhet |
|
|
|
Transaksjonshastighet |
|
|
|
Hovedkomponenter i en blockchain
Knuteprogram
Hver node må installere og kjøre et dataprogram som er definitivt for økosystemet de ønsker å delta i
Delt hovedbok
En datastruktur (hovedbok) administreres inne i nodeapplikasjonen. Innholdet i økosystemet kan vises når nodeapplikasjonen er i gang.
Konsensusalgoritme
Konsensusalgoritmen er implementert som en del av nodeapplikasjonen, og gir 'spillereglene' for hvordan økosystemet vil komme frem til et enkelt syn på hovedboken.
Virtuell maskin
Abstraksjon av en maskin som betjenes med instruksjoner og implementeres som en del av nodeapplikasjonen som alle deltakere driver økosystemet.
Hvordan fungerer Blockchain?
Fordeler med Blockchain
- Tidsbesparende : Blockchain reduserer transaksjonstiden fra dager til minutter. Transaksjonsløsningen er raskere fordi den ikke krever bekreftelse fra en sentral myndighet.
- Kostnadseffektiv : Blockchain-transaksjoner mindre håndtering. Deltakerne kan utveksle verdipapirer direkte. Blockchain fjerner duplisering av innsats fordi deltakerne har tilgang til en delt reskontro.
- Øk sikkerhet : Blockchain sikkerhetsbeskyttelse mot svindel og nettkriminalitet.
Utfordringer i Blockchain Testing
- Forstå teknologien - Blockchain er en ny teknologi og å forstå teknologien med domenekunnskap er veldig viktig for å teste Blockchain Application
- Mangel på Blockchain Testing Tools - Blockchain-baserte applikasjonstester handler om verktøy. Å velge riktig verktøy per applikasjon er en av de viktigste beslutningene.
- Definere teststrategi - Som alle applikasjoner, utforming av teststrategi for Blockchain-applikasjon. Det er en av de største utfordringene ettersom Teststrategi 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 det også viktig å teste for blokkstørrelse og kjedestørrelse. Blockchain-applikasjoner 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 ordentlig integrert for å unngå feil.
- Ytelse og belastning - Unnlatelse av å teste for ytelse og belastningstesting gir liten eller ingen innsikt i hvordan Blockchain-applikasjonen presterer i både produksjon så vel som under spesifikke arbeidsbelastninger og nettverksforhold.
- Sikkerhet - Sikring av dataene bør være det viktigste i Blockchain-applikasjonen. Blockchain kan være en del av ulike sektorer som helse, økonomi, etc. Enhver type ondsinnede angrep kan påvirke Blockchain-applikasjonen
Faser av Blockchain Testing
Innvielsesfase:
- Forstå Blockchain-arkitektur : I denne fasen forstår og analyserer vi forretnings- og funksjonskravene. Dette beskriver atferden til applikasjonen og hvordan brukeren vil samhandle med applikasjonen
- Fullstendig teststrategidesign: I løpet av denne fasen beskriver vi testmetoden for testing av et program. Dette bør gjøres i detalj slik at alle mål blir dekket fullt ut.
Designfase:
- Test case Creation : I denne fasen skriver QA-teamet testsakene med riktige trinn. Disse testkassene er gjennomgått av Business Analyst (BA).
- Oppretting av testdata : I denne fasen opprettes eller ekstraheres testdata fra det forrige miljøet mot forretningskrav. Testdata kan opprettes manuelt eller ved hjelp av automatiseringsverktøy.
- Miljøoppsett : I dette trinnet blir testmiljøet konfigurert som behov for virksomhet eller applikasjon
- Ytelsesmålinger : Ytelsesmålinger representerer informasjonen når det gjelder ytelsen til applikasjonen, systemet eller komponentene
Testfase:
- API-testing : I API-testing sørger vi for at samspillet mellom applikasjoner i blockchain-økosystemet er som forventet
- Blokktesting : Alle blokkene i nettverket bør testes individuelt for å sikre riktig samarbeid.
- Funksjonstesting : I funksjonstesting evaluerer vi arbeidet til forskjellige funksjonelle deler av Blockchain (f.eks. Smarte kontrakter).
- Ytelsestesting : Detaljer som nettverksforsinkelse basert på blokkstørrelse, nettverksstørrelse, forventet transaksjonsstørrelse og hvor lang tid det tar for en spørring å returnere utdataene med den spesialiserte godkjenningsprotokollen
- Sikkerhetstesting : I dette sørger vi for at applikasjonen er sårbar for angrep og systemer kan beskytte dataene og er i stand til å håndtere ondsinnede angrep, etc.
- Integrasjonstesting : I integrasjonstesting sørger vi for at alle komponentene i applikasjonen er integrert riktig og utfører handlingene på riktig måte
- Smart Contract Testing : Smart Contract testing handler om å utføre detaljert funksjonstesting av forretningslogikk og prosess.
Rapportfase:
- Prosjektoversiktsrapport : Beskriv den samlede oversikten over prosjektdetaljer, prosjektdatoer, kostnad og oppgavedetaljer
- Smart Contract Testing Report : Denne rapporten beskriver detaljene i Smart Contract, data og regler
- Security Testing Report : Viser sårbar informasjon i et formelt dokument for klienten og høyere ledelse. Rapporten inneholder datoen for testing, testdata og sammendrag av funnet sårbarheter
- ytelsestesting Rapport : Denne rapporten viser detaljene angående ytelsen til applikasjoner som hastighet, skalerbarhet, pålitelighet osv.
Viktige testtyper på Blockchain-applikasjon
Funksjonell testing
Funksjonstesting spiller en viktig rolle i Blockchain Testing, da det hjelper til med å evaluere forretningskrav, prosesser og effektivitet i brukssaker. Nedenfor er komponentene som kan testes som en del av funksjonell testing: 1) Blokkstørrelse og kjedestørrelse 2) Legge til en blokk 3) Dataoverføring
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.
Node Testing
Alle forskjellige noder på nettverket må testes uavhengig for å sikre jevnt samarbeid.
API-testing:
Application Programming Interface tester samspillet mellom applikasjoner i blockchain-økosystemet. API-testing sikrer at forespørsler og svar formateres og brukes riktig.
Blockchain Testing Tools
Her er noen import Blockchain Testing verktøy:
1) Ethereum Tester:
Det er et åpen kildekode-testbibliotek tilgjengelig på GitHub repo. Det er enkelt å konfigurere med håndterbar API-støtte for forskjellige testkrav.
2) Ganache:
Det er tidligere kjent som Testrpc , er det mye brukte biblioteket for testing av Ethereum-kontrakter lokalt. Det fungerer ved å spinne opp en slags uekte B lockchain som gir deg tilgang til kontoer du kan bruke for T esting.
3) Hyperledger-komponist:
Hyperledger Composer er et open source-verktøy som hjelper utviklere med å bygge blockchain-applikasjoner. Ved hjelp av dette verktøyet kan vi hovedsakelig utføre tre typer testing: interaktiv testing, automatisert enhet og systemtesting.
Denne artikkelen er bidratt av Suman Dass.