Zelfstudie over het testen van blockchain
Wat is Blockchain?
Blockchain is een gedeelde database die een continu groeiende lijst met records opslaat, blokken genoemd. Elk blok bevat een hash van het vorige blok en een tijdstempel.
In deze zelfstudie leert u:
- Wat is Blockchain?
- Kenmerken van Blockchain omvatten
- Type blockchain
- Hoofdcomponenten van een blockchain
- Voordelen van Blockchain
- Uitdagingen bij Blockchain-testen
- Fasen van Blockchain-testen 7
- Belangrijkste testtypen voor Blockchain-applicatie 10
- Blockchain-testtools 10
Kenmerken van Blockchain omvatten
- Gedecentraliseerd systeem: Gunstig in verschillende sectoren, zoals financiën, onroerend goed enz.
- Betere beveiliging: gebruikt meerdere knooppunten om transacties te voltooien en te verifiëren
- Authenticity : Hiermee kan het unieke algoritme gegevens verwerken
- Verhoogde capaciteit: Vergroot de capaciteit van het gehele netwerk
Type blockchain
Hier zijn drie soorten Blockchain:
Consortium Blockchain:
Meerdere organisaties zullen toegang en autoriteit hebben over het netwerk. Het is een volledig gedecentraliseerd systeem
Openbare blockchain:
Bij dit soort blockchain-testen heeft iedereen toegang tot het netwerk en kan hij deelnemen aan Consensus. Het gedecentraliseerde systeem.
Privé Blockchain:
Alleen afzonderlijke organisaties hebben toegang en autoriteit over het netwerk. Het is een gedeeltelijk gedecentraliseerd systeem.
Publieke | Privé | Consortium | |
---|---|---|---|
Toegang |
|
|
|
Deelnemers |
|
|
|
Security |
|
|
|
Transactiesnelheid |
|
|
|
Hoofdcomponenten van een blockchain
Knooppunt applicatie
Elke Node moet een computerapplicatie installeren en uitvoeren die specifiek is voor het ecosysteem waaraan ze willen deelnemen.
Gedeelde Ledger
Een datastructuur (ledger) wordt beheerd binnen de node-applicatie. De inhoud van het ecosysteem kan worden bekeken zodra de node-applicatie in de running-status is.
Consensus-algoritme
Het consensusalgoritme wordt geïmplementeerd als onderdeel van de node-applicatie en biedt de 'spelregels' voor de manier waarop het ecosysteem tot één enkel overzicht van het grootboek komt.
Virtuele machine
Abstractie van een machine die met instructies wordt aangestuurd en geïmplementeerd als onderdeel van de knooppuntapplicatie die door elke deelnemer in het ecosysteem wordt uitgevoerd.
Hoe werkt Blockchain?
Voordelen van Blockchain
- Tijd besparen: Blockchain reduceert de transactietijd van dagen naar minuten. De Transactieoplossing is sneller omdat er geen verificatie door een centrale autoriteit nodig is.
- Rendabel: Blockchain Transacties minder handling. Deelnemers kunnen items van waarde direct uitwisselen. Blockchain verwijdert duplicatie van inspanning omdat deelnemers toegang hebben tot een gedeelde grootboek.
- Verhoog de beveiliging: Blockchain's beveiligingsbescherming tegen fraude en cybercriminaliteit.
Uitdagingen bij Blockchain-testen
- De technologie begrijpen– Blockchain is een nieuwe technologie en het begrijpen van de technologie met domeinkennis is erg belangrijk bij het testen van Blockchain-applicaties
- Gebrek aan blockchain-testtools– Bij het testen van op blockchain gebaseerde applicaties draait alles om tools. Het selecteren van het juiste gereedschap per toepassing is een van de belangrijke beslissingen.
- Teststrategie definiëren– Zoals elke applicatie, het ontwerpen van een teststrategie voor de Blockchain-applicatie. Het is een van de grootste uitdagingen omdat Teststrategie diepgaande kennis en begrip van de technologie en toepassing vereist.
- Blok- en kettinggrootte– Naast standaard testen, tools en de bestaande best practices, is testen op blokgrootte en ketengrootte ook belangrijk. Blockchain-applicaties kunnen mislukken zonder de juiste validatie van de blokgrootte en ketengrootte.
- Integratietesten– Omdat er meerdere componenten bij de Blockchain-applicatie betrokken zijn, moeten integratietests goed en regelmatig worden uitgevoerd om te testen of alle componenten correct zijn geïntegreerd om eventuele fouten te voorkomen.
- Prestaties en belasting-Het niet testen op prestaties en belastingtesten geeft weinig tot geen inzicht in hoe de Blockchain-applicatie presteert in zowel productie als onder specifieke werklasten en netwerkomstandigheden.
- Security– Het beveiligen van de gegevens zou het belangrijkste moeten zijn in de Blockchain-applicatie. Blockchain kan deel uitmaken van verschillende sectoren, zoals gezondheidszorg, financiën, enz. Elk type kwaadwillige aanval kan invloed hebben op de Blockchain-applicatie
Fasen van Blockchain-testen
Initiatiefase:
- Blockchain begrijpen Architectuur: In deze fase begrijpen en analyseren we de zakelijke en functionele vereisten. Dit beschrijft het gedrag van de applicatie en hoe de gebruiker met de applicatie zal communiceren
- Ontwerp van volledige teststrategieën: Tijdens deze fase beschrijven we de testaanpak voor het testen van een applicatie. Dit moet gedetailleerd gebeuren, zodat elke doelstelling volledig wordt gedekt.
Ontwerpfase:
- Creatie van testcases: In deze fase schrijft het QA-team de testgevallen met de juiste stappen. Deze testcases worden beoordeeld door Business Analyst (BA).
- Creëren van testgegevens: In deze fase worden testgegevens gecreëerd of geëxtraheerd uit de vorige omgeving op basis van de bedrijfsvereisten. Testgegevens kunnen handmatig worden aangemaakt of met behulp van automatiseringstools.
- Omgeving instellen: In deze stap wordt de testomgeving geconfigureerd naar behoefte voor Business of applicatie
- Prestatiestatistieken: Prestatiestatistieken vertegenwoordigen de informatie in termen van prestaties van de applicatie, het systeem of de componenten
Testfase:
- API-testen:Bij API-testen zorgen we ervoor dat de interactie tussen applicaties in het blockchain-ecosysteem verloopt zoals verwacht
- Blok testen:Alle blokken in het netwerk moeten individueel worden getest om een goede samenwerking te garanderen.
- Functioneel testen: Bij Functioneel testen evalueren we het werk van verschillende functionele delen van de Blockchain (bijvoorbeeld slimme contracten).
- Performance Testing: Details zoals netwerklatentie op basis van blokformaat, netwerkgrootte, verwachte transactiegrootte en hoe lang een query nodig heeft om de uitvoer te retourneren met het gespecialiseerde authenticatieprotocol
- Beveiligingstests: Hierbij zorgen we ervoor dat de applicatie kwetsbaar is voor aanvallen en dat systemen de gegevens kunnen beschermen en in staat zijn om kwaadaardige aanvallen etc. af te handelen.
- Integratietesten: Bij Integratietesten zorgen we ervoor dat alle componenten van de applicatie goed zijn geïntegreerd en de acties op de juiste manier uitvoeren
- Slimme contracttesten: Smart Contract-testen gaat over het uitvoeren van gedetailleerde functionele tests van bedrijfslogica en -processen.
Rapportfase:
- Projectsamenvattingsrapport: Beschrijf het algemene overzicht van projectdetails, projectdata, kosten en taakdetails
- Smart Contract-testrapport: Dit rapport beschrijft de details van slimme contracten, gegevens en regelsverwerking
- Beveiligingstestrapport: Toont kwetsbare informatie in een formeel document voor de klant en het hoger management. Het rapport bevat de testdatum, testgegevens en een samenvatting van de gevonden kwetsbaarheden
- prestatietestrapport: Dit rapport toont de details over de prestaties van applicaties, zoals snelheid, schaalbaarheid, betrouwbaarheid, enz.
Belangrijkste testtypen voor Blockchain-applicatie
Functioneel testen
Functioneel testen speelt een belangrijke rol bij Blockchain-testen omdat het helpt bij het evalueren van zakelijke vereisten, processen en effectiviteit van gebruiksscenario's. Hieronder staan de componenten die kunnen worden getest als onderdeel van functioneel testen: 1) Blokgrootte en ketengrootte 2) Een blok toevoegen 3) Gegevens Transmission
Integratietesten
Blockchain-applicatie werkt in meerdere omgevingen. Het is dus belangrijk om verbindingen tussen systemen te testen
Prestatietesten:
Het helpt bij het vooraf identificeren van hardware- en softwareknelpunten. Dit kan u ook helpen de potentiële kosten te berekenen van het uitvoeren van de applicatie in de cloud of andere omgevingen.
Knooppunt testen
Alle verschillende knooppunten in het netwerk moeten onafhankelijk van elkaar worden getest om een soepele samenwerking te garanderen.
API-testen:
Application Programming Interface test de interactie tussen applicaties in het blockchain-ecosysteem. API Testing zorgt ervoor dat verzoeken en reacties correct worden geformatteerd en uitgevoerd.
Blockchain-testtools
Hier zijn enkele geïmporteerde Blockchain-testtools:
1)Ethereum Test:
Het is een open-source testbibliotheek die beschikbaar is op de GitHub-repository. Het is gemakkelijk in te stellen met beheersbare API-ondersteuning voor verschillende testvereisten.
2) Ganache:
Het is eerder bekend als Testrpc, is de veelgebruikte bibliotheek voor testen Ethereum contracteert lokaal. Het werkt door een soort nep op te wekken Blockchain die u toegang geeft tot accounts waarvoor u deze kunt gebruiken Test.
3) Hyperledger-componist:
Hyperledger Composer is een open-sourcetool die ontwikkelaars helpt blockchaintoepassingen te bouwen. Met deze tool kunnen we voornamelijk drie soorten testen uitvoeren: interactieve testen, geautomatiseerde unittesten en systeemtesten. Als u geïnteresseerd bent in het leren bouwen van blockchaintoepassingen en het werken met tools zoals Hyperledger Composer, bekijk dan deze gids op hoe je een blockchain-ontwikkelaar kunt worden om uw reis op dit opwindende gebied een kickstart te geven.