Nuolatinis testavimas
Nuolatinis testavimas „DevOps“ yra programinės įrangos testavimo tipas, kuris apima programinės įrangos testavimą kiekviename programinės įrangos kūrimo gyvavimo ciklo etape. Nuolatinio testavimo tikslas yra įvertinti programinės įrangos kokybę kiekviename tęstinio pristatymo proceso etape, atliekant ankstyvą ir dažnai testavimą.
Nuolatinis „DevOps“ testavimo procesas apima tokias suinteresuotąsias šalis kaip „Developer“, „DevOps“, QA ir „Operational system“.
Šioje pamokoje sužinosite
- Kas yra nuolatinis testavimas?
- Kuo skiriasi nuolatinis testavimas?
- Kuo nuolatinis testavimas skiriasi nuo testavimo automatikos?
- Kaip atlikti nuolatinį testavimą
- Nuolatinio testavimo įrankiai
- Nuolatinio bandymo nauda
- Nuolatinio testavimo iššūkiai
Kuo skiriasi nuolatinis testavimas?
Senasis bandymų būdas buvo orientuotas į rankas. Programinė įranga buvo perduota iš vienos komandos į kitą. Projektas turėtų apibrėžtus kūrimo ir kokybės užtikrinimo etapus. QA komandos visada norėjo daugiau laiko, kad užtikrintų kokybę. Tikslas buvo, kad kokybė turėtų viršyti projekto tvarkaraštį.
Tačiau verslas nori greitesnio programinės įrangos pristatymo galutiniam vartotojui. Kuo naujesnė yra programinė įranga, tuo geriau ją galima parduoti ir padidinti įmonės pajamų potencialą. Taigi buvo sukurtas naujas bandymų būdas.
Nenutrūkstamas reiškia nenutrūkstamą nuolat atliekamą bandymą. Vykdant nuolatinį „DevOps“ procesą, programinės įrangos pakeitimas (leidimo kandidatas) nuolat pereina nuo kūrimo prie bandymo prie diegimo.
Kodas nuolat tobulinamas, pristatomas, testuojamas ir diegiamas.
Pavyzdžiui, kai kūrėjas patikrina kodą šaltinio kodo serveryje, pvz., „Jenkins“ automatinis rinkinių testų rinkinys vykdomas nuolatinio proceso metu. Jei bandymai nepavyksta, sukūrimas atmetamas ir pranešama kūrėjui. Jei komponavimas išlaikys testą, jis bus įdiegtas į našumo, kokybės užtikrinimo serverius, kad būtų atlikti išsamūs funkciniai ir apkrovos testai. Testai vykdomi lygiagrečiai. Jei bandymai praeina, programinė įranga diegiama gamyboje.
Nuolatinis testavimas yra nedidelis nuolatinio kūrimo, integravimo ir diegimo ciklo sraigtelis.
Programinės įrangos kūrimas nėra tas pats, kaip ir anksčiau, mes kūrimą mažinome nuo mėnesio iki savaitės. Dabartinis bandymų kaminas (žr. Paveikslėlį aukščiau) yra skirtas vartotojo sąsajos testavimui. Tačiau tikslas yra vis daugiau automatizuotų vieneto testų.
Kuo nuolatinis testavimas skiriasi nuo testavimo automatikos?
Testo automatika ir nuolatinis testavimas
Parametras | Testavimo automatika | Nuolatinis testavimas |
---|---|---|
Apibrėžimas | Testavimo automatika yra procesas, kai įrankis ar programinė įranga naudojama užduotims automatizuoti. | Tai programinės įrangos testavimo metodika, kurios pagrindinis tikslas yra nuolatinis kokybė ir tobulinimas. |
Tikslas | Panašių ar pasikartojančių užduočių rinkinį mašina gali atlikti greičiau, su mažiau klaidų. | Nuolatinis bandymų procesas padeda rasti riziką, jas pašalinti ir pagerinti produkto kokybę. |
Būtina sąlyga | Automatizuoti bandymus įmanoma be integruotų nuolatinių bandymų. | Nuolatinis testavimas negali būti vykdomas be bandymų automatizavimo. |
Laikas | Programinės įrangos išleidimas gali trukti nuo mėnesio iki metų. | Programinės įrangos leidimas gali būti leidžiamas nuo savaitės iki valandos. |
Atsiliepimas | Reguliarus grįžtamasis ryšys išbandžius kiekvieną leidimą. | Atsiliepimai kiekviename etape turi būti greiti. |
Istorija | Automatizuotas testavimas buvo atliekamas dešimtmečius, kad testavimo procesas būtų greitesnis. | Nuolatinis testavimas yra gana naujesnė sąvoka. |
Kaip atlikti nuolatinį testavimą
- Naudojant įrankius, kad būtų sukurtas bandymų automatikos rinkinys iš vartotojo istorijų / reikalavimų
- Sukurti bandymo aplinką.
- Nukopijuokite ir anonimizuokite gamybos duomenis, kad sukurtumėte bandomųjų duomenų lentelę
- Norėdami išbandyti API, naudokite paslaugų virtualizavimą
- Lygiagretus veikimo testavimas
Nuolatinio tikrinimo įrankiai
Čia yra kuruojamas geriausių nuolatinio testavimo įrankių sąrašas :
1) „QuerySurge“
„QuerySurge“ yra išmanusis duomenų testavimo sprendimas, kuris yra pirmasis tokio tipo „DevOps“ sprendimas, skirtas nuolatiniam duomenų tikrinimui. Pagrindinės funkcijos yra tvirta API su daugiau nei 60 skambučių, išsami duomenų analizė ir duomenų analizė, vientisa integracija į „DevOps“ vamzdyną nuolatiniam testavimui ir greitai patikrinamas didelis duomenų kiekis.
Pradėkite bandymus nemokamai
2) Jenkinsas
„Jenkins“ yra nuolatinės integracijos įrankis, parašytas naudojant „Java“ kalbą. Šį įrankį galima sukonfigūruoti per GUI sąsają arba konsolės komandas.
Atsisiuntimo nuoroda: https://jenkins.io/
3) Travisas
„Travis“ yra nuolatinio testavimo įrankis, talpinamas „GitHub“. Jis siūlo priglobtus ir vietoje esančius variantus. Joje pateikiama įvairių kalbų įvairovė ir gera dokumentacija.
Atsisiųsti nuorodą: https://travis-ci.org/
4) Selenas
Selenas yra atvirojo kodo programinės įrangos testavimo įrankis. Jis palaiko visas pirmaujančias naršykles, tokias kaip „Firefox“, „Chrome“, IE ir „Safari“. „Selenium WebDriver“ naudojamas automatizuoti žiniatinklio programų testavimą.
Atsisiųsti nuorodą: https://www.seleniumhq.org/
Nuolatinio testavimo nauda
- Paspartinti programinės įrangos pristatymą
- Nuolatinis testavimas pagerina kodo kokybę
- Tai padeda įvertinti tikslų verslo rizikos padengimą.
- Jis sklandžiai integruojamas į „DevOps“ procesą
- Padeda sukurti judrų ir patikimą procesą per kelias valandas, o ne mėnesius.
- Pagreitina pateikimo į rinką laiką, naudodamas nuolatinį grįžtamojo ryšio mechanizmą.
- Susijungimai tradiciškai nutildė komandas, kad patenkintų šiuolaikinius įmonės poreikius. Tirpsta atjungimas tarp kūrimo, testavimo ir operacijų komandų.
- „Test Automation“ padeda pasiekti nuoseklumą išlaikydama tą pačią visų susijusių bandymų konfigūraciją.
- Pabrėžia verslo lūkesčius, siekiant sušvelninti verslo riziką
- Visuotinės bandomosios aplinkos prieigos suteikimas naudojant paslaugų virtualizavimą
Nuolatinio testavimo iššūkiai
- Tradicinis procesas riboja kultūrinius pokyčius tarp plėtros ir kokybės užtikrinimo specialistų.
- Trūksta „DevOps“ įgūdžių ir tinkamų įrankių testavimui „Agile“ ir „DevOps“ aplinkose.
- Heterogeninė bandymų aplinka, kuri niekada neatspindės gamybos aplinkos.
- Įprastas bandymų procesas ir laisvai apibrėžtas bandymo duomenų valdymas.
- Ilgesni kodų integravimo ciklai sukuria integracijos problemas ir vėluoja defektų taisymus
- Nepakankami ir neveiksmingi ištekliai ir bandymų aplinka
- Sudėtinga programų architektūra ir verslo logika, ribojanti „DevOps“ pritaikymą.
Išvada:
- Programinės įrangos inžinerijos srityje nuolatinis testavimas yra ankstyvo testavimo procesas, testavimas dažnai, testavimas visur ir automatizavimas.
- Senasis bandymų būdas buvo orientuotas į perdavimo procesą. Programinė įranga yra perduodama iš vienos komandos į kitą
- Jenkinsas, Travisas ir Selenas yra populiarūs nuolatinio testavimo ir integravimo įrankiai.
- Nuolatinis testavimas suteikia grįžtamąjį ryšį, atsižvelgiant į kiekvieną pristatymo vamzdyno etapą.
- Nuolatinis testavimas padeda pagerinti kodo kokybę
- Tradicinis procesas riboja kultūrinius pokyčius tarp plėtros ir kokybės užtikrinimo specialistų.
- Ilgesni kodų integravimo ciklai sukuria integracijos problemas ir vėluoja defektų taisymus