Blockchain-testausopastus

Sisällysluettelo:

Anonim

Mikä on Blockchain?

Blockchain on jaettu tietokantamyymälä, joka kasvaa jatkuvasti luettelosta tietueista, joita kutsutaan lohkoiksi. Jokainen lohko sisältää edellisen lohkon tiivisteen ja aikaleiman.

Tässä opetusohjelmassa opit:

  • Mikä on Blockchain?
  • Blockchainin ominaisuudet sisältävät
  • Blockchainin tyyppi
  • Lohkoketjun pääkomponentit
  • Blockchainin edut
  • Blockchain-testauksen haasteet
  • Blockchain-testauksen vaiheet 7
  • Tärkeimmät testaustyypit Blockchain-sovelluksessa 10
  • Blockchain-testaustyökalut 10

Blockchainin ominaisuudet sisältävät

  • Hajautettu järjestelmä : hyödyllinen useilla aloilla, kuten rahoitus, kiinteistöt jne.
  • Parempi suojaus : Käyttää useita solmuja tapahtumien viimeistelyyn ja todentamiseen
  • Autenttisuus : Antaa ainutlaatuisen algoritmin käsitellä tietoja
  • Lisääntynyt kapasiteetti : Lisää koko verkon kapasiteettia

Blockchainin tyyppi

Tässä on kolme tyyppiä Blockchain:

Konsortio Blockchain:

Useilla organisaatioilla on pääsy ja valtuudet verkostoon. Se on täysin hajautettu järjestelmä

Julkinen estoketju:

Tämän tyyppisessä blockchain-testauksessa kaikilla on pääsy verkkoon ja he voivat osallistua konsensukseen. Sen hajautettu järjestelmä.

Yksityinen lohkoketju:

Ainoastaan ​​yksittäisillä organisaatioilla on pääsy verkostoon ja siihen liittyvät valtuudet. Se on osittain hajautettu järjestelmä.

Julkinen Yksityinen Konsortio
Pääsy
  • Kuka tahansa
  • Yksi organisaatio
  • Useita organisaatioita
Osallistujat
  • Luvaton
  • Nimetön
  • Sallittu
  • Tunnetut henkilöllisyydet
  • Sallittu
  • Tunnetut henkilöllisyydet
Turvallisuus
  • Konsensusmekanismi
  • Työtodistus / pinon todiste
  • Ennalta hyväksytyt osallistujat
  • Äänestys / monen osapuolen yksimielisyys
  • Ennalta hyväksytyt osallistujat
  • Äänestys / monen osapuolen yksimielisyys
Tapahtumanopeus
  • Hidas
  • Kevyempi ja nopeampi
  • Kevyempi ja nopeampi

Lohkoketjun pääkomponentit

Solmu-sovellus

Jokaisen solmun on asennettava ja suoritettava tietokonesovellus, joka on määritelty ekosysteemille, johon he haluavat osallistua

Jaettu pääkirja

Tietorakennetta (pääkirja) hallitaan solmasovelluksen sisällä. Ekosysteemin sisältöä voidaan tarkastella, kun solmusovellus on käynnissä.

Konsensusalgoritmi

Konsensusalgoritmi on toteutettu osana solmusovellusta, joka tarjoaa "pelisäännöt" siitä, miten ekosysteemi saavuttaa yhden näkymän pääkirjasta.

Virtuaalikone

Koneen abstraktio, jota käytetään ohjeilla ja joka toteutetaan osana solmuohjelmaa, jota jokainen ekosysteemin osallistuja käyttää.

Kuinka Blockchain toimii?

Blockchainin edut

  • Aikaa säästävä : Blockchain lyhentää tapahtuman aikaa päivistä minuutteihin. Transaction-ratkaisu on nopeampi, koska se ei vaadi keskusviranomaisen vahvistusta.
  • Kustannustehokas : Blockchain-transaktiot vähemmän käsittelyä. Osallistujat voivat vaihtaa arvoesineitä suoraan. Blockchain poistaa päällekkäisyydet, koska osallistujilla on pääsy jaettuun pääkirjaan.
  • Lisää turvallisuutta : Blockchainin suojaus petoksia ja tietoverkkorikollisuutta vastaan.

Blockchain-testauksen haasteet

  • Teknologian ymmärtäminen - Blockchain on uusi tekniikka, ja tekniikan ymmärtäminen toimialueen tuntemuksella on erittäin tärkeää Blockchain-sovelluksen testauksessa
  • Blockchain-testaustyökalujen puute - Blockchain-pohjainen sovellustestaus on kyse työkaluista. Oikean työkalun valitseminen sovelluksen mukaan on yksi tärkeistä päätöksistä.
  • Testistrategian määritteleminen - Kuten kaikki sovellukset, testistrategian suunnittelu Blockchain-sovellukselle. Se on yksi suurimmista haasteista, koska testistrategia vaatii syvällistä tietoa ja ymmärrystä tekniikasta ja sovelluksesta.
  • Lohkon ja ketjun koko - Normaalien testausten, työkalujen ja käytössä olevien parhaiden käytäntöjen lisäksi lohkojen ja ketjun koon testaaminen on myös tärkeää. Blockchain-sovellukset voivat epäonnistua ilman lohkon koon ja ketjun koon asianmukaista vahvistamista.
  • Integraatiotestaus - Koska Blockchain-sovelluksessa on useita komponentteja, integraatiotestaus tulisi tehdä oikein ja usein testatakseen, että kaikki komponentit on integroitu oikein vikojen välttämiseksi.
  • Suorituskyky ja kuormitus - suorituskyvyn ja kuormitustestauksen epäonnistuminen antaa vähän tai ei lainkaan tietoa siitä, miten Blockchain-sovellus toimii sekä tuotannossa että tietyissä kuormituksissa ja verkko-olosuhteissa.
  • Suojaus - Tietojen suojaamisen pitäisi olla tärkeintä Blockchain-sovelluksessa. Blockchain voi olla osa eri sektoreita, kuten terveys, talous jne., Kaikenlaiset haitalliset hyökkäykset voivat vaikuttaa Blockchain-sovellukseen

Blockchain-testauksen vaiheet

Aloitusvaihe:

  • Blockchain-arkkitehtuurin ymmärtäminen : Tässä vaiheessa ymmärrämme ja analysoimme liiketoiminnan ja toiminnalliset vaatimukset. Tämä kuvaa sovelluksen käyttäytymistä ja sitä, miten käyttäjä on vuorovaikutuksessa sovelluksen kanssa
  • Täydellisen testausstrategian suunnittelu : Tässä vaiheessa kuvaamme testausmenetelmää sovelluksen testaamiseksi. Tämä olisi tehtävä yksityiskohtaisesti, jotta kaikki tavoitteet katetaan kokonaan.

Suunnitteluvaihe:

  • Testitapausten luominen : Tässä vaiheessa laadunvarmistusryhmä kirjoittaa testitapaukset asianmukaisin vaihein. Business Analyst (BA) tarkastaa nämä testitapaukset.
  • Testitietojen luominen : Tässä vaiheessa testitiedot luodaan tai poimitaan edellisestä ympäristöstä liiketoiminnan vaatimuksia vastaavasti. Testitiedot voidaan luoda manuaalisesti tai automaatiotyökalujen avulla.
  • Ympäristön määritys : Tässä vaiheessa testausympäristö määritetään liiketoiminnan tai sovelluksen tarpeeksi
  • Suorituskykymittarit : Suorituskykymittarit edustavat tietoja sovelluksen, järjestelmän tai komponenttien suorituskyvyn suhteen

Testausvaihe:

  • API-testaus : API-testauksessa varmistamme, että blockchain-ekosysteemin sovellusten välinen vuorovaikutus on odotettua
  • Lohkotestaus : Kaikki verkon lohkot tulisi testata erikseen asianmukaisen yhteistyön varmistamiseksi.
  • Toiminnallinen testaus : Toiminnallisessa testauksessa arvioimme Blockchainin eri toiminnallisten osien työtä (esim. Älykkäät sopimukset).
  • Suorituskyvyn testaus : Yksityiskohdat, kuten verkon viive, joka perustuu lohkon kokoon, verkon kokoon, odotettuun tapahtumakokoon ja kuinka kauan kysely kestää lähdön palauttamiseksi erikoistuneella todennusprotokollalla
  • Suojaustestaus : Tässä varmistamme, että sovellus on haavoittuvainen hyökkäyksille ja että järjestelmät voivat suojata tietoja ja pystyy käsittelemään haitallisia hyökkäyksiä jne.
  • Integraatiotestaus : Integraatiotestauksessa varmistamme, että kaikki sovelluksen komponentit on integroitu oikein ja suoritamme toimenpiteet asianmukaisesti
  • Älykkäiden sopimusten testaus : Älykkäiden sopimusten testaus on liiketoimintalogiikan ja -prosessien yksityiskohtaisen toiminnallisen testauksen suorittamista.

Raportin vaihe:

  • Projektin yhteenvetoraportti : Kuvaa yleiskatsaus projektin yksityiskohdista, projektin päivämääristä, kustannuksista ja tehtävän yksityiskohdista
  • Älykkäiden sopimusten testausraportti : Tämä raportti kuvaa älykkään sopimuksen, tietojen ja sääntöjen käsittelyn yksityiskohdat
  • Suojaustestausraportti : Näyttää haavoittuvia tietoja virallisessa asiakirjassa asiakkaalle ja ylemmälle johdolle. Raportti sisältää testauksen päivämäärän, testitiedot ja yhteenvedon löydetyistä haavoittuvuuksista
  • suorituskykytestausraportti : Tämä raportti näyttää sovellusten suorituskyvyn yksityiskohdat, kuten nopeuden, skaalautuvuuden, luotettavuuden jne.

Tärkeimmät testaustyypit Blockchain-sovelluksessa

Toiminnallinen testaus

Toiminnallisella testauksella on tärkeä rooli Blockchain-testauksessa, koska se auttaa arvioimaan liiketoiminnan vaatimuksia, prosesseja ja käyttötapausten tehokkuutta. Alla ovat komponentit, jotka voidaan testata osana toiminnallista testausta: 1) lohkon koko ja ketjun koko 2) lohkon lisääminen 3) tiedonsiirto

Integraation testaus

Blockchain-sovellus toimii useissa ympäristöissä. Joten on tärkeää testata järjestelmien välisiä yhteyksiä

Suorituskyvyn testaus:

Se auttaa tunnistamaan laitteistojen ja ohjelmistojen pullonkaulat etukäteen. Tämä voi myös auttaa sinua selvittämään sovelluksen suorittamisen mahdolliset kustannukset pilvessä tai muissa ympäristöissä.

Solmujen testaus

Kaikki verkon eri solmut on testattava itsenäisesti sujuvan yhteistyön varmistamiseksi.

API-testaus:

Sovellusohjelmointirajapinta testaa sovellusten välistä vuorovaikutusta lohkoketjuekosysteemissä. API-testaus varmistaa, että pyynnöt ja vastaukset muotoillaan ja toimivat oikein.

Blockchain-testaustyökalut

Tässä on joitain tuoda Blockchain-testaustyökaluja:

1) Ethereum-testeri:

Se on avoimen lähdekoodin testauskirjasto, joka on saatavana GitHub-repossa. Se on helppo asentaa hallittavalla API-tuella erilaisille testausvaatimuksille.

2) Ganache:

Se tunnetaan aiemmin nimellä Testrpc , on laajalti käytetty kirjasto Ethereum-sopimusten testaamiseen paikallisesti. Se toimii kiertämällä eräänlaista pilkkaa B- lukkoketjua, joka antaa sinulle pääsyn tileihin, joita voit käyttää T estointiin.

3) Hyperledger-säveltäjä:

Hyperledger Composer on avoimen lähdekoodin työkalu, joka auttaa kehittäjiä rakentamaan blockchain-sovelluksia. Tämän työkalun avulla voimme suorittaa pääasiassa kolmea tyyppistä testausta: interaktiivinen testaus, automatisoitu yksikkö ja järjestelmätestaus.

Tämän artikkelin on kirjoittanut Suman Dass.