Jatkuva testaus
Jatkuva testaus DevOpsissa on ohjelmistojen testaustyyppi, joka sisältää ohjelmistojen testaamisen ohjelmistokehityksen elinkaaren kaikissa vaiheissa. Jatkuvan testauksen tavoitteena on arvioida ohjelmistojen laatua jatkuvan toimitusprosessin jokaisessa vaiheessa testaamalla varhaisessa vaiheessa ja testaamalla usein.
DevOpsin jatkuvassa testausprosessissa on sidosryhmiä, kuten kehittäjä, DevOps, laadunvalvonta ja käyttöjärjestelmä.
Tässä opetusohjelmassa opit
- Mikä on jatkuva testaus?
- Kuinka jatkuva testaus on erilaista?
- Kuinka jatkuva testaus eroaa testausautomaatiosta?
- Kuinka tehdä jatkuva testaus
- Jatkuvan testauksen työkalut
- Jatkuvan testauksen edut
- Jatkuvan testauksen haasteet
Kuinka jatkuva testaus on erilaista?
Vanha tapa testata oli käsinkeskeinen. Ohjelmisto luovutettiin joukkueelta toiselle. Projektilla olisi selvät kehitys- ja laadunvarmistusvaiheet. Laadunvarmistusryhmät halusivat aina enemmän aikaa laadun varmistamiseksi. Tavoitteena oli, että laadun pitäisi olla etusijalla projektin aikatauluun nähden.
Liiketoiminta haluaa kuitenkin nopeamman ohjelmistotoimituksen loppukäyttäjälle. Mitä uudempi ohjelmisto on, sitä paremmin sitä voidaan markkinoida ja lisätä yrityksen tulopotentiaalia. Siksi kehitettiin uusi tapa testata.
Jatkuva tarkoittaa jatkuvaa jatkuvaa testausta. Jatkuvassa DevOps-prosessissa ohjelmistomuutos (julkaisukandidaatti) siirtyy jatkuvasti kehityksestä testaukseen käyttöönottoon.
Koodia kehitetään, toimitetaan, testataan ja otetaan käyttöön jatkuvasti.
Esimerkiksi aina, kun kehittäjä tarkistaa lähdekoodipalvelimen koodin, kuten Jenkins, automaattinen yksikkötesti suoritetaan jatkuvassa prosessissa. Jos testit epäonnistuvat, koontiversio hylätään ja kehittäjälle ilmoitetaan. Jos koontiversio läpäisee testin, se otetaan käyttöön suorituskykyyn, laadunvalvontapalvelimiin tyhjentäviä toiminnallisia ja kuormitustestejä varten. Testit suoritetaan rinnakkain. Jos testit läpäisevät, ohjelmisto otetaan käyttöön tuotannossa.
Jatkuva testaus on pieni kehä jatkuvan kehittämisen, integroinnin ja käyttöönoton syklissä.
Ohjelmistokehitys ei ole sama kuin aikaisemmin, kun leikkaimme kehitystä kuukausista viikkoihin. Nykyinen testauspino (katso yllä oleva kuva) on otsikoitu kohti käyttöliittymän testausta. Mutta tavoitteena on saada yhä enemmän automatisoituja yksikötestejä.
Kuinka jatkuva testaus eroaa testausautomaatiosta?
Testiautomaatio vs. jatkuva testaus
Parametri | Testaa automaatio | Jatkuva testaus |
---|---|---|
Määritelmä | Testiautomaatio on prosessi, jossa työkalua tai ohjelmistoa käytetään tehtävien automatisointiin. | Se on ohjelmistojen testausmenetelmä, joka keskittyy jatkuvaan laatuun ja parantamiseen. |
Tarkoitus | Joukko samankaltaisia tai toistuvia tehtäviä, kone voi suorittaa nopeammin ja vähemmän virheillä. | Jatkuva testausprosessi auttaa löytämään riskin, puuttumaan niihin ja parantamaan tuotteen laatua. |
Edellytys | Automaatio testauksessa mahdollista ilman jatkuvaa testausta. | Jatkuvaa testausta ei voida toteuttaa ilman testausautomaatiota. |
Aika | Ohjelmiston julkaisu voi kestää kuukaudesta vuosiin. | Ohjelmistojulkaisu voidaan julkaista viikoittain tai tunneittain. |
Palaute | Säännöllinen palaute jokaisen julkaisun testaamisen jälkeen. | Palautteen on oltava kussakin vaiheessa välitöntä. |
Historia | Automatisoitua testausta on tehty vuosikymmenien ajan testausprosessin nopeuttamiseksi. | Jatkuva testaus on suhteellisen uudempi käsite. |
Kuinka tehdä jatkuva testaus
- Käyttämällä työkaluihin testausautomaatiopaketin luomiseen käyttäjien tarinoista / vaatimuksista
- Luo testiympäristö.
- Kopioi ja anonymisoi tuotantotiedot luodaksesi testidatan
- Testaa sovellusliittymä palvelun virtualisoinnilla
- Rinnakkainen suorituskyvyn testaus
Jatkuvan testauksen työkalut
Tässä on kuratoitu luettelo parhaista jatkuvan testauksen työkaluista :
1) QuerySurge
QuerySurge on älykäs datan testausratkaisu, joka on ensimmäinen laatuaan täydellinen DevOps-ratkaisu jatkuvaan datan testaukseen. Tärkeimpiä ominaisuuksia ovat vankka sovellusliittymä yli 60 puhelulla, yksityiskohtainen tietojenkäsittely ja data-analytiikka, saumaton integrointi DevOps-putkistoon jatkuvaa testausta varten ja suurten tietomäärien todentaminen nopeasti.
Aloita testaus ilmaiseksi
2) Jenkins
Jenkins on Jatkuva integraatio -työkalu, joka kirjoitetaan Java-kielellä. Tämä työkalu voidaan määrittää GUI-käyttöliittymän tai konsolikomentojen kautta.
Latauslinkki: https://jenkins.io/
3) Travis
Travis on GitHubissa isännöity jatkuva testaustyökalu. Se tarjoaa isännöityjä ja paikan päällä olevia vaihtoehtoja. Se tarjoaa useita eri kieliä ja hyvän dokumentaation.
Latauslinkki: https://travis-ci.org/
4) Seleeni
Selenium on avoimen lähdekoodin ohjelmistojen testaustyökalu. Se tukee kaikkia johtavia selaimia, kuten Firefox, Chrome, IE ja Safari. Selenium WebDriver -sovellusta käytetään verkkosovellusten testauksen automatisointiin.
Latauslinkki: https://www.seleniumhq.org/
Jatkuvan testauksen edut
- Nopeuta ohjelmiston toimitusta
- Jatkuva testaus parantaa koodin laatua
- Se auttaa arvioimaan tarkan liiketoimintariskin kattavuuden.
- Se integroituu saumattomasti DevOps-prosessiin
- Auttaa luomaan ketterän ja luotettavan prosessin muutamassa tunnissa kuukausien sijaan.
- Nopeuttaa markkinoille tuloa jatkuvalla palautemekanismilla.
- Yhdistää perinteisesti vaimennetut joukkueet vastaamaan nykyaikaisia yritystarpeita. Liukenee katkaisemaan kehitys-, testaus- ja toimintatiimien välisen yhteyden.
- Testiautomaatio auttaa saavuttamaan yhdenmukaisuuden ylläpitämällä samaa kokoonpanoa kaikille asiaankuuluville testeille.
- Korostaa liiketoiminnan odotuksia liiketoimintariskien lieventämiseksi
- Tarjotaan kaikkialla testiympäristöön pääsy palvelun virtualisoinnilla
Jatkuvan testauksen haasteet
- Perinteinen prosessi rajoittaa kulttuurin muutosta kehitys- ja laadunvalvontaviranomaisten välillä.
- DevOps-taitojen ja oikeiden työkalujen puute testaamiseen ketterissä ja DevOps-ympäristöissä.
- Heterogeeniset testiympäristöt, jotka eivät koskaan heijasta tuotantoympäristöä.
- Tavanomainen testausprosessi ja löyhästi määritelty testitietojen hallinta.
- Pidemmät koodin integrointisyklit aiheuttavat integrointiongelmia ja viivästyneitä vikakorjauksia
- Riittämätön ja tehoton resurssi ja testausympäristöt
- Monimutkainen sovellusarkkitehtuuri ja liiketoimintalogiikka, joka rajoittaa DevOps-käyttöönottoa.
Päätelmä:
- Ohjelmistotuotannossa jatkuva testaus on varhainen testaus, usein testaus, testaus kaikkialla ja automaattinen testaus.
- Vanha tapa testata oli kanavanvaihto. Ohjelmisto luovutetaan joukkueelta toiselle
- Jenkins, Travis ja Selenium ovat suosittuja jatkuvan testauksen ja integroinnin työkaluja.
- Jatkuva testaus tuottaa toimivan palautteen toimitusputken jokaisen vaiheen mukaan.
- Jatkuva testaus auttaa parantamaan koodin laatua
- Perinteinen prosessi rajoittaa kulttuurin muutosta kehitys- ja laadunvalvontaviranomaisten välillä.
- Pidemmät koodin integrointisyklit aiheuttavat integrointiongelmia ja viivästyneitä vikakorjauksia