devops testing tutorial
Výukový program pro testování DevOps: Nedávný průzkum RightScale zjistil, že 54% společností přijalo DevOps a zájem kolem DevOps rychle roste.
V tomto článku se dozvíme, jak tato nová metodologie vývoje softwaru ovlivní QA a jak by se měla funkce QA jako celek vyvinout, aby tuto změnu přijala.
jak vytvořit Junit testovací případy v Javě
Podívejte se => Kompletní řada výukových programů DevOps
V tomto článku se dozvíme více o DevOps a jak to ovlivní QA a její funkce.
Co se naučíte:
Co je DevOps?
DevOps - je kombinace Devútěk &Naerace - jde o metodiku vývoje softwaru, která se snaží integrovat všechny funkce vývoje softwaru od vývoje po provoz ve stejném cyklu.
To vyžaduje vyšší úroveň koordinace mezi různými zúčastněnými stranami v procesu vývoje softwaru (jmenovitě Vývoj, QA a provoz )
Cyklus DevOps
Ideální cyklus DevOps by začal od:
- The Dev psaní kódu
- Vytváření a nasazování binárních souborů v prostředí QA
- Provádění testovacích případů a nakonec
- Nasazení na produkci v jednom plynulém integrovaném toku.
Je zřejmé, že tento přístup klade velký důraz na automatizaci sestavení, nasazení a testování. Díky použití nástrojů pro kontinuální integraci (CI) se nástroje pro automatizaci testování staly normou v a DevOps cyklus.
Proč DevOps?
Ačkoli mezi nimi existují jemné rozdíly Agilní testování a testování DevOps , ti, kteří pracují s Agile, najdou DevOps trochu lépe seznámení s prací (a nakonec přijmou). I když jsou agilní principy úspěšně aplikovány ve vývojových a QA iteracích, jde o úplně jiný příběh (a často kost sporu) na straně operací. DevOps navrhuje tuto mezeru napravit.
Nyní místo nepřetržité integrace DevOps zahrnuje „kontinuální vývoj“ , kde byl kód napsán a potvrzen pro řízení verzí, bude vytvořen, nasazen, testován a nainstalován v produkčním prostředí, které je připraveno ke spotřebě koncovým uživatelem.
Tento proces pomáhá všem v celém řetězci, protože prostředí a procesy jsou standardizovány. Každá akce v řetězci je automatizovaná. Poskytuje také svobodu všem zúčastněným stranám, aby soustředily své úsilí na navrhování a kódování vysoce kvalitního produktu, místo aby se staraly o různé procesy budování, provozu a QA.
Snižuje drasticky dobu životnosti na přibližně 3 - 4 hodiny, od napsání a potvrzení časového kódu, až po nasazení v produkci pro spotřebu koncového uživatele.
Stručně řečeno, DevOps je rozšířením Agile, nebo bych jej rád nazval „Agile on Steroids“.
Změna role QA v DevOps
Tradičně by QA získala sestavení, které je nasazeno v jejich určeném prostředí, a QA by pak zahájila jejich Funkční & Regresní testování . Sestava by v ideálním případě seděla s QA několik dní před odhlášením QA na sestavení. Všechny tyto kroky se v DevOps mění.
Změny QA pro testování DevOps:
- QA jsou povinni sladit své úsilí v cyklu DevOps.
- Musí se ujistit, že všechny jejich testovací případy jsou automatizované a dosahují téměř 100% pokrytí kódu.
- Musí se ujistit, že jejich prostředí je standardizováno a nasazení v jejich krabicích QA je automatizované.
- Všechny jejich úkoly před testováním, čištění, úkoly po testování atd. Jsou automatizovány a sladěny s cyklem kontinuální integrace.
Jak již bylo zmíněno, DevOps vyžaduje vysokou úroveň koordinace mezi různými funkcemi dodávaného řetězce. To také znamená, že hranice mezi různými rolemi přispěvatelů v řetězci jsou porézní.
DevOps vybízí každého, aby přispěl do řetězce . Takže mimo jiné může vývojář konfigurovat nasazení. Technici nasazení mohou do úložiště QA přidat testovací případy. Technici QA mohou nakonfigurovat své testovací případy automatizace do řetězce DevOps.
Všichni v řetězci společně odpovídají za kvalitu a včasnost dodávek.
DevOps a automatizace testů
K dosažení takové rychlosti a hbitosti je důležité automatizovat všechny testovací procesy a nakonfigurovat je tak, aby se spouštěly automaticky po dokončení nasazení v prostředí QA. K dosažení této integrace se používají speciální nástroje pro testování automatizace a nástroje pro nepřetržitou integraci.
To také vyžaduje vybudování vyspělého rámce pro testování automatizace, pomocí kterého lze rychle skriptovat nové testovací případy.
Strategie testování DevOps: Tipy pro úspěch DevOps
- Je třeba identifikovat testovací případy, které je nutné provést pro konkrétní sestavení.
- Provedení testu by mělo být v zásadě štíhlé.
- QA a Dev musí sedět společně a identifikovat postižené oblasti v důsledku konkrétního sestavení a provedení těchto souvisejících testovacích případů plus testovací zkoušky zdravého rozumu.
- Musíte také nakonfigurovat speciální nástroje pro analýzu a pokrytí kódu, abyste se ujistili, že dosáhnete téměř 100% pokrytí kódu.
- Koncept provádění Všechno případy regresních testů pro testovací průchod brzy zastarají.
- Je třeba formalizovat strategii testování nových funkcí a prozatímní sestavení lze dodat QA, který by zase vytvořil testovací skripty a spustil tyto automatizační testy na prozatímních sestaveních, dokud se kód nestane dostatečně stabilní, aby mohl být nasazen do produkčního prostředí .
- Všechna prostředí potřebná pro testování musí být standardizována a nasazení musí být automatizována.
- Pomocí různých automatizačních technik by QA měla být schopna spouštět běhy testování automatizace napříč různými platformami (a v případě webových aplikací napříč prohlížeči).
- Paralelní provádění testů pomáhá snižovat dobu životnosti, což je jádro úspěšné implementace DevOps.
- Kritéria pro ukončení je třeba nastavit pro každý běh, takže když se výsledky testů vrací zpět do řetězce, je přijato rozhodnutí go / no-go do Production.
- Nalezené blokátory nebo kritické chyby je třeba nahlásit a opravit a předat stejným řetězcem událostí před nasazením kódu v produkčním prostředí.
Monitorování aplikací
QA by také měla být schopna včas odhalit problémy a proaktivně je hlásit. Aby toho dosáhli, musí nastavit monitorování v produkčním prostředí, aby mohli odhalit chyby dříve, než způsobí poruchu.
Nastavení specializovaných čítačů, jako jsou doby odezvy, využití paměti a CPU atd., Může poskytnout mnoho informací o zkušenostech koncových uživatelů.
Například , pokud se průměrná doba odezvy pro přihlášení během různých sestavení postupně zvyšuje, měla by QA proaktivně hlásit tento problém pro optimalizaci přihlašovacího kódu, jinak by budoucí sestavení mohla způsobit frustraci koncového uživatele kvůli vysokým dobám odezvy.
QA může také použít malou podmnožinu stávajících testovacích případů s vysokou prioritou, které se mají pravidelně provádět v produkci, k aktivnímu monitorování prostředí. Chyby jako: „Tato chyba se někdy objevuje“ nebo „ Nelze reprodukovat „Lze zachytit prostřednictvím této strategie, která nakonec učiní aplikaci stabilnější a také získá spokojenější koncové uživatele.
Opět je nutné tyto monitory nakonfigurovat tak, aby se spouštěly automaticky s bohatými hlášeními (jako jsou protokoly a snímky obrazovky s poruchami atd.).
Závěr
Waterfall ustoupil modelu V-Model, který byl zase nahrazen Agile jako preferovanou volbou pro vývoj softwaru.
DevOps je budoucnost. Jedná se o cyklus neustálého zlepšování, kterým modely vývoje softwaru čas od času procházejí. Musíte to přijmout, pochopit a vštípit.
Musíte zvládnout různé automatizační a kontinuální integrační nástroje, aby vaše automatizační úsilí přidalo hodnotu řetězci a bylo dostatečně štíhlé, aby se rychle přizpůsobilo změnám. Možná pracujete na projektech, které mohou zahrnovat alfa , beta a UAT prostředí před nasazením v produkčním prostředí.
Koncept v zásadě zůstává stejný. Automatizace a další automatizace je jádrem úspěšného cyklu DevOps. Ale jako QA byste měli být schopni udělat čáru, kolik automatizace je příliš mnoho automatizace.
O autorovi: Aniket Deshpande pracuje jako manažer QA ve společnosti AFour Technologies „Pune a posledních 9 a více let pracuje v oblasti testování softwaru v různých doménách a platformách. Nadšeně se věnuje DevOps a pracuje jako konzultant při vedení organizací při přijímání strategií testování DevOps.
Pokud vás zajímá více informací nebo chcete implementovat DevOps a související testovací přístup ve vaší organizaci, neváhejte Kontakt autor.
Co si myslíte o testování DevOps? Myslíte si, že tím, že se vývojářům a operátorům podaří spolupracovat, může to projektu prospět?
Sdělte nám své připomínky / návrhy k tomuto článku.
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Kontinuální testování v DevOps
- Výukový program DevOps: The Ultimate Guide to DevOps (25+ Tutorials)
- Demystifikování DevOps: Výukový program pro videa (část 1)
- Top 10 nástrojů pro kontinuální testování pro testování DevOps (seznam 2021)
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Co je testování softwaru? 100+ návodů na ruční testování zdarma
- Funkční testování vs. nefunkční testování
- Alfa testování a beta testování (kompletní průvodce)