Φροντιστήριο Blockchain Testing

Τι είναι το Blockchain;

Το Blockchain είναι μια κοινόχρηστη βάση δεδομένων που διατηρεί συνεχώς αυξανόμενη λίστα εγγραφών, που ονομάζονται μπλοκ. Κάθε μπλοκ περιέχει έναν κατακερματισμό του προηγούμενου μπλοκ και μια χρονική σήμανση.

Σε αυτό το σεμινάριο, θα μάθετε:

Τα χαρακτηριστικά του Blockchain περιλαμβάνουν

  • Αποκεντρωμένο Σύστημα: Επωφελής σε διάφορους κλάδους όπως χρηματοοικονομικά, ακίνητα κ.λπ.
  • Καλύτερη ασφάλεια: Χρησιμοποιεί πολλούς κόμβους για την ολοκλήρωση και τον έλεγχο ταυτότητας συναλλαγών
  • Αυθεντικότητα: Επιτρέπει στον μοναδικό αλγόριθμο την επεξεργασία δεδομένων
  • Αυξημένη Ικανότητα: Αυξάνει τη χωρητικότητα ολόκληρου του Δικτύου

Τύπος Blockchain

Ακολουθούν τρεις τύποι Blockchain:

Κοινοπραξία Blockchain:

Πολλοί οργανισμοί θα έχουν πρόσβαση και εξουσία στο Δίκτυο. Είναι πλήρως αποκεντρωμένο σύστημα

Δημόσια αλυσίδα μπλοκ:

Σε αυτόν τον τύπο δοκιμών blockchain, όλοι έχουν πρόσβαση στο Δίκτυο και μπορούν να λάβουν μέρος στο Consensus. Το Αποκεντρωμένο Σύστημά της.

Ιδιωτικό Blockchain:

Μόνο μεμονωμένοι οργανισμοί θα έχουν πρόσβαση και εξουσία στο Δίκτυο. Είναι ένα μερικώς αποκεντρωμένο σύστημα.

Δημόσιο Private Κοινοπραξία
πρόσβαση
  • Κάποιος
  • Ενιαία οργάνωση
  • Πολλαπλή οργάνωση
συμμετέχοντες
  • Άδεια
  • ανώνυμος
  • Επιτρέπεται
  • Γνωστές Ταυτότητες
  • Επιτρέπεται
  • Γνωστές Ταυτότητες
Ασφάλεια
  • Μηχανισμός συναίνεσης
  • Απόδειξη Εργασίας/Απόδειξη Στοίβας
  • Προεγκεκριμένοι συμμετέχοντες
  • Ψηφοφορία/πολυκομματική συναίνεση
  • Προεγκεκριμένοι συμμετέχοντες
  • Ψηφοφορία/πολυκομματική συναίνεση
Ταχύτητα συναλλαγής
  • Αργά
  • Πιο ελαφρύ και πιο γρήγορο
  • Πιο ελαφρύ και πιο γρήγορο

Κύρια συστατικά μιας blockchain

Εφαρμογή κόμβου

Κάθε Κόμβος πρέπει να εγκαταστήσει και να εκτελέσει μια εφαρμογή υπολογιστή οριστική για το οικοσύστημα στο οποίο επιθυμεί να συμμετάσχει

Shared Ledger

Η διαχείριση μιας δομής δεδομένων (καθολικό) γίνεται μέσα στην εφαρμογή κόμβου. Τα περιεχόμενα για το οικοσύστημα μπορούν να προβληθούν όταν η εφαρμογή κόμβου βρίσκεται σε κατάσταση λειτουργίας.

Αλγόριθμος συναίνεσης

Ο συναινετικός αλγόριθμος υλοποιείται ως μέρος της εφαρμογής κόμβου, παρέχοντας τους «κανόνες του παιχνιδιού» για το πώς το οικοσύστημα θα φτάσει σε μια ενιαία προβολή του καθολικού.

Εικονική μηχανή

Αφαίρεση μιας μηχανής που λειτουργεί με οδηγίες και υλοποιείται ως μέρος της εφαρμογής κόμβου που εκτελεί κάθε συμμετέχων στο οικοσύστημα.

Πώς λειτουργεί το Blockchain;

Πλεονεκτήματα του Blockchain

  • Εξοικονόμηση χρόνου: Το Blockchain μειώνει τον χρόνο συναλλαγής από ημέρες σε λεπτά. Η λύση Συναλλαγής είναι ταχύτερη επειδή δεν απαιτεί επαλήθευση από μια κεντρική αρχή.
  • Αποδοτική: Συναλλαγές Blockchain λιγότερο χειρισμός. Οι συμμετέχοντες μπορούν να ανταλλάξουν απευθείας αντικείμενα αξίας. Το Blockchain καταργεί τη διπλή προσπάθεια επειδή οι συμμετέχοντες έχουν πρόσβαση σε ένα κοινό καθολικό.
  • Αυξήστε την ασφάλεια: Προστασία ασφαλείας του Blockchain έναντι απάτης και εγκλήματος στον κυβερνοχώρο.

Προκλήσεις στη δοκιμή Blockchain

  • Κατανόηση της Τεχνολογίας– Το Blockchain είναι μια νέα τεχνολογία και η κατανόηση της τεχνολογίας με γνώσεις τομέα είναι πολύ σημαντική για τη δοκιμή της εφαρμογής Blockchain
  • Έλλειψη εργαλείων δοκιμής Blockchain– Η δοκιμή εφαρμογών που βασίζονται σε blockchain έχει να κάνει με εργαλεία. Η επιλογή του σωστού εργαλείου σύμφωνα με την εφαρμογή είναι μία από τις σημαντικές αποφάσεις.
  • Καθορισμός στρατηγικής δοκιμής– Όπως κάθε εφαρμογή, σχεδιάζοντας Test Strategy for Blockchain εφαρμογή. Είναι μια από τις μεγαλύτερες προκλήσεις καθώς η Στρατηγική Δοκιμών απαιτεί εις βάθος γνώση και κατανόηση της τεχνολογίας και της εφαρμογής.
  • Μέγεθος μπλοκ και αλυσίδας– Μαζί με τις τυπικές δοκιμές, τα εργαλεία και τις βέλτιστες πρακτικές που υπάρχουν, η δοκιμή για το μέγεθος του μπλοκ και το μέγεθος της αλυσίδας είναι επίσης σημαντική. Οι εφαρμογές blockchain ενδέχεται να αποτύχουν χωρίς την κατάλληλη επικύρωση του μεγέθους του μπλοκ και του μεγέθους της αλυσίδας.
  • Δοκιμή ολοκλήρωσης– Καθώς υπάρχουν πολλά στοιχεία που εμπλέκονται στην εφαρμογή Blockchain, οι δοκιμές ενοποίησης θα πρέπει να γίνονται σωστά και συχνά για να ελέγχεται ότι όλα τα στοιχεία είναι σωστά ενσωματωμένα για να αποφευχθούν τυχόν αστοχίες.
  • Απόδοση και Φορτίο-Η αποτυχία δοκιμής για επιδόσεις και δοκιμές φορτίου δίνει ελάχιστη ή καθόλου εικόνα για το πώς αποδίδει η εφαρμογή Blockchain τόσο στην παραγωγή όσο και σε συγκεκριμένους φόρτους εργασίας και συνθήκες δικτύου.
  • Ασφάλεια– Η ασφάλεια των δεδομένων θα πρέπει να είναι το πιο σημαντικό στην Εφαρμογή Blockchain. Το Blockchain μπορεί να είναι μέρος διαφόρων τομέων όπως η υγεία, τα οικονομικά κ.λπ. κάθε είδους κακόβουλες επιθέσεις μπορεί να επηρεάσει την εφαρμογή Blockchain

Φάσεις δοκιμής Blockchain

Φάση Έναρξης:

  • Κατανόηση του Blockchain Archiδομή: Σε αυτή τη φάση, κατανοούμε και αναλύουμε τις Επιχειρηματικές και λειτουργικές απαιτήσεις. Αυτό περιγράφει τη συμπεριφορά της εφαρμογής και τον τρόπο με τον οποίο ο χρήστης θα αλληλεπιδράσει με την εφαρμογή
  • Σχεδιασμός Στρατηγικής Πλήρους Δοκιμής: Κατά τη διάρκεια αυτής της φάσης, περιγράφουμε τη δοκιμαστική προσέγγιση για τη δοκιμή μιας εφαρμογής. Αυτό θα πρέπει να γίνει με λεπτομέρεια ώστε κάθε στόχος να καλύπτεται πλήρως.

Φάση σχεδίασης:

  • Δημιουργία δοκιμαστικής υπόθεσης: Σε αυτή τη φάση, η ομάδα QA γράφει τις δοκιμαστικές περιπτώσεις με τα κατάλληλα βήματα. Αυτές οι δοκιμαστικές περιπτώσεις εξετάζονται από τον Business Analyst(BA).
  • Δημιουργία δεδομένων δοκιμής: Σε αυτή τη φάση, τα δεδομένα δοκιμής δημιουργούνται ή εξάγονται από το προηγούμενο περιβάλλον σε σχέση με τις επιχειρηματικές απαιτήσεις. Τα δεδομένα δοκιμής μπορούν να δημιουργηθούν χειροκίνητα ή χρησιμοποιώντας εργαλεία αυτοματισμού.
  • Ρύθμιση περιβάλλοντος: Σε αυτό το βήμα, το περιβάλλον δοκιμής διαμορφώνεται ως ανάγκη για Business ή εφαρμογή
  • Μετρήσεις απόδοσης: Οι μετρήσεις απόδοσης αντιπροσωπεύουν τις πληροφορίες όσον αφορά την απόδοση της εφαρμογής, του συστήματος ή των στοιχείων

Φάση δοκιμής:

  • Δοκιμή API: Στη δοκιμή API, διασφαλίζουμε ότι η αλληλεπίδραση μεταξύ των εφαρμογών στο οικοσύστημα blockchain είναι η αναμενόμενη
  • Δοκιμή μπλοκ: Όλα τα μπλοκ στο Δίκτυο θα πρέπει να ελέγχονται ξεχωριστά για να διασφαλιστεί η σωστή συνεργασία.
  • Λειτουργική δοκιμή: Στο Functional Testing, αξιολογούμε την εργασία διαφόρων λειτουργικών τμημάτων του Blockchain (π.χ. έξυπνα συμβόλαια).
  • Δοκιμές Απόδοσης: Λεπτομέρειες όπως η καθυστέρηση δικτύου με βάση το μέγεθος του μπλοκ, το μέγεθος του δικτύου, το αναμενόμενο μέγεθος συναλλαγής και τον χρόνο που χρειάζεται ένα ερώτημα για να επιστρέψει την έξοδο με το εξειδικευμένο πρωτόκολλο ελέγχου ταυτότητας
  • Δοκιμή ασφαλείας: Σε αυτό, διασφαλίζουμε ότι η εφαρμογή είναι ευάλωτη σε επιθέσεις και ότι το Systems μπορεί να προστατεύσει τα δεδομένα και είναι ικανό να χειρίζεται κακόβουλες επιθέσεις κ.λπ.
  • Δοκιμή ολοκλήρωσης: Στη δοκιμή ενσωμάτωσης, διασφαλίζουμε ότι όλα τα στοιχεία της εφαρμογής είναι ενσωματωμένα σωστά και εκτελούν τις ενέργειες κατάλληλα
  • Έξυπνη δοκιμή συμβολαίου: Η δοκιμή Smart Contract αφορά τη διεξαγωγή λεπτομερών λειτουργικών δοκιμών της επιχειρηματικής λογικής και διαδικασίας.

Φάση αναφοράς:

  • Συνοπτική Έκθεση Έργου: Περιγράψτε τη συνολική επισκόπηση των λεπτομερειών του έργου, των ημερομηνιών έργου, του κόστους και των λεπτομερειών εργασίας
  • Έξυπνη έκθεση δοκιμής συμβολαίου: Αυτή η αναφορά περιγράφει τις λεπτομέρειες της επεξεργασίας έξυπνων συμβολαίων, δεδομένων και κανόνων
  • Έκθεση δοκιμών ασφαλείας: Εμφανίζει ευάλωτες πληροφορίες σε ένα επίσημο έγγραφο για τον πελάτη και την ανώτερη διοίκηση. Η αναφορά περιέχει την ημερομηνία της δοκιμής, τα δεδομένα δοκιμών και τη Σύνοψη των ευπαθειών που εντοπίστηκαν
  • Έκθεση δοκιμής απόδοσης: Αυτή η αναφορά δείχνει τις λεπτομέρειες σχετικά με την απόδοση εφαρμογών όπως η ταχύτητα, η επεκτασιμότητα, η αξιοπιστία κ.λπ.

Βασικοί τύποι δοκιμών στην εφαρμογή Blockchain

Λειτουργική δοκιμή

Το Functional Testing παίζει σημαντικό ρόλο στο Blockchain Testing καθώς βοηθά στην αξιολόγηση των επιχειρηματικών απαιτήσεων, των διαδικασιών και της αποτελεσματικότητας των περιπτώσεων χρήσης. Ακολουθούν τα στοιχεία που μπορούν να ελεγχθούν ως μέρος της λειτουργικής δοκιμής: 1) Μέγεθος μπλοκ και μέγεθος αλυσίδας 2) Προσθήκη μπλοκ 3) δεδομένα Transmission

Δοκιμή ολοκλήρωσης

Η εφαρμογή Blockchain λειτουργεί σε πολλαπλά περιβάλλοντα. Επομένως, είναι σημαντικό να δοκιμάσετε τις συνδέσεις μεταξύ των συστημάτων

Δοκιμή απόδοσης:

Βοηθά στον εντοπισμό των σημείων συμφόρησης υλικού και λογισμικού εκ των προτέρων. Αυτό μπορεί επίσης να σας βοηθήσει να υπολογίσετε το πιθανό κόστος λειτουργίας της εφαρμογής στο cloud ή σε άλλα περιβάλλοντα.

Δοκιμή κόμβων

Όλοι οι διαφορετικοί κόμβοι στο Δίκτυο πρέπει να ελέγχονται ανεξάρτητα για να διασφαλιστεί η ομαλή συνεργασία.

Δοκιμή API:

Η διεπαφή προγραμματισμού εφαρμογών ελέγχει την αλληλεπίδραση μεταξύ των εφαρμογών στο οικοσύστημα της αλυσίδας μπλοκ. Η δοκιμή API διασφαλίζει ότι τα αιτήματα και οι απαντήσεις μορφοποιούνται και λειτουργούν σωστά.

Εργαλεία δοκιμής Blockchain

Εδώ, είναι μερικά εργαλεία εισαγωγής Blockchain Testing:

1)Ethereum Δοκιμή:

Είναι μια βιβλιοθήκη δοκιμών ανοιχτού κώδικα διαθέσιμη στο αποθετήριο GitHub. Είναι εύκολο στη ρύθμιση με διαχειρίσιμη υποστήριξη API για διάφορες απαιτήσεις δοκιμών.

2) Ganache:

Είναι παλαιότερα γνωστό ως Testrpc, είναι η ευρέως χρησιμοποιούμενη βιβλιοθήκη για δοκιμές Ethereum συμβάσεις σε τοπικό επίπεδο. Λειτουργεί περιστρέφοντας ένα είδος κοροϊδίας Blockchain που σας δίνει πρόσβαση σε λογαριασμούς για τους οποίους μπορείτε να χρησιμοποιήσετε Tεκτίμηση.

3) Συνθέτης Hyperledger:

Το Hyperledger Composer είναι ένα εργαλείο ανοιχτού κώδικα που βοηθά τους προγραμματιστές να δημιουργήσουν εφαρμογές blockchain. Χρησιμοποιώντας αυτό το εργαλείο, μπορούμε να εκτελέσουμε κυρίως τρεις τύπους δοκιμών: διαδραστική δοκιμή, αυτοματοποιημένη μονάδα και δοκιμή συστήματος. Εάν ενδιαφέρεστε να μάθετε πώς να δημιουργείτε εφαρμογές blockchain και να εργάζεστε με εργαλεία όπως το Hyperledger Composer, ρίξτε μια ματιά σε αυτόν τον οδηγό για πώς να γίνετε προγραμματιστής blockchain για να ξεκινήσετε το ταξίδι σας σε αυτό το συναρπαστικό πεδίο.