Kontinuirano testiranje u DevOps-u
Što je kontinuirano testiranje?
Kontinuirano ispitivanje in DevOps je vrsta testiranja softvera koja uključuje testiranje softvera u svakoj fazi životnog ciklusa razvoja softvera. Cilj kontinuiranog testiranja je procjena kvalitete softvera u svakom koraku procesa kontinuirane isporuke ranim i čestim testiranjem.
Proces kontinuiranog testiranja u DevOps-u uključuje dionike kao što su programer, DevOps, QA i Operacionalni sustav.
Po čemu se kontinuirano testiranje razlikuje?

Stari način testiranja bio je orijentiran na ruke. Softver je predavan od jednog tima do drugog. Projekt bi imao određene faze razvoja i osiguranja kvalitete. QA timovi uvijek su željeli više vremena za osiguranje kvalitete. Cilj je bio da kvaliteta prevlada nad rasporedom projekta.
Međutim, posao želi bržu isporuku softvera krajnjem korisniku. Što je softver noviji, to se može bolje plasirati na tržište i povećati potencijal prihoda tvrtke. Stoga je razvijen novi način testiranja.
Kontinuirano znači neprekinuto testiranje koje se provodi kontinuirano. U procesu Continuous DevOps, promjena softvera (kandidat za izdanje) kontinuirano se kreće od razvoja do testiranja do implementacije.
Kod se kontinuirano razvija, isporučuje, testira i implementira.
Na primjer, kad god programer provjeri kod na poslužitelju izvornog koda, poput Jenkinsovog automatiziranog skupa jediničnih testova izvršava se u kontinuiranom procesu. Ako testovi ne uspiju, verzija se odbija, a programer se obavještava. Ako međuverzija prođe test, postavlja se na poslužitelje performansi, QA za iscrpne funkcionalne testove i testove opterećenja. Testovi se izvode paralelno. Ako testovi prođu, softver se postavlja u proizvodnju.
Kontinuirano testiranje mali je kotačić u ciklusu kontinuiranog razvoja, integracije i implementacije.
Razvoj softvera nije isti kao što je bio u prošlosti, skratili smo razvoj s mjeseca na tjedne. Trenutačni skup testiranja (vidi gornju sliku) naslovljen je prema testiranju korisničkog sučelja. Ali cilj je imati sve više i više automatiziranih jediničnih testova.
Kako se kontinuirano testiranje razlikuje od automatizacije testiranja?
Automatizacija testiranja u odnosu na kontinuirano testiranje
Parametar | Test automatizacija | Kontinuirano ispitivanje |
---|---|---|
Definicija | Automatizacija testiranja je proces u kojem se alat ili softver koriste za automatizaciju zadataka. | To je metodologija testiranja softvera koja je usmjerena na postizanje stalne kvalitete i poboljšanja. |
Svrha | Skup sličnih ili ponavljajućih zadataka, stroj može izvršiti, brže, s manje pogrešaka. | Kontinuirani proces testiranja pomaže pronaći rizike, riješiti ih i poboljšati kvalitetu proizvoda. |
Preduvjet | Automatizacija testiranja moguća bez integracije kontinuiranog testiranja. | Kontinuirano testiranje ne može se provesti bez automatizacije testiranja. |
Vrijeme | Izdavanje softvera može trajati od mjesec dana do godina. | Izdanje softvera može biti objavljeno tjedno ili svaki sat. |
povratna veza | Redovite povratne informacije nakon testiranja svakog izdanja. | Povratna informacija u svakoj fazi mora biti trenutna. |
Povijest | Automatizirano testiranje provodi se desetljećima kako bi se proces testiranja ubrzao. | Kontinuirano testiranje je relativno noviji koncept. |
Kako provoditi kontinuirano testiranje
- Korištenje alata za generiranje paketa za automatizaciju testiranja iz korisničkih priča/zahtjeva
- Stvorite testno okruženje.
- Kopirajte i anonimizirajte proizvodne podatke kako biste stvorili probni podatkovni krevet
- Koristite virtualizaciju usluge za testiranje API-ja
- Paralelno testiranje performansi
Alati za kontinuirano testiranje
Ovdje je odabrani popis najboljih Alati za kontinuirano testiranje :
1) QuerySurge
QuerySurge je pametno rješenje za testiranje podataka koje je prvo potpuno DevOps rješenje svoje vrste za kontinuirano testiranje podataka. Ključne značajke uključuju robustan API s više od 60 poziva, detaljnu inteligenciju podataka i analizu podataka, besprijekornu integraciju u DevOps cjevovod za kontinuirano testiranje i brzu provjeru velikih količina podataka.
Započnite besplatno testiranje
2) Jenkins
Jenkins je alat za kontinuiranu integraciju koji je napisan korištenjem Java jezik. Ovaj se alat može konfigurirati putem GUI sučelja ili naredbi konzole.
Preuzmite link: https://jenkins.io/
3) Travis
Travis je alat za kontinuirano testiranje koji se nalazi na GitHubu. Nudi hostirane i lokalne varijante. Omogućuje niz različitih jezika i dobru dokumentaciju.
Preuzmite link: https://travis-ci.org/
4) Selenium
Selenium je alat za testiranje softvera otvorenog koda. Podržava sve vodeće preglednike poput Firefox, Chrome, IE i Safari. Selenium WebDriver se koristi za automatizaciju testiranja web aplikacija.
Preuzmite link: https://www.seleniumhq.org/
Prednosti kontinuiranog testiranja
- Ubrzajte isporuku softvera
- Kontinuirano testiranje poboljšava kvalitetu koda
- Pomaže u procjeni točne pokrivenosti poslovnog rizika.
- Besprijekorno se integrira u DevOps proces
- Pomaže u stvaranju agilnog i pouzdanog procesa u samo nekoliko sati umjesto mjeseci.
- Ubrzava vrijeme izlaska na tržište s mehanizmom kontinuirane povratne informacije.
- Spaja tradicionalno odvojene timove kako bi zadovoljio potrebe modernog poduzeća. Otklanja nepovezanost između timova za razvoj, testiranje i operacije.
- Automatizacija testiranja pomaže u postizanju dosljednosti održavanjem iste konfiguracije za sve relevantne testove.
- Naglašava poslovna očekivanja za ublažavanje poslovnih rizika
- Pružanje sveprisutnog pristupa testnom okruženju s Virtualizacijom usluge
Izazovi kontinuiranog testiranja
- Tradicionalni proces ograničava kulturološki pomak među stručnjacima za razvoj i osiguranje kvalitete.
- Nedostatak DevOps vještina i pravih alata za testiranje u Agile & DevOps okruženjima.
- Heterogena ispitna okruženja koja nikada neće odražavati proizvodno okruženje.
- Konvencionalni proces testiranja i slabo definirano upravljanje testnim podacima.
- Duži ciklusi integracije koda stvaraju probleme integracije i kasne popravke nedostataka
- Nedovoljni i neučinkoviti resursi i testna okruženja
- Složena arhitektura aplikacije i poslovna logika koja ograničava usvajanje DevOps-a.
Zaključak
- U softverskom inženjerstvu, kontinuirano testiranje je proces ranog testiranja, čestog testiranja, testiranja posvuda i automatizacije.
- Stari način testiranja bio je usmjeren na handoff. Softver se predaje s jednog tima na drugi
- Jenkins, Travis i Selenium popularna su kontinuirana testiranja i Integracijski alati.
- Kontinuirano testiranje daje djelotvorne povratne informacije prema svakoj fazi cjevovoda isporuke.
- Kontinuirano testiranje pomaže u poboljšanju kvalitete koda
- Tradicionalni proces ograničava kulturološki pomak među stručnjacima za razvoj i osiguranje kvalitete.
- Duži ciklusi integracije koda stvaraju probleme integracije i kasne popravke nedostataka