Lohkoketjun testauksen opetusohjelma
Mikä on Blockchain?
Blockchain on jaettu tietokantakauppa, joka kasvaa jatkuvasti tietueiden luettelona, jota 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 testityypit Blockchain-sovelluksessa 10
- Lohkoketjun testaustyökalut 10
Blockchainin ominaisuudet sisältävät
- Hajautettu järjestelmä: Hyödyllinen useilla aloilla, kuten rahoitus, kiinteistö jne.
- Parempi turvallisuus: Käyttää useita solmuja tapahtumien suorittamiseen ja todentamiseen
- Aitous: Antaa ainutlaatuisen algoritmin käsitellä tietoja
- Lisääntynyt kapasiteetti: Lisää koko verkon kapasiteettia
Blockchainin tyyppi
Tässä on kolme lohkoketjutyyppiä:
Konsortion lohkoketju:
Useilla organisaatioilla on pääsy verkkoon ja valtuudet. Se on täysin hajautettu järjestelmä
Julkinen lohkoketju:
Tämän tyyppisessä blockchain-testauksessa kaikilla on pääsy verkkoon ja he voivat osallistua Consensus-ohjelmaan. Sen hajautettu järjestelmä.
Yksityinen lohkoketju:
Vain yksittäisillä organisaatioilla on pääsy ja valtuudet verkostoon. Se on osittain hajautettu järjestelmä.
julkinen | yksityinen | Konsortio | |
---|---|---|---|
Pääsy |
|
|
|
osallistujat |
|
|
|
Turvallisuus |
|
|
|
Tapahtuman nopeus |
|
|
|
Lohkoketjun pääkomponentit
Solmusovellus
Jokaisen solmun on asennettava ja suoritettava tietokonesovellus, joka sopii siihen ekosysteemiin, johon ne haluavat osallistua
Yhteinen Ledger
Tietorakennetta (reskontraa) hallitaan solmusovelluksen sisällä. Ekosysteemin sisältöä voi tarkastella, kun solmusovellus on käynnissä.
Konsensusalgoritmi
Konsensusalgoritmi toteutetaan osana solmusovellusta, ja se tarjoaa "pelin säännöt" sille, kuinka ekosysteemi päätyy yhteen pääkirjanäkymään.
Virtuaalikone
Koneen abstraktio, jota käytetään ohjeilla ja toteutetaan osana solmusovellusta, jota jokainen osallistuja ajaa ekosysteemissä.
Miten Blockchain toimii?
Blockchainin edut
- Aikaa säästävä: Blockchain lyhentää tapahtuma-aikaa päivistä minuutteihin. Transaction-ratkaisu on nopeampi, koska se ei vaadi keskusviranomaisen vahvistusta.
- Kustannustehokas: Blockchain-tapahtumat vähemmän käsittelyä. Osallistujat voivat vaihtaa arvoesineitä suoraan. Lohkoketju poistaa päällekkäisyyksiä, koska osallistujilla on pääsy jaettuun pääkirjaan.
- Lisää turvallisuutta: Blockchainin suojaus petoksia ja verkkorikollisuutta vastaan.
Blockchain-testauksen haasteet
- Tekniikan ymmärtäminen– Blockchain on uusi tekniikka ja teknologian ymmärtäminen toimialuetiedolla on erittäin tärkeää Blockchain-sovelluksen testauksessa
- Blockchain-testaustyökalujen puute– Lohkoketjupohjaisessa sovellusten testauksessa on kyse työkaluista. Oikean työkalun valitseminen sovelluksen mukaan on yksi tärkeimmistä päätöksistä.
- Testistrategian määrittely– Kuten kaikki sovellukset, testistrategian suunnittelu Blockchain-sovellukselle. Se on yksi suurimmista haasteista, sillä testistrategia vaatii syvällistä tietoa ja ymmärrystä tekniikasta ja sovelluksista.
- Lohkon ja ketjun koko– Standarditestauksen, työkalujen ja parhaiden käytäntöjen ohella myös lohkokoon ja ketjun koon testaus on tärkeää. Lohkoketjusovellukset voivat epäonnistua ilman lohkokoon ja ketjun koon asianmukaista validointia.
- Integraation testaus– Koska Blockchain-sovelluksessa on useita komponentteja, integraatiotestaus on suoritettava oikein ja usein, jotta voidaan testata, että kaikki komponentit on integroitu oikein, jotta vältetään mahdolliset viat.
- Suorituskyky ja kuormitus- Suorituskyvyn ja kuormitustestauksen epäonnistuminen antaa vain vähän tai ei ollenkaan käsitystä siitä, kuinka Blockchain-sovellus toimii sekä tuotannossa että tietyissä työkuormissa ja verkko-olosuhteissa.
- Turvallisuus– Tietojen suojaamisen pitäisi olla tärkeintä Blockchain-sovelluksessa. Blockchain voi olla osa eri sektoreita, kuten terveydenhuolto, rahoitus jne. kaikenlaiset haitalliset hyökkäykset voivat vaikuttaa Blockchain-sovellukseen
Blockchain-testauksen vaiheet
Aloitusvaihe:
- Blockchainin ymmärtäminen Archirakenne: Tässä vaiheessa ymmärrämme ja analysoimme liiketoiminnan ja toiminnalliset vaatimukset. Tämä kuvaa sovelluksen toimintaa ja kuinka käyttäjä on vuorovaikutuksessa sovelluksen kanssa
- Täydellinen testistrategian suunnittelu: Tässä vaiheessa kuvataan testausmenetelmä sovelluksen testaamiseen. Tämä tulisi tehdä yksityiskohtaisesti, jotta jokainen tavoite katetaan täysin.
Suunnitteluvaihe:
- Testitapauksen luominen: Tässä vaiheessa laadunvarmistustiimi kirjoittaa testitapaukset asianmukaisin vaihein. Business Analyst(BA) arvioi nämä testitapaukset.
- Testitietojen luonti: Tässä vaiheessa testidataa luodaan tai poimitaan edellisestä ympäristöstä liiketoiminnan vaatimusten mukaisesti. Testitiedot voidaan luoda manuaalisesti tai automaatiotyökaluilla.
- Ympäristöasetukset: Tässä vaiheessa testausympäristö konfiguroidaan yrityksen tai sovelluksen tarpeeksi
- Suorituskykymittarit: Suorituskykymittarit edustavat sovelluksen, järjestelmän tai komponenttien suorituskykyä koskevia tietoja
Testausvaihe:
- API-testaus: API-testauksessa varmistamme, että lohkoketjuekosysteemin sovellusten välinen vuorovaikutus on odotusten mukainen
- Lohkotestaus: Kaikki verkon lohkot tulee testata yksitellen asianmukaisen yhteistyön varmistamiseksi.
- Toiminnallinen testaus: Toiminnallisessa testauksessa arvioimme Blockchainin eri toiminnallisten osien työtä (esim. älykkäät sopimukset).
- Suorituskykytestaus: Tiedot, kuten verkon viive, joka perustuu lohkon kokoon, verkon kokoon, odotettuun tapahtumakokoon ja siihen, kuinka kauan kyselyllä kestää tulosteen palauttamiseen erikoistuneella todennusprotokollalla
- Suojaustestaus: Tässä varmistamme, että sovellus on alttiina hyökkäyksille ja että järjestelmät voivat suojata tiedot ja pystyy käsittelemään haitallisia hyökkäyksiä jne.
- Integraation testaus: Integraatiotestauksessa varmistamme, että kaikki sovelluksen komponentit on integroitu oikein ja että ne suorittavat toiminnot asianmukaisesti
- Älykäs sopimustestaus: Smart Contract -testaus on liiketoimintalogiikan ja prosessin yksityiskohtaisen toiminnallisen testauksen suorittamista.
Raporttivaihe:
- Hankkeen yhteenvetoraportti: Kuvaa yleiskatsaus projektin yksityiskohdista, projektin päivämääristä, kustannuksista ja tehtävän tiedoista
- Älykäs sopimustestausraportti: Tämä raportti kuvaa älykkään sopimuksen, tietojen ja sääntöjen käsittelyn yksityiskohdat
- Turvatestausraportti: Näyttää haavoittuvat tiedot virallisessa asiakirjassa asiakkaalle ja ylimmälle johdolle. Raportti sisältää testauksen päivämäärän, testitiedot ja yhteenvedon löydetyistä haavoittuvuuksista
- suorituskyvyn testausraportti: Tämä raportti näyttää tiedot sovellusten suorituskyvystä, kuten nopeudesta, skaalautumisesta, luotettavuudesta jne.
Tärkeimmät testityypit 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 on komponentit, joita voidaan testata osana toiminnallista testausta: 1) Lohkon koko ja ketjun koko 2) Lohkon lisääminen 3) Tiedot Transmission
Integraation testaus
Blockchain-sovellus toimii useissa ympäristöissä. Joten on tärkeää testata järjestelmien välisiä yhteyksiä
Suorituskyvyn testaus:
Se auttaa tunnistamaan laitteiston ja ohjelmiston pullonkaulat etukäteen. Tämä voi myös auttaa sinua selvittämään mahdolliset kustannukset, jotka aiheutuvat sovelluksen käyttämisestä pilvessä tai muissa ympäristöissä.
Solmun 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 niitä käytetään oikein.
Lohkoketjun testaustyökalut
Tässä on joitain tuontilohkoketjun testaustyökaluja:
1)Ethereum Testaaja:
Se on avoimen lähdekoodin testauskirjasto, joka on saatavilla GitHub repossa. Se on helppo asettaa hallittavalla API-tuella erilaisiin testausvaatimuksiin.
2) Ganache:
Se tunnetaan aiemmin nimellä Testrpc, on laajalti käytetty kirjasto testaukseen Ethereum sopimukset paikallisesti. Se toimii pyörittämällä eräänlaista pilkkaa Blukkoketju, joka antaa sinulle pääsyn tileille, joita voit käyttää Testing.
3) Hyperledger-säveltäjä:
Hyperledger Composer on avoimen lähdekoodin työkalu, joka auttaa kehittäjiä rakentamaan lohkoketjusovelluksia. Tällä työkalulla voimme suorittaa pääasiassa kolmenlaisia testauksia: interaktiivista testausta, automatisoitua yksikköä ja järjestelmätestausta. Jos olet kiinnostunut oppimaan rakentamaan lohkoketjusovelluksia ja työskentelemään työkalujen, kuten Hyperledger Composerin kanssa, tutustu tähän oppaaseen kuinka tulla lohkoketjun kehittäjäksi aloittaaksesi matkasi tällä jännittävällä alalla.