Cos'è Blockchain?
Blockchain è un archivio di database condiviso in continua crescita di record, chiamati blocchi. Ogni blocco contiene un hash del blocco precedente e un timestamp.
In questo tutorial imparerai:
- Cos'è Blockchain?
- Le funzionalità di Blockchain includono
- Tipo di Blockchain
- Componenti principali di una blockchain
- Vantaggi della Blockchain
- Sfide nei test Blockchain
- Fasi del test Blockchain 7
- Tipi di test chiave sull'applicazione Blockchain 10
- Strumenti di test Blockchain 10
Le funzionalità di Blockchain includono
- Sistema decentralizzato : vantaggioso in vari settori come finanza, immobiliare ecc.
- Migliore sicurezza : utilizza più nodi per completare e autenticare le transazioni
- Autenticità : consente all'algoritmo univoco di elaborare i dati
- Capacità aumentata : aumenta la capacità dell'intera rete
Tipo di Blockchain
Ecco tre tipi di Blockchain:
Blockchain del consorzio:
Più organizzazioni avranno accesso e autorità sulla rete. È un sistema completamente decentralizzato
Blockchain pubblica:
In questo tipo di test blockchain, tutti hanno accesso alla Rete e possono prendere parte al Consensus. Il suo sistema decentralizzato.
Blockchain privata:
Solo le singole organizzazioni avranno accesso e autorità sulla rete. È un sistema parzialmente decentralizzato.
Pubblico | Privato | Consorzio | |
---|---|---|---|
Accesso |
|
|
|
Partecipanti |
|
|
|
Sicurezza |
|
|
|
Velocità di transazione |
|
|
|
Componenti principali di una blockchain
Applicazione del nodo
Ogni nodo deve installare ed eseguire un'applicazione per computer definitiva per l'ecosistema a cui desidera partecipare
Libro mastro condiviso
All'interno dell'applicazione del nodo viene gestita una struttura dati (ledger). I contenuti per l'ecosistema possono essere visualizzati una volta che l'applicazione del nodo è in esecuzione.
Algoritmo di consenso
L'algoritmo di consenso è implementato come parte dell'applicazione del nodo, fornendo le "regole del gioco" su come l'ecosistema arriverà a una singola visualizzazione del libro mastro.
Macchina virtuale
Astrazione di una macchina gestita con istruzioni e implementata come parte dell'applicazione del nodo eseguita da ogni partecipante nell'ecosistema.
Come funziona Blockchain?
Vantaggi della Blockchain
- Risparmio di tempo : Blockchain riduce il tempo di transazione da giorni a minuti. La soluzione Transaction è più veloce perché non richiede la verifica da parte di un'autorità centrale.
- Costo-efficace : Blockchain transazioni meno manipolazione. I partecipanti possono scambiare direttamente oggetti di valore. Blockchain rimuove la duplicazione degli sforzi perché i partecipanti hanno accesso a un libro mastro condiviso.
- Aumenta la sicurezza : la protezione di sicurezza di Blockchain contro le frodi e il crimine informatico.
Sfide nei test Blockchain
- Capire la tecnologia - Blockchain è una nuova tecnologia e comprendere la tecnologia con la conoscenza del dominio è molto importante per testare l'applicazione Blockchain
- Mancanza di strumenti di test Blockchain: il test delle applicazioni basate su Blockchain riguarda gli strumenti. La selezione dello strumento giusto secondo l'applicazione è una delle decisioni importanti.
- Definizione della strategia di test : come qualsiasi applicazione, progettazione della strategia di test per l'applicazione Blockchain. È una delle sfide più grandi in quanto Test Strategy richiede una conoscenza e una comprensione approfondite della tecnologia e dell'applicazione.
- Dimensioni blocco e catena : oltre ai test standard, agli strumenti e alle migliori pratiche in atto, è importante anche il test per la dimensione del blocco e la dimensione della catena. Le applicazioni blockchain potrebbero non riuscire senza un'adeguata convalida della dimensione del blocco e della dimensione della catena.
- Test di integrazione : poiché ci sono più componenti coinvolti nell'applicazione Blockchain, il test di integrazione deve essere eseguito correttamente e frequentemente per verificare che tutti i componenti siano correttamente integrati per evitare eventuali guasti.
- Prestazioni e carico: la mancata verifica delle prestazioni e dei test di carico fornisce informazioni minime o nulle sulle prestazioni dell'applicazione Blockchain sia in produzione che in specifici carichi di lavoro e condizioni di rete.
- Sicurezza : la protezione dei dati dovrebbe essere la cosa più importante nell'applicazione Blockchain. Blockchain può far parte di vari settori come salute, finanza, ecc. Qualsiasi tipo di attacco dannoso può avere un impatto sull'applicazione Blockchain
Fasi del test Blockchain
Fase di iniziazione:
- Comprensione dell'architettura Blockchain : in questa fase, comprendiamo e analizziamo i requisiti aziendali e funzionali. Descrive il comportamento dell'applicazione e il modo in cui l'utente interagirà con l'applicazione
- Progettazione completa della strategia di test : durante questa fase, descriviamo l'approccio di test per testare un'applicazione. Questo dovrebbe essere fatto in dettaglio in modo che ogni obiettivo sia completamente coperto.
Fase di progettazione:
- Creazione del test case : in questa fase, il team QA scrive i test case con i passaggi appropriati. Questi casi di test vengono esaminati da Business Analyst (BA).
- Creazione dei dati di test : in questa fase, i dati di test vengono creati o estratti dall'ambiente precedente in base ai requisiti aziendali. I dati dei test possono essere creati manualmente o utilizzando strumenti di automazione.
- Configurazione dell'ambiente : in questa fase, l'ambiente di test viene configurato in base alle esigenze aziendali o dell'applicazione
- Metriche delle prestazioni : le metriche delle prestazioni rappresentano le informazioni in termini di prestazioni dell'applicazione, del sistema o dei componenti
Fase di prova:
- Test API : nei test API, ci assicuriamo che l'interazione tra le applicazioni nell'ecosistema blockchain sia quella prevista
- Test dei blocchi: tutti i blocchi sulla rete devono essere testati individualmente per garantire una corretta cooperazione.
- Test funzionale : nel test funzionale, valutiamo il lavoro di varie parti funzionali della Blockchain (ad esempio, contratti intelligenti).
- Test delle prestazioni : dettagli come la latenza di rete basata sulla dimensione del blocco, la dimensione della rete, la dimensione della transazione prevista e il tempo impiegato da una query per restituire l'output con il protocollo di autenticazione specializzato
- Test di sicurezza : in questo modo, ci assicuriamo che l'applicazione sia vulnerabile agli attacchi e che i sistemi possano proteggere i dati ed essere in grado di gestire attacchi dannosi, ecc.
- Test di integrazione : durante il test di integrazione, ci assicuriamo che tutti i componenti dell'applicazione siano integrati correttamente e che eseguano le azioni in modo appropriato
- Test Smart Contract : il test Smart Contract riguarda l'esecuzione di test funzionali dettagliati della logica e del processo aziendale.
Fase del rapporto:
- Report di riepilogo del progetto : descrive la panoramica generale dei dettagli del progetto, delle date del progetto, dei costi e dei dettagli delle attività
- Report di test Smart Contract : questo report descrive i dettagli dell'elaborazione di Smart contract, dati e regole
- Rapporto sui test di sicurezza : mostra le informazioni vulnerabili in un documento formale per il cliente e la dirigenza superiore. Il report contiene la data del test, i dati del test e il riepilogo delle vulnerabilità rilevate
- Rapporto sui test delle prestazioni : questo rapporto mostra i dettagli relativi alle prestazioni di applicazioni come velocità, scalabilità, affidabilità, ecc.
Tipi di test chiave sull'applicazione Blockchain
Test funzionali
Il test funzionale gioca un ruolo importante nel test Blockchain in quanto aiuta a valutare i requisiti, i processi e l'efficacia dei casi d'uso aziendali. Di seguito sono riportati i componenti che possono essere testati come parte del test funzionale: 1) Dimensione del blocco e dimensione della catena 2) Aggiunta di un blocco 3) Trasmissione dei dati
Test d'integrazione
L'applicazione blockchain funziona in più ambienti. Quindi, è importante testare le connessioni tra sistemi
Test delle prestazioni:
Aiuta a identificare in anticipo i colli di bottiglia hardware e software. Questo può anche aiutarti a capire i potenziali costi di esecuzione dell'applicazione nel cloud o in altri ambienti.
Test dei nodi
Tutti i diversi nodi della rete devono essere testati in modo indipendente per garantire una cooperazione regolare.
Test API:
L'interfaccia di programmazione dell'applicazione verifica l'interazione tra le applicazioni nell'ecosistema blockchain. Il test API garantisce che le richieste e le risposte siano formattate e gestite correttamente.
Strumenti di test Blockchain
Ecco alcuni strumenti di test Blockchain di importazione:
1) Ethereum Tester:
È una libreria di test open source disponibile nel repository GitHub. È facile da configurare con supporto API gestibile per vari requisiti di test.
2) Ganache:
È precedentemente noto come Testrpc , è la libreria ampiamente utilizzata per testare i contratti Ethereum a livello locale. Funziona creando una sorta di finto portachiavi B che ti dà accesso agli account che puoi utilizzare per i test.
3) Hyperledger Composer:
Hyperledger Composer è uno strumento open source che aiuta gli sviluppatori a creare applicazioni blockchain. Utilizzando questo strumento, possiamo eseguire principalmente tre tipi di test: test interattivi, unità automatizzate e test di sistema.
Questo articolo è fornito da Suman Dass.