Kontinuirano ispitivanje
Kontinuirano testiranje u DevOpsu je vrsta softverskog testiranja koja uključuje testiranje softvera u svakoj fazi životnog ciklusa razvoja softvera. Cilj kontinuiranog testiranja je procjena kvalitete softvera na svakom koraku kontinuiranog procesa isporuke ranim testiranjem i često testiranjem.
Postupak kontinuiranog testiranja u DevOpsu uključuje dionike poput Developer, DevOps, QA i Operativni sustav.
U ovom ćete tutorijalu naučiti
- Što je kontinuirano testiranje?
- Po čemu se kontinuirano testiranje razlikuje?
- Po čemu se kontinuirano testiranje razlikuje od automatizacije ispitivanja?
- Kako raditi kontinuirano testiranje
- Alati za kontinuirano ispitivanje
- Prednosti kontinuiranog ispitivanja
- Izazovi kontinuiranog ispitivanja
Po čemu se kontinuirano testiranje razlikuje?
Stari način testiranja bio je usredotočen na središte. Softver je podijeljen iz jednog tima u drugi. Projekt bi imao određene faze razvoja i osiguranja kvalitete. QA timovi uvijek su željeli više vremena kako bi osigurali kvalitetu. Cilj je bio da kvaliteta prevlada nad rasporedom projekata.
Međutim, posao želi bržu isporuku softvera krajnjem korisniku. Što je softver noviji, to se bolje može prodavati i povećati potencijal prihoda tvrtke. Stoga je razvijen novi način ispitivanja.
Kontinuirano znači neprekidno ispitivanje koje se provodi kontinuirano. U kontinuiranom procesu DevOps, promjena softvera (kandidat za izdanje) kontinuirano se kreće od razvoja do testiranja do primjene.
Kôd se kontinuirano razvija, isporučuje, testira i primjenjuje.
Na primjer, kad god programer provjeri kôd na poslužitelju izvornog koda poput Jenkins automatiziranog skupa jediničnih testova koji se izvode u kontinuiranom procesu. Ako testovi ne uspiju, gradnja se odbija i o tome se obavještava programer. Ako gradnja prođe test, raspoređuje se na performanse, QA poslužitelje za iscrpne funkcionalne i testove opterećenja. Ispitivanja se izvode paralelno. Ako testovi prođu, softver se postavlja u proizvodnju.
Kontinuirano testiranje mali je zupčanik u ciklusu kontinuiranog razvoja, integracije i primjene.
Razvoj softvera nije isti kao u prošlosti, razvoj smo smanjivali iz mjeseca u tjedne. Trenutni niz testiranja (vidi gornju sliku) naslovljen je prema testiranju korisničkog sučelja. Ali cilj je imati sve više automatiziranih jediničnih testova.
Po čemu se kontinuirano testiranje razlikuje od automatizacije ispitivanja?
Automatizacija ispitivanja vs kontinuirano testiranje
Parametar | Test automatizacija | Kontinuirano ispitivanje |
---|---|---|
Definicija | Automatizacija ispitivanja postupak je u kojem se alat ili softver koristi za automatizaciju zadataka. | To je metodologija ispitivanja softvera koja se fokusira na postizanje kontinuirane kvalitete i poboljšanja. |
Svrha | Skup sličnih ili ponavljajućih zadataka, stroj može izvršiti, brže, s manje pogrešaka. | Kontinuirani postupak ispitivanja pomaže u pronalaženju rizika, rješavanju istih i poboljšanju kvalitete proizvoda. |
Preduvjet | Moguća je automatizacija u testiranju bez integriranja kontinuiranog ispitivanja. | Kontinuirano testiranje ne može se provesti bez automatizacije ispitivanja. |
Vrijeme | Izdanje softvera može potrajati mjesec do godina. | Izdanje softvera može se izdavati tjedno do svakog sata. |
Povratne informacije | Redovite povratne informacije nakon testiranja svakog izdanja. | Povratne informacije u svakoj fazi moraju biti trenutne. |
Povijest | Automatizirano testiranje radilo se desetljećima kako bi se postupak testiranja ubrzao. | Kontinuirano testiranje relativno je noviji koncept. |
Kako raditi kontinuirano testiranje
- Upotreba alata za generiranje paketa automatizacije testova na osnovu korisničkih priča / zahtjeva
- Stvorite testno okruženje.
- Kopirajte i anonimizirajte proizvodne podatke da biste stvorili podlogu za testne podatke
- Koristite virtualizaciju usluge za testiranje API-ja
- Paralelno ispitivanje performansi
Alati za kontinuirano testiranje
Evo slijedećeg popisa najboljih alata za kontinuirano testiranje :
1) QuerySurge
QuerySurge je pametno rješenje za testiranje podataka koje je prvo jedinstveno cjelovito rješenje DevOps za kontinuirano testiranje podataka. Ključne značajke uključuju robusni API s više od 60 poziva, detaljnu inteligenciju podataka i analitiku podataka, besprijekornu integraciju u cjevovod DevOps za kontinuirano testiranje i brzu provjeru velike količine podataka.
Započnite testiranje besplatno
2) Jenkins
Jenkins je alat za kontinuiranu integraciju koji je napisan na jeziku Java. Ovaj se alat može konfigurirati putem GUI sučelja ili naredbi konzole.
Link za preuzimanje: https://jenkins.io/
3) Travis
Travis je alat za kontinuirano testiranje koji se nalazi na GitHubu. Nudi hostirane i lokalne varijante. Pruža niz različitih jezika i dobru dokumentaciju.
Poveznica za preuzimanje: https://travis-ci.org/
4) Selen
Selenium je alat za testiranje softvera otvorenog koda. Podržava sve vodeće preglednike kao što su Firefox, Chrome, IE i Safari. Selenium WebDriver koristi se za automatizaciju testiranja web aplikacija.
Poveznica za preuzimanje: https://www.seleniumhq.org/
Prednosti kontinuiranog ispitivanja
- Ubrzati isporuku softvera
- Kontinuirano testiranje poboljšava kvalitetu koda
- Pomaže u procjeni točnog pokrića poslovnog rizika.
- Neprimjetno se integrira u DevOps proces
- Pomaže u stvaranju agilnog i pouzdanog procesa za samo nekoliko sati, umjesto mjeseci.
- Ubrzava vrijeme izlaska na tržište kontinuiranim mehanizmom povratnih informacija.
- Spaja tradicionalno spojene timove kako bi udovoljili modernim potrebama poduzeća. Rješava razdvojenost između razvojnih, ispitnih i operativnih timova.
- Automatizacija testa pomaže postići dosljednost održavanjem iste konfiguracije za sve relevantne testove.
- Naglašava poslovna očekivanja radi ublažavanja poslovnih rizika
- Pružanje sveprisutnog pristupa testnom okruženju s virtualizacijom usluge
Izazovi kontinuiranog testiranja
- Tradicionalni postupak ograničava kulturni pomak među stručnjacima za razvoj i osiguranje kvalitete.
- Nedostatak DevOps vještina i pravih alata za testiranje u agilnim i DevOps okruženjima.
- Heterogena testna okruženja koja nikada neće odražavati proizvodno okruženje.
- Uobičajeni postupak ispitivanja i slabo definirano upravljanje podacima o ispitivanju.
- Duži ciklusi integracije koda stvaraju probleme s integracijom i kasne ispravke kvarova
- Nedovoljni i neučinkoviti resursi i test okruženja
- Složena arhitektura aplikacija i poslovna logika koja ograničava usvajanje DevOpsa.
Zaključak:
- U softverskom inženjerstvu kontinuirano testiranje postupak je ranog testiranja, često testiranje, testiranje svugdje i automatizacija.
- Stari način testiranja bio je usmjeren na primopredaju. Softver se predaje iz jednog tima u drugi
- Jenkins, Travis i Selenium popularni su alati za kontinuirano testiranje i integraciju.
- Kontinuirano ispitivanje daje djelotvorne povratne informacije u skladu sa svakom fazom dovodnog cjevovoda.
- Kontinuirano testiranje pomaže poboljšati kvalitetu koda
- Tradicionalni postupak ograničava kulturni pomak među stručnjacima za razvoj i osiguranje kvalitete.
- Duži ciklusi integracije koda stvaraju probleme s integracijom i kasne ispravke kvarova