Blockchain test vejledning

Hvad er Blockchain?

Blockchain er en delt databasebutik, der konstant vokser liste over poster, kaldet blokke. Hver blok indeholder en hash af den forrige blok og et tidsstempel.

I denne tutorial lærer du:

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 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 enkeltorganisationer vil have adgang og autoritet over netværket. Det er et delvist decentraliseret system.

offentlige Privat Consortium
Adgang
  • Enhver
  • En enkelt organisation
  • Multipel organisation
Deltagere
  • Permissionless
  • anonym
  • Tilladt
  • Kendte identiteter
  • Tilladt
  • Kendte identiteter
Sikkerhed
  • Konsensusmekanisme
  • Bevis for arbejde/Bevis for stak
  • 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

Abstraktion af en maskine betjent med instruktioner og implementeret som en del af nodeapplikationen, som hver deltager 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-Undladelse af at teste for ydeevne og belastningstest giver ringe eller ingen indsigt i, hvordan Blockchain-applikationen klarer sig i både produktion såvel som 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 dataoprettelse: I denne fase oprettes eller udtrækkes testdata fra det tidligere miljø i forhold til 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.
  • Funktionstest: I funktionel test evaluerer vi arbejdet i forskellige funktionelle dele af Blockchain (f.eks. smarte kontrakter).
  • 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 kontrakttestning: Smart Contract test handler om at udføre detaljerede funktionelle test af forretningslogik og proces.

Rapportfase:

  • Projektoversigt: Beskriv det overordnede overblik over projektdetaljer, projektdatoer, omkostninger og opgavedetaljer
  • Smart kontrakttestrapport: Denne rapport beskriver detaljerne i Smart kontrakt, 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

Funktionel test 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 funktionel test: 1) Blokstørrelse og kædestørrelse 2) Tilføjelse af en blok 3) 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 importerede Blockchain-testværktøjer:

1)Ethereum Tester:

Det er et open source-testbibliotek tilgængeligt på GitHub-repo. Den er nem at indstille op med håndterbar API-understøttelse til forskellige testkrav.

2) Ganache:

Det er tidligere kendt som Testrpc, er det meget brugte bibliotek til test Ethereum kontrakter lokalt. Det virker ved at spinde en slags hån op Blåsekæde, der giver dig adgang til konti, du kan bruge til Testing.

3) Hyperledger-komponist:

Hyperledger Composer er et open source-værktøj, der hjælper udviklere med at bygge blockchain-applikationer. Ved at bruge dette værktøj kan vi primært udføre tre typer test: interaktiv test, automatiseret enhed og systemtest. Hvis du er interesseret i at lære at bygge blockchain-applikationer og arbejde med værktøjer som Hyperledger Composer, så tjek denne vejledning på hvordan man bliver blockchain-udvikler at kickstarte din rejse i dette spændende felt.