Agilní testování: klíč k vývoji vysoce kvalitního softwaru

Agilní testování: klíč k vývoji vysoce kvalitního softwaru

Jste připraveni se dozvědět více o agilním testování?

Agilní metodika využívá různé testy, aby zajistila, že finální produkt dokonale uspokojí potřeby zákazníků.

A pokud jste členem agilního týmu, měli byste testovat všechno.

Trochu jako Rick Sanchez, vědecký génius ze seriálu Rick a Morty.

To bylo všechno testovací GIF.

Proto v tomto článku použijeme příklady z Rick and Morty, abychom vám pomohli pochopit agilní testování.

Naučíte se základy všech 4 typů agilního testování, agilní testovací kvadranty a jak snadno spravovat svůj agilní testovací proces!

Pojďme na to!

Co je agilní?

Poznámka: Tato část je určena čtenářům, kteří se chtějí dozvědět základní informace o agilní metodice. Pokud jste s ní již obeznámeni, klikněte sem a přejděte k části věnované testování.

Agilní řízení projektů pomáhá týmům vytvářet lepší produkty více zaměřené na zákazníka v kratších vývojových cyklech, na rozdíl od tradičních metod řízení projektů.

Agilní metoda v zásadě vyhovuje geniálním myslitelům, jako je Rick.

Proč?

Nezdržuje jeho pokrok zbytečnými procesy, ale přesto mu umožňuje vytvářet skvělé produkty.

Zde je příklad, který vám pomůže pochopit, jak agilní metoda funguje:

Řekněme, že Rick chce vytvořit aplikaci, která bude sledovat polohu jeho vnuka (Mortyho), když jsou oba na dobrodružné výpravě. To Rickovi nejen pomůže lokalizovat Mortyho v paralelních dimenzích, ale také pomůže Mortyho rodičům sledovat, kde se jejich syn nachází.

Koneckonců víme, jak Rick nesnáší svého zetě Jerryho, který si stěžuje na jejich společná dobrodružství.

Rick měl dost Jerryho stížností.

Pokud by Rick použil tradiční metody řízení projektů, vyvinul by produkt od začátku do konce bez jakéhokoli přispění Jerryho. To by mohlo trvat roky a mohlo by to dokonce vést k finálnímu produktu, který by Jerry nenáviděl, protože s ním nikdo nekonzultoval!

Pokud však Rick použije agilní metodu, vytvoří aplikaci v několika krátkých „sprintů“ a po každém sprintu ji otestuje. Po testování požádá Jerryho o zpětnou vazbu a poté ji implementuje v dalším sprintu, až nakonec vytvoří finální aplikaci přesně podle Jerryho představ!

Vzhledem k tomu, že tyto sprinty zahrnují velké množství testování, agilní tým se spoléhá na sadu sofistikovaných a komplexních metod testování.

Pojďme se o nich dozvědět vše...

Poznámka: Ačkoli agilní metodiku lze přizpůsobit jakémukoli druhu projektu, v tomto článku se budeme zabývat jejími aplikacemi v softwarových projektech.

Co je agilní testovací rámec?

Metoda testování založená na agilních hodnotách a principech je známá jako agilní testovací rámec.

V důsledku toho se řídí některými pokyny z agilní metodiky vývoje, jako například:

Na základě těchto pokynů používá agilní tým 4 typy agilních testovacích technik:

(Kliknutím na ně přejdete k částem věnovaným jednotlivým typům testování. )

Proč ale agilní tým používá vlastní testovací metodu?

To je jako se divit, proč Rick vytváří své vlastní věci, místo aby je prostě koupil!

Rick vytváří své vlastní věci

Protože je to mnohem zajímavější!

Ale to samozřejmě není jediný důvod.

Agilní týmy používají odlišnou metodiku testování softwaru, protože tradiční metody testování nelze v agilním prostředí použít.

Podívejme se, jak se agilní testovací techniky liší od tradičního testování.

Rozdíl mezi tradičními a agilními technikami testování

1. Četnost testování

V tradičních metodikách řízení projektů, jako je testování Waterfall, se produkt testuje až po skončení vývojového cyklu. Ale protože rozsah testování by se do konce projektu exponenciálně zvýšil, tým buď odloží vydání produktu, nebo omezí testování softwaru.

Aby se tomu zabránilo, agilní metodika testování doporučuje kontinuální testování následované kontinuální integrací nových funkcí do produktu.

V agilním prostředí tým současně vytváří funkce a testuje jejich přesnost a výkon, což mu pomáhá dodávat spolehlivé produkty v termínu.

2. Povaha testovacího týmu

Tradiční testování obvykle provádí samostatný tým zajišťující kvalitu (QA), jehož úkolem je najít chyby v produktu. Tým QA však není součástí procesu řešení problémů s vývojáři, což může vést k vytváření informačních sil v týmu.

Agilní proces však závisí na mezifunkční spolupráci a vybudování komunikačního systému pro váš testovací tým.

Všechny týmy spolupracují na dosažení požadovaných výsledků a není třeba mít samostatný tým pro kontrolu kvality.

Vývojáři vytvářejí test, provádějí jej a také hledají řešení. Tím se zajišťuje, že všichni členové týmu mají stejný podíl na vlastnictví produktu.

Kdo je agilní tester?

Kdokoli v agilním týmu může být testerem a nikdo není najímán pouze pro tuto jednu práci.

Ale v souladu s Rickovým přesvědčením o odbornosti musí být agilní tester zběhlý v několika věcech:

4 typy agilního testování

Nyní, když znáte základy agilního testování, se seznámíme se 4 typy testování a způsobem jejich provádění.

Pojďme se ponořit do této nové dimenze!

Typ č. 1: Behavior Driven Development (BDD)

Vzpomínáte si, jak Rick uprchl z vězení s maximální ostrahou Galaktické federace?

Manipuloval systémem, aby jeho vyšetřovatelé uvěřili, že jeho plán selhal.

A tak se mu podařilo otočit celý zápas!

Rick manipuluje se systémem

Behavior Driven Development neboli BDD se řídí poněkud podobným procesem.

Protože produkt má test neprojít!

Proč?

Pokaždé, když produkt neprojde testem BDD, vývojáři přesně vědí, jak reaguje na daný scénář. Díky těmto informacím mohou vytvořit funkce, které toto chování napraví.

Jak se tedy provádí?

Testeři, vývojáři a obchodní analytici společně vytvoří seznam scénářů nebo „testovacích případů“, ve kterých chtějí produkt otestovat.

Jsou napsány v syntaxi Gherkin: Given/When/Then

Příklad testovacího případu pro Rickovu aplikaci pro sledování Mortyho by mohl být:

Pokud plán selže, když se Morty ztratí v prostoru a čase, pak by aplikace měla být schopna určit jak jeho polohu, tak časový rámec.

Testovací tým dále zdokonaluje kroky a procesy, které produkt použije k reakci na tuto situaci.

A protože testování probíhá souběžně s agilním vývojem, produkt by v těchto scénářích měl selhat!

Souběžně s testováním vývojáři vytvářejí funkce, které pomohou produktu projít testem BDD.

Testují produkt, dokud nefunguje, a s každým sprintem jej dále vylepšují.

Něco jako to, jak Rick, Morty a jeho sestra Summer našli způsob, jak rozdělit čas, aby mohli dělat věci současně!

Dělat věci současně

Stejně jako existují pravidla pro cestování v čase (která Rick téměř vždy dodržuje), je třeba při provádění testů BDD dbát na některé věci.

Mezi osvědčené postupy pro testování BDD patří:

  • Napište konkrétní, definované testovací případy, které jsou proveditelné.
  • Používejte automatizované testy, abyste zajistili jednotnost všech testovacích případů.
  • Omezte dokumentaci, ale nezapomeňte zaznamenat všechny důležité body.

Typ č. 2: Vývoj řízený akceptačními testy (ATDD)

ATDD neboli akceptační testování je velmi podobné testování BDD.

Oba postupují podle stejného procesu:

Napište kritéria testování –> Otestujte produkt –> Neúspěšný test –> Vytvořte funkce, které testem projdou –> Otestujte znovu –> Testem projděte

To, že se zdají podobné, však neznamená, že tomu tak skutečně je.

Trochu jako Rick a Morty, kteří si všimli „nepatrných rozdílů“ mezi nekonečnými vesmíry v nekonečných dimenzích.

Podobně se BDD a akceptační testování liší ve dvou klíčových bodech:

  • Zatímco ATDD se provádí za aktivní účasti zákazníka, BDD zahrnuje pouze obchodní analytiky (kromě vývojářů).
  • ATDD se zaměřuje na porozumění produktu prostřednictvím lidské interakce, a zahrnuje tedy i zákazníka. BDD však testuje pouze jeho technické chování.

To dále snižuje tlak na vývojáře, aby rozuměli (nebo předpokládali) potřeby svých zákazníků. Mohou je jednoduše zahrnout a zeptat se jich během procesu!

Příklad scénáře AcceptanceTest pro Rickův Morty tracker by mohl být:

Začlenění Jerryho, který není obeznámen s vědou o cestování v čase.

Ačkoli to možná nemá nic společného s technickými vlastnostmi produktu, je to zásadní pro zkušenost zákazníka s jeho používáním. Rick proto zapojí Jerryho, aby aplikaci otestoval a určil její použitelnost.

Zde je několik osvědčených postupů, které je dobré dodržovat při akceptačním testování:

  • Získejte zpětnou vazbu přímo od zákazníků pomocí fokusních skupin nebo průzkumů.
  • Do procesu zapojte i netechnické zaměstnance, kteří jsou v kontaktu se zákazníky, aby s nimi mohli komunikovat.
  • Vytvořte seznam „kritérií přijatelnosti“ a porovnejte jej se zaměstnanci, kteří jsou v kontaktu se zákazníky.
  • Udržujte reakce zákazníků v centru agilního vývojového procesu po testování.

Postupujte podle všech těchto pokynů a možná, jen možná, zachráníte Jerryho před ním samým!

Typ č. 3: Průzkumné testování

Vzpomínáte si, jak mezidimenzionální kabelová síť (kterou Rick a Morty tak milují) zdá se nemá scénář?

Explorativní testování nemá skript.

Ale právě proto to tak milujeme, že?!

A pokud jste fanouškem improvizovaných televizních pořadů, jako je Rick and Morty, explorativní testování se vám bude líbit, protože také nesleduje žádný scénář!

Testeři, kteří používají tuto metodu, chaoticky si hrají s produktem a napodobují chování uživatelů, aby našli chyby.

V této šílenosti však existuje určitá metoda!

Zatímco si hrají s produktem, explorativní testeři:

Díky tomu je tento proces vědecký, zábavný a dobrodružný... přesně to, co potřebujete, aby vás tato dynamická dvojice nadchla!

Rick a Morty jsou závislí

Aby bylo explorativní testování efektivní, můžete se řídit následujícími osvědčenými postupy:

  • Vytvořte podrobný záznam funkcí produktu, abyste je všechny otestovali.
  • Poznamenejte si funkce, které nebyly v jednotlivých kolech otestovány, abyste je mohli otestovat později.
  • Přizpůsobte své uživatelské profily tak, aby odpovídaly myšlení vaší cílové skupiny.
  • Zaznamenejte a sdělte co nejvíce podrobností

Typ č. 4: Testování založené na relacích

Testování založené na relacích je podobné explorativnímu testování, pokud jde o přijetí kreativního a volného testování.

Explorativní testování je však nejvhodnější pro zkušené testery, kteří jsou obeznámeni se všemi detaily produktu. Tato metoda proto neklade důraz na odpovědnost a strukturu.

V tom pomáhá testování založené na relacích.

Sleduje stejnou improvizační metodu testování, ale také aplikuje strukturu s:

  • Testovací charty, které stanovují cíle každé testovací relace
  • Časově ohraničené relace, během nichž mají testeři dokončit testování.
  • Testovací zprávy , které testeři předkládají, aby informovali o činnosti v každé relaci.
  • Debriefingy k projednání testovacích aktivit mezi testery a manažery po každé relaci

Tato metoda testování je ideální pro týmy, které čelí výzvám při přizpůsobování se tempu explorativního testování. Může však také sloužit jako odrazový můstek pro testovací tým, který chce přejít k otevřenějšímu přístupu k testování.

A abyste mohli co nejlépe využít testování založené na relacích, zde je několik osvědčených postupů, které byste měli dodržovat:

  • Vytvořte si předem plán testování (s programem pro každou relaci).
  • Definujte jasné cíle pro každou testovací relaci
  • Provádějte nepřerušované testovací relace
  • Proberte další kroky během debriefingu po skončení relace.

Co jsou agilní testovací kvadranty?

Je skvělé znát všechny různé typy testů.

Musíte se však naučit, jak tyto znalosti aplikovat, jinak skončíte s něčím zcela zbytečným, jako je toto.

Robot procházející máslem

Takže, který test byste měli použít a kdy?

A co je ještě důležitější, kdy byste měli do agilní testovací strategie zahrnout automatizované testování?

Agilní testovací kvadranty mají odpověď na obě tyto otázky a vypadají takto:

(Nebojte se, pokud vám to připadá matoucí, vše vám vysvětlíme!)

Tabulka strategií agilního testování

Kvadranty jsou odvozeny podle těchto specifikací:

  • Osa „X“: rozděluje testy na obchodní (reagující na potřeby zákazníků) a technologické (porozumění technickému chování produktu).
  • Osa „Y“: rozděluje testy podle toho, zda produkt podporujete, nebo kritizujete.

Z toho vyplývají 4 odlišné typy testování, které lze shrnout do následujících kvadrantů:

Agilní testovací kvadrant 1: Automatizované testy

Jedná se o soubor technologických nebo jednotkových testovacích metod, které pomáhají týmu vytvořit lepší produkt. Příklady: jednotkové testy, komponentové testy.

Agilní testovací kvadrant 2: Automatizované testování a manuální testování

Jedná se o testy zaměřené na podnikání, které pomáhají týmu vytvářet produkty s vyšší obchodní hodnotou. Příklad: funkční testy.

Agilní testovací kvadrant 3: Manuální testování

Jedná se o testy zaměřené na podnikání, jejichž cílem je poskytnout zpětnou vazbu pro zlepšení výkonu produktu. Příklady: testy přijatelnosti pro uživatele, explorativní testy.

Agilní testovací kvadrant 4: Nástroje

Jedná se o technické testy, které kontrolují výkon produktu v nefunkčních oblastech (které nejsou funkcemi orientovanými na zákazníka, jako je bezpečnost, údržba, škálovatelnost atd.). Příklady: testy výkonu a zátěže.

Agilní testování se řídí agilními hodnotami a principy, proto nedoporučuje žádná striktní pravidla pro testování. Místo toho vás vybízí k tomu, abyste se rozhodovali správně na základě požadavků vašeho týmu.

Nebo, jak to formuluje Rick:

Věda je spíše umění než věda

Například, i když jsou kvadranty očíslovány, nemusíte dodržovat stejné pořadí.

Typ testu si můžete vybrat na základě aktuálních požadavků vašeho produktu.

Zde je několik otázek, které si můžete položit před vytvořením testovacího plánu:

  • Má váš tým schopnosti (jak dovednosti, tak zdroje) provést konkrétní test?
  • Testujete prioritní funkce ve svém projektu?
  • Jak zorganizujete souběžné kontinuální testování a agilní vývojové procesy?
  • Potřebujete manuální testování nebo automatizaci testování?

Bonus: Kvadrant technického dluhu

Nakonec je jediná otázka, na kterou musíte odpovědět:

Co můžete udělat pro vytvoření produktu zaměřeného na zákazníka a jak vám v tom pomůže agilní testování?

Jak spravovat agilní testovací proces?

Vzpomínáte si, proč Galaktická federace a miliony žoldáků z celého vesmíru pronásledovaly Ricka kvůli jeho portálové zbrani?

Rickova portálová zbraň

To je život měnící síla opravdu dobrého nástroje!

A i když vaše cíle agilního testování nezahrnují cestování v čase a prostoru, váš proces testování a vývoje může být stejně náročný.

V procesu testování můžete narazit na některou z následujících překážek:

  • Neustále se měnící požadavky
  • Nedostatek dostatečných dat
  • Nedostatek kvalifikovaných testerů
  • Koordinace mezi týmy a zainteresovanými stranami

A samozřejmě největší výzvu pro každý agilní tým: kontinuální testování, bez ohledu na okolnosti.

Naštěstí existuje způsob, jak všechny tyto problémy vyřešit!

Potřebujete svou „portálovou zbraň“: výkonný software pro agilní řízení projektů.

Naštěstí existuje pouze jeden všestranný software pro agilní řízení projektů, který potřebujete: ClickUp!

Co je ClickUp?

agilní projektová platforma clickup na všech zařízeních

ClickUp je přední světový nástroj pro řízení projektů, který používají nejproduktivnější týmy na světě, od startupů po technologické giganty, k snadnému řízení svých agilních projektů.

Díky široké škále funkcí pro agilní vývoj softwaru a spolupráci má vše , co potřebujete k podpoře jakéhokoli agilního nebo Scrum týmu!

Pojďme se podívat, jak vám tento software může pomoci spravovat proces agilního testování:

A. Zefektivněte proces testování a vývoje pomocí úkolů, podúkolů a kontrolních seznamů

Jistě, Rick je génius, ale nemůžete mu vždy svěřit malé, jednoduché úkoly.

Podívejte se na tuto kartičku s poznámkami pro jeho proslov jako svědka!

Rickova pomůcka pro proslov svědka

Váš agilní tým (i když jsou jeho členové lepší zapisovatelé než Rick) bude také potřebovat podporu při řízení procesu testování a vývoje.

Úkoly, podúkoly a kontrolní seznamy ClickUp jim pomohou zefektivnit testovací činnost tím, že ji rozdělí na malé, proveditelné položky.

Jak na to:

  • Úkoly a podúkoly: rozdělte svůj agilní testovací plán na úkoly a podúkoly a přiřaďte je libovolnému členovi týmu.
  • Kontrolní seznamy: vytvořte seznam položek, který slouží jako seznam úkolů nebo dokonce jako test kvality, který lze během agilního testování odškrtávat.
Zobrazení seznamu agilních projektů v ClickUp

Kromě toho můžete svůj proces dále zjednodušit pomocí následujících funkcí:

  1. Vnoření: do svého kontrolního seznamu můžete přidat libovolný počet podpoložek.
  2. Funkce drag and drop: přesouvejte položky a měňte tak pořadí ve svém seznamu.
  3. Přiřazování položek : přiřazujte položky ze seznamu přímo více členům týmu
  4. Šablony : vytvořte opakovaně použitelné šablony pro kontrolní seznamy a přidejte je do svých projektů

B. Zaznamenejte každý detail do dokumentů

Někdy je prostě potřeba si věci zapsat, že?

Rick zapisuje poznámky tužkou

Ale díky funkci Docs od ClickUp nebudete potřebovat nereálné parazitické mimozemšťany, aby vám pomáhali dělat si poznámky!

Můžete vytvořit dokumenty pro zaznamenání:

  • Agilní testovací strategie
  • Testovací plán
  • Testovací charta
  • Pokyny pro automatizované testování

Můžete také použít Docs k vytvoření vlastní interní wiki pro vaši agilní testovací metodiku!

A co je na tom nejlepší?

Všechny tyto dokumenty najdete přímo u svých projektů, takže je nemusíte dlouho hledat!

Psaní v ClickUp Docs je díky funkcím jako:

  • Formátování bohatého textu pro dokumenty s výrazným vzhledem
  • Vnoření stránek do dokumentů pro další podrobnosti
  • Přizpůsobitelná přístupová práva pro zahrnutí členů týmu do editace
  • Možnost nechat Google indexovat tyto dokumenty, aby se zobrazovaly ve výsledcích vyhledávání
otevření dokumentů v ClickUp

C. Sledujte čas pomocí nativního sledování času

Řízení času je náročné a je téměř lákavé vrátit se v čase, aby bylo možné něco dokončit.

Ale nechcete se dostat na špatnou stranu „policie cestování v čase“:

Policie cestování časem otravuje Ricka

Proto ClickUp pomáhá lépe spravovat váš čas pomocí funkce Native Time Tracking. Tato funkce je velmi užitečná pro členy týmu, kteří pracují na dálku nebo mimo kancelář.

V aplikaci ClickUp máte přístup k trackeru, pomocí kterého můžete rychle sledovat čas strávený nad úkoly. Můžete dokonce přidávat štítky, poznámky a klasifikovat čas jako fakturovatelné hodiny pro efektivnější správu času!

Sledování času pro agilní projekty

Pokud však již používáte časový tracker třetí strany, jako je Time Doctor, Hubstaff nebo Toggl, můžete jej také snadno integrovat s ClickUp.

Tímto způsobem můžete sledovat využití času a lépe plánovat testovací relace, a to vše bez cestování v čase!

D. Sdílení vlastních přístupových práv se zainteresovanými stranami

Nezapomeňte, že agilní tým musí spolupracovat se všemi zainteresovanými stranami, aby mohl dodat dobrý produkt.

Abychom vám v tomto ohledu pomohli, ClickUp vám umožňuje sdílet s nimi vlastní přístupová práva. Můžete sdílet své projektové soubory, složky a seznamy úkolů s kýmkoli uvnitř i vně vaší sítě.

sdílení agilního blogového příspěvku s více členy v ClickUp

Stále však můžete kontrolovat, co mohou dělat ve vašem pracovním prostoru, a to nastavením jejich „oprávnění “.

Zde je několik příkladů oprávnění, která můžete nastavit:

  • Může prohlížet: prohlížet podrobnosti projektu, ale neinteragovat
  • Možnost komentovat: komentujte úkoly a seznamy úkolů
  • Může upravovat: upravovat úkoly, ale nevytvářet je
  • Vytváření a úpravy: vytváření a úpravy úkolů a podúkolů
  • Může mazat: mazat úkoly, které nevytvořil

To vám pomůže zapojit zákazníky do vašeho procesu testování ATDD.

Ale počkejte, to není vše!

Stejně jako počet panů Meeseeksů, kteří se shromáždili, aby sloužili Jerrymu, je i seznam funkcí ClickUp nekonečný!

Více Mr. Meeseeks

Na rozdíl od nich však tyto funkce skutečně splní vaše potřeby v oblasti agilního testování!

Mezi úžasné agilní funkce, které ClickUp nabízí vašemu týmu, patří:

Závěr

Porozumění metodice agilního testování může být pro váš tým přínosné.

Koneckonců, vaše agilní testovací strategie je samotným srdcem agilní metody.

Čím jsou vaše testy cílenější a přesnější, tím lepší budou vaše produkty.

Dobré testování však vyžaduje více než jen znalosti a dovednosti.

Budete také potřebovat přesné nástroje, které vám pomohou provádět průběžné testování.

Naštěstí k jeho vytvoření nepotřebujete Rickovu laboratoř.

Vše, co potřebujete, je ClickUp!

Obsahuje správnou sadu funkcí pro podporu jakékoli agilní testovací strategie spolu s robustní podporou řízení projektů pro agilní prostředí.

Zaregistrujte se ještě dnes na ClickUp a oslavte své agilní projektové dobrodružství, stejně jako Rick a jeho vnoučata!

oslavujte jako Rick
ClickUp Logo

Jedna aplikace, která nahradí všechny ostatní