Tutorial de testare blockchain

Cuprins:

Anonim

Ce este Blockchain?

Blockchain este un magazin de baze de date partajate care crește continuu lista de înregistrări, numite blocuri. Fiecare bloc conține un hash al blocului anterior și un timestamp.

În acest tutorial, veți învăța:

  • Ce este Blockchain?
  • Caracteristicile Blockchain includ
  • Tipul Blockchain
  • Componentele principale ale unui blockchain
  • Avantajele Blockchain
  • Provocări în testarea Blockchain
  • Etapele testării blockchainului 7
  • Tipuri cheie de testare în aplicația Blockchain 10
  • Instrumente de testare blockchain 10

Caracteristicile Blockchain includ

  • Sistem descentralizat : Benefic în diverse industrii, cum ar fi finanțele, imobiliarele etc.
  • Securitate mai bună : folosește mai multe noduri pentru a finaliza și autentifica tranzacțiile
  • Autenticitate : permite algoritmului unic să proceseze date
  • Capacitate mărită : mărește capacitatea întregii rețele

Tipul Blockchain

Iată trei tipuri de Blockchain:

Consorțiul Blockchain:

Mai multe organizații vor avea acces și autoritate asupra Rețelei. Este un sistem complet descentralizat

Blockchain public:

În acest tip de testare blockchain, toată lumea are acces la rețea și poate participa la Consensus. Sistemul său descentralizat.

Blockchain privat:

Doar organizațiile unice vor avea acces și autoritate asupra Rețelei. Este un sistem parțial descentralizat.

Public Privat Consorţiu
Acces
  • Oricine
  • Organizație unică
  • Organizare multiplă
Participanți
  • Fara Permisiuni
  • Anonim
  • Permis
  • Identități cunoscute
  • Permis
  • Identități cunoscute
Securitate
  • Mecanism de consens
  • Dovada muncii / Dovada stivei
  • Participanți pre-aprobați
  • Consens de vot / multipartit
  • Participanți pre-aprobați
  • Consens de vot / multipartit
Viteza tranzacției
  • Încet
  • Mai ușor și mai rapid
  • Mai ușor și mai rapid

Componentele principale ale unui blockchain

Aplicația nodului

Fiecare nod trebuie să instaleze și să ruleze o aplicație computerizată definitivă la ecosistemul la care doresc să participe

Regizor comun

O structură de date (registru) este gestionată în interiorul aplicației nod. Conținutul ecosistemului poate fi vizualizat odată ce aplicația nodului este în stare de rulare.

Algoritmul de consens

Algoritmul consensului este implementat ca parte a aplicației nodului, oferind „regulile jocului” pentru modul în care ecosistemul va ajunge la o singură vizualizare a registrului.

Mașină virtuală

Abstracția unei mașini funcționată cu instrucțiuni și implementată ca parte a aplicației nodului pe care fiecare participant m rulează ecosistemul.

Cum funcționează Blockchain?

Avantajele Blockchain

  • Economisire de timp : Blockchain reduce timpul tranzacției de la zile la minute. Soluția de tranzacție este mai rapidă, deoarece nu solicită verificarea de către o autoritate centrală.
  • Cost-eficient : tranzacții blockchain mai puțin manipulate. Participanții pot face schimb direct de elemente de valoare. Blockchain elimină duplicarea eforturilor, deoarece participanții au acces la un registru comun.
  • Creșteți securitatea : protecția securității Blockchain împotriva fraudei și criminalității informatice.

Provocări în testarea Blockchain

  • Înțelegerea tehnologiei - Blockchain este o tehnologie nouă și înțelegerea tehnologiei cu cunoștințe de domeniu este foarte importantă în testarea aplicației Blockchain
  • Lipsa instrumentelor de testare Blockchain - Testarea aplicațiilor bazate pe blockchain se referă la instrumente. Selectarea instrumentului potrivit conform aplicației este una dintre deciziile importante.
  • Definirea strategiei de testare - Ca orice aplicație, proiectarea strategiei de testare pentru aplicația Blockchain. Este una dintre cele mai mari provocări, deoarece Strategia de testare necesită cunoștințe aprofundate și înțelegere a tehnologiei și aplicației.
  • Dimensiunea blocului și a lanțului - Împreună cu testarea standard, instrumentele și cele mai bune practici existente, este importantă și testarea dimensiunii blocului și a dimensiunii lanțului. Aplicațiile blockchain pot eșua fără validarea corespunzătoare a dimensiunii blocului și a dimensiunii lanțului.
  • Testarea integrării - Deoarece există mai multe componente implicate în aplicația Blockchain, testarea integrării ar trebui să fie efectuată corect și frecvent pentru a testa dacă toate componentele sunt integrate corect pentru a evita orice defecțiuni.
  • Performanță și încărcare - Eșecul testării performanței și testării încărcării nu oferă o perspectivă mică sau deloc despre cum funcționează aplicația Blockchain atât în ​​producție, cât și în sarcini de lucru specifice și condiții de rețea.
  • Securitate - Securizarea datelor ar trebui să fie cea mai importantă din aplicația Blockchain. Blockchain poate face parte din diverse sectoare, cum ar fi sănătatea, finanțele etc. Orice tip de atacuri rău intenționate poate avea impact asupra aplicației Blockchain

Fazele testării Blockchain

Faza de inițiere:

  • Înțelegerea arhitecturii Blockchain : În această fază, înțelegem și analizăm cerințele funcționale și de afaceri. Aceasta descrie comportamentul aplicației și modul în care utilizatorul va interacționa cu aplicația
  • Proiectarea strategiei de testare completă : În această fază, descriem abordarea de testare pentru testarea unei aplicații. Acest lucru trebuie făcut în detaliu, astfel încât fiecare obiectiv să fie acoperit pe deplin.

Fază de proiectare:

  • Crearea cazului de testare : În această fază, echipa QA scrie cazurile de testare cu pașii corespunzători. Aceste teste sunt revizuite de Business Analyst (BA).
  • Crearea datelor de testare : în această fază, datele de testare sunt create sau extrase din mediul anterior în funcție de cerințele companiei. Datele de testare pot fi create manual sau folosind instrumente de automatizare.
  • Configurarea mediului : În acest pas, mediul de testare este configurat ca necesitate pentru afaceri sau aplicație
  • Măsuri de performanță : Măsurile de performanță reprezintă informațiile în ceea ce privește performanța aplicației, a sistemului sau a componentelor

Faza de testare:

  • Testarea API : în testarea API, ne asigurăm că interacțiunea dintre aplicații din ecosistemul blockchain este așa cum era de așteptat
  • Testarea blocurilor: toate blocurile din rețea ar trebui testate individual pentru a asigura o cooperare adecvată.
  • Testarea funcțională : în testarea funcțională, evaluăm activitatea diferitelor părți funcționale ale Blockchain (de exemplu, contracte inteligente).
  • Testarea performanței : detalii precum latența rețelei pe baza mărimii blocului, dimensiunii rețelei, mărimii tranzacției așteptate și cât durează o interogare pentru a returna ieșirea cu protocolul de autentificare specializat
  • Testarea securității : în acest sens, ne asigurăm că aplicația este vulnerabilă la atacuri, iar Sistemele pot proteja datele și sunt capabile să gestioneze atacuri rău intenționate etc.
  • Testarea integrării : în testarea integrării, ne asigurăm că toate componentele aplicației sunt integrate corect și efectuăm acțiunile în mod corespunzător
  • Testarea Smart Contract : Testarea Smart Contract se referă la efectuarea testării funcționale detaliate a logicii și procesului de afaceri.

Faza raportului:

  • Raport rezumat proiect : Descrieți prezentarea generală a detaliilor proiectului, datele proiectului, costul și detaliile activității
  • Raport de testare a contractelor inteligente : acest raport descrie detaliile procesării contractelor inteligente, a datelor și a regulilor
  • Raport de testare a securității : afișează informații vulnerabile într-un document formal pentru client și management superior. Raportul conține data testării, datele de testare și Rezumatul vulnerabilităților constatate
  • Raport de testare a performanței : Acest raport prezintă detalii privind performanța aplicațiilor precum viteza, scalabilitatea, fiabilitatea etc.

Tipuri cheie de testare în aplicația Blockchain

Testarea funcțională

Testarea funcțională joacă un rol important în testarea Blockchain, deoarece ajută la evaluarea cerințelor de afaceri, a proceselor și a eficacității cazurilor de utilizare. Mai jos sunt componentele care pot fi testate ca parte a testării funcționale: 1) Dimensiunea blocului și dimensiunea lanțului 2) Adăugarea unui bloc 3) Transmiterea datelor

Testarea integrării

Aplicația blockchain funcționează în medii multiple. Deci, este important să testați conexiunile inter-sistem

Test de performanta:

Ajută la identificarea în prealabil a blocajelor hardware și software. Acest lucru vă poate ajuta, de asemenea, să vă dați seama de costurile potențiale ale executării aplicației în cloud sau în alte medii.

Testarea nodului

Toate diversele noduri din rețea trebuie testate independent pentru a asigura o cooperare fără probleme.

Testarea API:

Interfața de programare a aplicațiilor testează interacțiunea dintre aplicații din ecosistemul blockchain. Testarea API asigură că solicitările și răspunsurile sunt formatate și operate corect.

Instrumente de testare blockchain

Iată câteva instrumente de testare Blockchain de import:

1) Tester Ethereum:

Este o bibliotecă de testare open-source disponibilă pe repo GitHub. Este ușor de configurat cu suport API gestionabil pentru diferite cerințe de testare.

2) Ganache:

Mai devreme este cunoscut sub numele de Testrpc , este biblioteca utilizată pe scară largă pentru testarea contractelor Ethereum la nivel local. Funcționează prin activarea unui fel de lanț de blocare de tip B care vă oferă acces la conturi pe care le puteți utiliza pentru T esting.

3) Hyperledger Composer:

Hyperledger Composer este un instrument open-source care ajută dezvoltatorii să construiască aplicații blockchain. Folosind acest instrument, putem efectua în principal trei tipuri de testare: testare interactivă, unitate automată și testare de sistem.

Acest articol este contribuit de Suman Dass.