Hvad er Blockchain?
Blockchain er en delt database butik, der løbende vokser en liste over poster, kaldet blocks. Hver blok indeholder en hash af den forrige blok og en tidsstempel.
I denne vejledning lærer du:
- Hvad er Blockchain?
- Funktioner i Blockchain inkluderer
- Type Blockchain
- Hovedkomponenter i en blockchain
- Fordele ved Blockchain
- Udfordringer i Blockchain Testing
- Faser af Blockchain-test 7
- Nøgletesttyper på Blockchain-applikation 10
- Blockchain-testværktøjer 10
Funktioner i Blockchain inkluderer
- Decentraliseret system : gavnligt i forskellige brancher som finansiering, ejendom osv.
- Bedre sikkerhed : Bruger flere noder til at gennemføre og godkende transaktioner
- Autenticitet : Tillader den unikke algoritme at behandle data
- Øget kapacitet : Øger kapaciteten i hele netværket
Type Blockchain
Her er tre typer Blockchain:
Consortium Blockchain:
Flere organisationer har adgang og autoritet over netværket. Det er fuldt decentraliseret system
Offentlig Blockchain:
I denne type blockchain-test har alle adgang til netværket og kan deltage i konsensus. Dets decentrale system.
Privat Blockchain:
Kun enkeltorganisationer har adgang og autoritet over netværket. Det er et delvist decentraliseret system.
Offentlig | Privat | Konsortium | |
---|---|---|---|
Adgang |
|
|
|
Deltagere |
|
|
|
Sikkerhed |
|
|
|
Transaktionshastighed |
|
|
|
Hovedkomponenter i en blockchain
Node applikation
Hver node skal installere og køre en computerapplikation, der er endelig til det økosystem, de ønsker at deltage i
Delt hovedbog
En datastruktur (hovedbog) styres inde i nodeapplikationen. Indholdet af økosystemet kan ses, når node-applikationen er i kørende tilstand.
Konsensusalgoritme
Konsensusalgoritmen implementeres som en del af knudeprogrammet og leverer 'spillereglerne' for, hvordan økosystemet når frem til en enkelt visning af hovedbogen.
Virtuel maskine
Abstraktion af en maskine, der betjenes med instruktioner og implementeres 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 fra en central myndighed.
- Omkostningseffektiv : Blockchain-transaktioner mindre håndtering. Deltagerne kan udveksle værdiposter direkte. Blockchain fjerner dobbeltarbejde, fordi deltagerne har adgang til en delt hovedbog.
- Forøg sikkerhed : Blockchains sikkerhedsbeskyttelse mod svig og cyberkriminalitet.
Udfordringer i Blockchain Testing
- Forstå teknologien - Blockchain er en ny teknologi, og det er meget vigtigt at forstå teknologien med domæne viden til test af Blockchain Application
- Mangel på Blockchain-testværktøjer - Blockchain-baserede applikationstest handler om værktøjer. At vælge det rigtige værktøj pr. Applikation 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 Teststrategi kræver dybtgående viden og forståelse af teknologien og applikationen.
- Blok- og kædestørrelse - Sammen med standardtestning, værktøjer og den bedste praksis på plads er også test for blokstørrelse og kædestørrelse 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, skal integrationstest udføres ordentligt og ofte for at teste, at alle komponenter er korrekt integreret for at undgå fejl.
- Ydeevne og belastning - Manglende test for ydeevne og belastningstest giver ringe eller ingen indsigt i, hvordan Blockchain-applikationen fungerer i både produktion såvel som under specifikke arbejdsbelastninger og netværksforhold.
- Sikkerhed - Sikring af data skal være det vigtigste i Blockchain-applikationen. Blockchain kan være en del af forskellige sektorer som sundhed, økonomi osv. Enhver form for ondsindede angreb kan påvirke Blockchain-applikationen
Faser af Blockchain Testing
Indledningsfase:
- Forståelse af Blockchain-arkitektur : I denne fase forstår og analyserer vi forretnings- og funktionskravene. Dette beskriver applikationens opførsel, og hvordan brugeren vil interagere med applikationen
- Fuld teststrategidesign: I denne fase beskriver vi testmetoden til test af en applikation. Dette skal gøres detaljeret, så hvert mål er fuldt dækket.
Designfase:
- Oprettelse af testsag : I denne fase skriver QA-teamet testsagerne med de rette trin. Disse testcases gennemgås af Business Analyst (BA).
- Oprettelse af testdata: I denne fase oprettes eller ekstraheres testdata fra det tidligere miljø i forhold til forretningskrav. Testdata kan oprettes manuelt eller ved hjælp af automatiseringsværktøjer.
- Opsætning af miljø : I dette trin er testmiljøet konfigureret som behovet for forretning eller anvendelse
- Performance Metrics : Performance Metrics repræsenterer oplysningerne med hensyn til ydeevne for applikation, system eller komponenter
Testfase:
- API-test : I API-test sikrer vi, at interaktionen mellem applikationer i blockchain-økosystemet er som forventet
- Blokktest : Alle blokke på netværket bør testes individuelt for at sikre et korrekt samarbejde.
- Funktionel test : I Funktionel test evaluerer vi arbejdet i forskellige funktionelle dele af Blockchain (f.eks. Smarte kontrakter).
- Test af ydeevne : Detaljer som netværkslatens 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 systemer kan beskytte dataene og er i stand til at håndtere ondsindede angreb osv.
- Integrationstest : I integrationstest sikrer vi, at alle programmets komponenter er integreret korrekt og udfører handlingerne korrekt
- Smart Contract Testing : Smart Contract Testing handler om at udføre detaljeret funktionel test af forretningslogik og proces.
Rapportfase:
- Projektoversigtsrapport : Beskriv den samlede oversigt over projektoplysninger, projektdatoer, omkostninger og opgaveoplysninger
- Smart Contract Testing Report : Denne rapport beskriver detaljerne i Smart Contract, data og regler behandling
- Sikkerhedstestrapport : Viser sårbare oplysninger i et formelt dokument til klienten og den højere ledelse. Rapporten indeholder testdatoen, testdata og resumé af de fundne sårbarheder
- ydeevne testrapport : Denne rapport viser detaljerne vedrørende ydeevne for applikationer som hastighed, skalerbarhed, pålidelighed osv
Nøgletesttyper på Blockchain-applikation
Funktionel testning
Funktionel testning spiller en vigtig rolle i Blockchain Testing, da det hjælper med at evaluere forretningskrav, processer og effektivitet i brugssager. Nedenfor er de komponenter, der kan testes som en del af funktionel testning: 1) Blokstørrelse og kædestørrelse 2) Tilføjelse af en blok 3) Dataoverførsel
Integrationstest
Blockchain-applikationer fungerer i flere miljøer. Så det er vigtigt at teste intersystemforbindelser
Ydeevne test:
Det hjælper med at identificere hardware og software flaskehalse 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.
Test af node
Alle forskellige noder på netværket skal testes uafhængigt for at sikre et jævnt samarbejde.
API-test:
Applikationsprogrammeringsgrænseflade tester interaktionen mellem applikationer i blockchain-økosystemet. API-test sikrer, at anmodninger og svar formateres og fungerer korrekt.
Blockchain testværktøjer
Her er nogle import Blockchain-testværktøjer:
1) Ethereumtester:
Det er et open source testbibliotek tilgængeligt på GitHub repo. Det er let at konfigurere med håndterbar API-support til forskellige testkrav.
2) Ganache:
Det er tidligere kendt som Testrpc , er det udbredte bibliotek til test af Ethereum-kontrakter lokalt. Det virker ved at spinde op en slags mock B lockchain, der giver dig adgang til konti, du kan bruge til T sant.
3) Hyperledger-komponist:
Hyperledger Composer er et open source-værktøj, der hjælper udviklere med at opbygge blockchain-applikationer. Ved hjælp af dette værktøj kan vi primært udføre tre typer test: interaktiv test, automatiseret enhed og systemtest.
Denne artikel er bidraget af Suman Dass.