continuous testing devops
Čo je to nepretržité testovanie a priebežné testovacie potrubie v DevOps?
Dúfam, že sa vám všetkým posledný tutoriál páčil Nepretržité nasadenie v DevOps .
Vieme, aké dôležité je testovanie pri akejkoľvek dodávke softvéru a že DevOps je krátky cyklus dodávok, takže nie je možné spustiť všetky navrhnuté testovacie prípady zakaždým manuálne, keď sa v nástroji na správu verzií aktualizuje jeden riadok kódu, a to je miesto, kde sa neustále testovanie a automatizovaný kontinuálny testovací kanál prichádzajú do obrazu v DevOps.
Navrhované čítanie => Výukový program pre vývojárov DevOps od začiatku
Výhody CT:
-
- Kvalita a rýchlosť sú obrovskými výhodami CT.
- Rýchlejšia a rýchlejšia spätná väzba ku kódu.
- Zvyšuje dôveru tímu a povzbudzuje ich k neustálemu zlepšovaniu.
VIDEO Časť 3 Blok 4: Nepretržité testovanie- 14 minút 39 sekúnd
Prepis:
V tomto bloku sa dozvieme o Priebežné testovanie a priebežné testovacie potrubie podrobne.
Nepretržité testovanie je ďalším dôležitým procesom procesu kontinuálneho doručovania spolu s technológiou Continuous Integration, ktorá zahrnuje: rôzne fázy testovania pričom automatizované testy prebiehajú spolu s automatizovanými bránami kvality medzi nimi.
Priebežné testovanie je teda vykonávanie automatizovaných testov nepretržite a opakovane proti kódovej základni a rôznym prostrediam nasadenia.
Súčasťou nepretržitého testovania, ktoré prebieha v automatizovanom potrubí pre nepretržité testovanie, sú hlavne jednotkové testy, analýza statického kódu, analýza bezpečnostného kódu, integračné testy, záťažové a výkonové testy.
Pretože nepretržitá integrácia a nepretržité nasadenie sa nazývajú CI, CD, nepretržité testovanie sa častejšie nazýva CT.
Ak vidíte tento diagram, ktorý je potrubím na nepretržité doručovanie, tento kanál obsahuje dva kanály, jedným je kanál na zostavenie, ktorý je potrubím CI, alebo kanál na nepretržitú integráciu, ktorý pozostáva z automatického spúšťača zostavenia, kompilácie, budovania a nasadenia.
Druhým z nich je testovacie potrubie, ktoré predstavuje nepretržité testovacie potrubie
najlepší hudobný prehrávač a downloader pre Android
Pozrime sa teraz na ďalšie informácie o nepretržitom testovaní.
Vieme, aké dôležité je testovanie, testovanie každého riadku kódu ... testovanie zakaždým ... a testovanie v rôznych fázach. Je takmer nemožné spustiť všetky navrhnuté testy zakaždým, keď sa riadok kódu aktualizuje na riadenie verzie.
Tam prichádza na rad nepretržité testovanie.
Pokiaľ sa teda kód, ktorý sa dostane do automatizovaného kontinuálneho integrovaného potrubia, podrobí dôkladnému testovaniu a zaisteniu požadovanej kvality, uvoľnenie softvéru zákazníkom nemá zmysel. Myslím tým, že kvalitu nie je možné zabezpečiť, pokiaľ nebude kód dôkladne otestovaný.
Nepretržité testovanie, ako je definované skôr, znamená vykonávanie rôznych typov testov nepretržite na kódovej základni a na rôznych prostrediach, do ktorých sa nasadzuje, ako je preddefinované a navrhnuté v plynovode kontinuálneho doručovania.
Ako vidíte na obrázku, jednotkové testy prebiehajú na samotnom serveri CI, ktorý testuje každú jednotku systému izolovane.
zadaná brána ip je neplatná
Integračné testy prebiehajú v integračnom prostredí, ktoré v zásade overuje komponenty integrované dohromady. Testy systému v prostredí testovania systému, kde sa systém BIG so všetkými integrovanými komponentmi a rozhraniami testuje prostredníctvom scenárov na úrovni systému v prostredí testovania systému atď.
A ako sa simulácia prostredia približuje k produkcii, hĺbka testovania často postupuje.
Neustále testovanie sa s postupujúcim vývojom v produkčnom prostredí postupne stáva tvrdším a dlhším, pretože s postupujúcim vývojom kódu a zložitosťou prostredia musíme pomaly pridávať množstvo testov a zložitejších testov.
Nie je to tak, že by sa mohli spúšťať rovnaké testovacie prípady, testovacie prípady je potrebné aktualizovať zakaždým v rôznych fázach a aktualizujú sa automatizované skripty, pretože kód bude vyzretejší a postupuje do vyššej úrovne prostredia, kde sa konfigurácie a infraštruktúra tiež až kým sa nedostane do výroby.
Takže aj čas potrebný na vykonanie testov sa zvyšuje s postupujúcim testovaním smerom k bodu uvoľnenia, napríklad testovanie jednotky môže trvať oveľa kratšie, zatiaľ čo spustenie niektorých testov integrácie alebo testov systému alebo načítania môže trvať niekoľko hodín alebo môže trvať pár dní do behu.
Priebežné testovanie by tu malo viesť hlavne k automatizovaným testovacím prípadom automaticky so spúšťačom. Ale ako sme už skôr definovali, nepretržité dodávanie zahŕňa aj určité ručné testy a brány, pri ktorých sa určité testy vykonávajú manuálne pred tlačením do výroby.
Tieto brány strednej kvality v každej fáze testovania zvyšujú dôveru v kód.
Priebežné testovacie potrubie ako také obsahuje testovanie jednotiek spolu s predbežnými automatizovanými bezpečnostnými overeniami. Potom sa dostane na integračnú úroveň testovania, kde sa spúšťajú automatizované integračné testy, potom na systémovú úroveň, kde sa automatizujú a spúšťajú scenáre na úrovni systému.
Tu sa tiež uskutočňujú určité scenáre testovania výkonu.
Potom prejde na „Akceptačné testovanie“, ktoré v zásade zahŕňa automatizované testovacie prípady prijatia stránok, a nakoniec na „Akceptačné testovanie používateľov“, čo by mohlo byť manuálne vykonanie a zahŕňa účasť koncového používateľa na vykonaní testov a toto bude druh konečného odhlásenia z produktu alebo funkcie, pri ktorej sa vyvolá manuálna brána a nakoniec sa nasadí na miesto výroby.
Takže s postupujúcim kontinuálnym testovaním sa v podstate zložitosť testov a testovacieho prostredia zvyšuje a dostáva sa do prostredia, ktoré je bližšie k produkcii, ako je simulácia.
Nemusím konkrétne spomínať, že všetky tieto fázy testovania zahŕňajú testy overovania zostavenia, testy zdravého rozumu, testy dymu a regresné testy, opäť, ako som už povedal, záleží na tom, čo navrhujeme v rámci kontinuálneho testovania a dodávania.
Toto je typické potrubie na nepretržité testovanie, ktoré môže tím navrhnúť na základe typu produktu a rôznych úrovní testovania a typov testovania, ktoré produkt vyžaduje.
Nepretržité testovanie vyžaduje integráciu automatizačného rámca s nástrojom na správu verzií a nástrojom CI a rôznymi automatizovanými nástrojmi na vykonávanie funkčného a nefunkčného testovania v rôznych fázach testovania, napríklad:
- Sonar na analýzu statického kódu,
- Opevniť pre bezpečnú analýzu kódu,
- Selén na funkčné skúšky,
- Nosič pre testovanie záťaže atď.,
Microsoft TFS, Jenkins, šéfkuchár, bábka je niekoľko nástrojov, ktoré sú na trhu k dispozícii na návrh potrubia CI-CD.
Ide ale o to, že tieto nástroje nemusia podporovať úplnú automatizáciu typu end-to-end, v závislosti na použitom nástroji na správu verzií, takže len málo organizácií môže uprednostniť vývoj svojich vlastných automatizačných rámcov, čo umožňuje automatizáciu procesu dodania z kódu medzi koncovými bodmi. zaviazať sa k doručeniu kódu.
Nepretržité testovanie, ktoré je veľmi dôležitou súčasťou testovania, zaisťuje kvalitu produktu alebo verzie. Mali by ste byť veľmi opatrní pri výbere nástroja, rámca atď., Ktorý primárne určuje kvalitu a rýchlosť dodania.
Takže nastavenie správneho potrubia pre nepretržité testovanie trvá v potrubí pre nepretržité doručovanie trochu viac času. Nielen na nástrojovej a rámcovej časti, ale aj na testovacej časti. Nepretržité testovanie tiež zahŕňa definovanie potrubia nasadenia v rámci.
Pretože CT vyžaduje automatizované nasadenie na rôznych prostrediach v rôznych fázach, čo si vyžaduje automatizáciu nasadenia a nastavenie prostredí pomocou automatizovaných skriptov.
Tieto automatizované skripty, ktoré zahŕňajú nastavenie konfigurácie infraštruktúry a prostredia ako kódu, sa kontrolujú v nástroji na správu verzií a dodávkový kanál ho preberá z nástroja na správu verzií na vykonanie nasadenia. Toto sa nazýva pipeline nasadenia.
Teraz prichádzajme k výhodám CT,
Dosiahnutie kvality a rýchlosti je najväčšou výhodou nepretržitého testovania.
Na rozdiel od predchádzajúcich, kde sa testovanie uskutočňovalo až na konci, je testovanie v celom rozsahu konceptom nepretržitého testovania, a teda nepretržité testovanie v distribučnom potrubí umožňuje tímu zaviesť kvalitné brány kdekoľvek a ľubovoľný počet kvalitných brán, aby dosiahnuť potrebnú úroveň kvality.
Ak teda kód zlyhá pri testovaní v ktoromkoľvek konkrétnom bode alebo bráne v potrubí, tím sa môže vrátiť späť a automaticky zlyhá celé nasadenie až do tohto bodu.
To dáva tímu Dev a Ops jasnú indíciu, že tam niečo chýba a tím môže pracovať na náprave. To je teda výhoda a flexibilita potrubia neustáleho testovania.
Zavedenie brány kvality v rôznych testovacích fázach teda lepšie určuje kvalitu kódu.
Čím viac bude bránou prechádzať brána, tým viac bude dôvera tímu v kód, že sa dokáže dostať do výroby na vyššej úrovni kvality.
Neustále testovanie teda zvyšuje dôveru tímu a povzbudzuje ich k neustálemu zlepšovaniu.
aký je najlepší bezplatný sťahovač hudby
Celkovo možno povedať, že ak tím skutočne nezanedbá žiadne zlyhanie testu v ktorejkoľvek fáze testu alebo v bráne kvality, bude neustále testovanie bonusom k dosiahnutiu cieľov vysokej kvality.
Takže záver o nepretržitom testovaní, hneď od testov jednotky, ktoré sa vykonávajú počas predbežnej fázy cez akceptačné testovanie, je testovanie výkonu a dokonca aj niektoré manuálne testy, ktoré sa majú spustiť, VEĽMI VEĽMI kritické pre definovanie nepretržitého testovania v potrubí DevOps.
Týmto sa dokončuje naša diskusia o témach časti 3 o nepretržitej integrácii, nepretržitom dodávaní a neustálom testovaní.
V našom pripravovanom výučbe si povieme viac o Správa konfigurácie, správa vydaní a monitorovanie výkonu aplikácií.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Nepretržité nasadenie v DevOps
- Nepretržité doručovanie v DevOps
- Top 10 nástrojov na nepretržité testovanie na testovanie DevOps (zoznam 2021)
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Výukový program pre testovanie DevOps: Ako DevOps ovplyvní testovanie kvality?
- Rekapitulácia videonávodov pre DevOps
- Nepretržitá integrácia do DevOps
- Stiahnutie e-knihy Testing Primer