Tutoriel de test de blockchain

Table des matières:

Anonim

Qu'est-ce que la blockchain?

Blockchain est un magasin de bases de données partagées, une liste d'enregistrements en constante augmentation, appelée blocs. Chaque bloc contient un hachage du bloc précédent et un horodatage.

Dans ce tutoriel, vous apprendrez:

  • Qu'est-ce que la blockchain?
  • Les fonctionnalités de Blockchain comprennent
  • Type de blockchain
  • Principaux composants d'une blockchain
  • Avantages de la blockchain
  • Défis du test de la blockchain
  • Phases du test de la blockchain 7
  • Types de tests clés sur l'application Blockchain 10
  • Outils de test de la blockchain 10

Les fonctionnalités de Blockchain comprennent

  • Système décentralisé : utile dans diverses industries telles que la finance, l'immobilier, etc.
  • Meilleure sécurité : utilise plusieurs nœuds pour terminer et authentifier les transactions
  • Authenticité : permet à l'algorithme unique de traiter les données
  • Augmentation de la capacité : augmente la capacité de l'ensemble du réseau

Type de blockchain

Voici trois types de Blockchain:

Blockchain du consortium:

Plusieurs organisations auront accès et autorité sur le réseau. C'est un système entièrement décentralisé

Blockchain publique:

Dans ce type de test de blockchain, tout le monde a accès au réseau et peut participer à Consensus. Son système décentralisé.

Blockchain privée:

Seules les organisations uniques auront accès et autorité sur le réseau. C'est un système partiellement décentralisé.

Publique Privé Consortium
Accéder
  • Personne
  • Organisation unique
  • Organisation multiple
Les participants
  • Sans permission
  • Anonyme
  • Autorisé
  • Identités connues
  • Autorisé
  • Identités connues
Sécurité
  • Mécanisme de consensus
  • Preuve de travail / Preuve de pile
  • Participants pré-approuvés
  • Vote / Consensus multipartite
  • Participants pré-approuvés
  • Vote / Consensus multipartite
Vitesse de transaction
  • Lent
  • Plus léger et plus rapide
  • Plus léger et plus rapide

Principaux composants d'une blockchain

Application de nœud

Chaque Node doit installer et exécuter une application informatique définitive à l'écosystème auquel il souhaite participer

Grand livre partagé

Une structure de données (ledger) est gérée à l'intérieur de l'application de noeud. Le contenu de l'écosystème peut être consulté une fois que l'application de nœud est en cours d'exécution.

Algorithme de consensus

L'algorithme de consensus est implémenté dans le cadre de l'application de nœud, fournissant les «règles du jeu» sur la façon dont l'écosystème arrivera à une vue unique du grand livre.

Machine virtuelle

Abstraction d'une machine fonctionnant avec des instructions et mise en œuvre dans le cadre de l'application de nœud que chaque participant de l'écosystème exécute.

Comment fonctionne la blockchain?

Avantages de la blockchain

  • Gain de temps : la blockchain réduit le temps de transaction de quelques jours à quelques minutes. La solution Transaction est plus rapide car elle n'exige pas de vérification par une autorité centrale.
  • Rentable : les transactions Blockchain moins de traitement. Les participants peuvent échanger directement des objets de valeur. La blockchain supprime la duplication des efforts car les participants ont accès à un registre partagé.
  • Augmenter la sécurité : la protection de sécurité de Blockchain contre la fraude et la cybercriminalité.

Défis du test de la blockchain

  • Comprendre la technologie - La blockchain est une nouvelle technologie et la compréhension de la technologie avec une connaissance du domaine est très importante pour tester l'application Blockchain
  • Manque d'outils de test de la blockchain - Les tests d'applications basés sur la blockchain sont une question d'outils. La sélection du bon outil selon l'application est l'une des décisions importantes.
  • Définition de la stratégie de test - Comme toute application, conception de la stratégie de test pour l'application Blockchain. C'est l'un des plus grands défis car la stratégie de test exige une connaissance et une compréhension approfondies de la technologie et de l'application.
  • Taille de bloc et de chaîne - Outre les tests standard, les outils et les meilleures pratiques en place, les tests de taille de bloc et de taille de chaîne sont également importants. Les applications blockchain peuvent échouer sans une validation appropriée de la taille du bloc et de la taille de la chaîne.
  • Test d'intégration - Étant donné que l'application Blockchain comporte plusieurs composants, les tests d'intégration doivent être effectués correctement et fréquemment pour vérifier que tous les composants sont correctement intégrés afin d'éviter toute défaillance.
  • Performances et charge - Le fait de ne pas tester les performances et les tests de charge donne peu ou pas d'informations sur les performances de l'application Blockchain en production ainsi que dans des charges de travail et des conditions de réseau spécifiques.
  • Sécurité - La sécurisation des données devrait être le plus important dans l'application Blockchain. La blockchain peut faire partie de divers secteurs comme la santé, la finance, etc. tout type d'attaques malveillantes peut avoir un impact sur l'application Blockchain

Phases du test de la blockchain

Phase d'initiation:

  • Comprendre l'architecture de la blockchain : dans cette phase, nous comprenons et analysons les exigences commerciales et fonctionnelles. Ceci décrit le comportement de l'application et comment l'utilisateur interagira avec l'application
  • Conception d'une stratégie de test complète : au cours de cette phase, nous décrivons l'approche de test pour tester une application. Cela devrait être fait en détail afin que chaque objectif soit entièrement couvert.

Phase de conception:

  • Création de cas de test : dans cette phase, l'équipe QA écrit les cas de test avec les étapes appropriées. Ces tests sont examinés par Business Analyst (BA).
  • Création de données de test : dans cette phase, les données de test sont créées ou extraites de l'environnement précédent en fonction des besoins de l'entreprise. Les données de test peuvent être créées manuellement ou à l'aide d'outils d'automatisation.
  • Configuration de l'environnement : dans cette étape, l'environnement de test est configuré en tant que besoin d'entreprise ou d'application
  • Mesures de performance : les mesures de performance représentent les informations en termes de performances de l'application, du système ou des composants

Phase de test:

  • Test d'API : dans les tests d'API, nous nous assurons que l'interaction entre les applications dans l'écosystème blockchain est comme prévu
  • Test de bloc : tous les blocs du réseau doivent être testés individuellement pour garantir une coopération adéquate.
  • Tests fonctionnels : dans les tests fonctionnels, nous évaluons le travail de diverses parties fonctionnelles de la Blockchain (par exemple, les contrats intelligents).
  • Test de performance : Détails tels que la latence du réseau en fonction de la taille du bloc, de la taille du réseau, de la taille de transaction attendue et du temps nécessaire à une requête pour renvoyer la sortie avec le protocole d'authentification spécialisé
  • Test de sécurité : en cela, nous nous assurons que l'application est vulnérable aux attaques et que les systèmes peuvent protéger les données et sont capables de gérer des attaques malveillantes, etc.
  • Tests d'intégration : dans les tests d'intégration, nous nous assurons que tous les composants de l'application sont correctement intégrés et effectuons les actions de manière appropriée
  • Test de contrat intelligent : le test de contrat intelligent consiste à effectuer des tests fonctionnels détaillés de la logique et des processus métier.

Phase de rapport:

  • Rapport récapitulatif du projet : décrivez l'aperçu général des détails du projet, les dates, le coût et les détails de la tâche
  • Rapport de test des contrats intelligents : ce rapport décrit les détails du traitement des contrats intelligents, des données et des règles.
  • Rapport de test de sécurité : affiche les informations vulnérables dans un document formel pour le client et la direction supérieure. Le rapport contient la date du test, les données de test et le résumé des vulnérabilités trouvées
  • Rapport de test de performance : ce rapport montre les détails concernant les performances des applications telles que la vitesse, l'évolutivité, la fiabilité, etc.

Types de tests clés sur l'application Blockchain

Test fonctionel

Les tests fonctionnels jouent un rôle important dans les tests de blockchain car ils aident à évaluer les exigences commerciales, les processus et l'efficacité des cas d'utilisation. Vous trouverez ci-dessous les composants qui peuvent être testés dans le cadre des tests fonctionnels: 1) Taille de bloc et taille de chaîne 2) Ajout d'un bloc 3) Transmission de données

Test d'intégration

L'application Blockchain fonctionne dans plusieurs environnements. Il est donc important de tester les connexions inter-systèmes

Test de performance:

Il aide à identifier à l'avance les goulots d'étranglement matériels et logiciels. Cela peut également vous aider à déterminer les coûts potentiels liés à l'exécution de l'application dans le cloud ou dans d'autres environnements.

Test des nœuds

Tous les différents nœuds du réseau doivent être testés indépendamment pour garantir une coopération harmonieuse.

Test API:

L'interface de programmation d'application teste l'interaction entre les applications dans l'écosystème blockchain. Les tests API garantissent que les demandes et les réponses sont formatées et fonctionnent correctement.

Outils de test de la blockchain

Voici quelques outils de test d'importation de la blockchain:

1) Testeur Ethereum:

Il s'agit d'une bibliothèque de test open source disponible sur le dépôt GitHub. Il est facile à configurer avec un support API gérable pour diverses exigences de test.

2) Ganache:

Il est auparavant connu sous le nom de Testrpc , est la bibliothèque largement utilisée pour tester les contrats Ethereum localement. Il fonctionne en faisant tourner une sorte de maquette B lockchain qui vous donne accès aux comptes que vous pouvez utiliser pour T Esting.

3) Hyperledger Composer:

Hyperledger Composer est un outil open source qui aide les développeurs à créer des applications blockchain. En utilisant cet outil, nous pouvons effectuer principalement trois types de tests: les tests interactifs, les tests unitaires automatisés et les tests système.

Cet article est rédigé par Suman Dass.