Testujeme software Testujeme software
  • Úvod
  • Blog
  • Nástroje
  • Slovníček
Testujeme software Testujeme software
Testujeme software Testujeme software
  • Úvod
  • Blog
  • Nástroje
  • Slovníček
  • Blog

Role testera ve Scrum týmu

  • 23. 11. 2022
  • Jan Zatloukal
Total
0
Shares
0
0
0

Scrum je bezesporu jednou z nejpoužívanějších agilních metod pro řízení vývoje software. Z mého pohledu má většina, především začínajících týmů, potíže s tím, jak přistupovat k testování. Jak se testuje ve Scrumu, jaké jsou role členů týmu a kam zařadit testera, zkusím popsat v tomto článku.

Ve Scrumu existují tři hlavní role: product owner, Scrum master a vývojář. Role testera definována není. Proč tomu tak je, vyplývá se samotné definice Scrumu; za doručení funkcionality je zodpovědný celý tým. V ideálním světě by to znamenalo, že každý vývojář by měl být schopen splnit veškeré kroky, které s doručením souvisí. Těžko ale budeme hledat takového, který je zběhlý ve frontendu, backendu i testování. A z toho důvodu ve Scrumu mluvíme o specializaci vývojářů. Testera bychom tedy měli nazývat spíš vývojářem se zaměřením na kvalitu.

Tester jako sprosté slovo?

Když už tedy máme jasno, jakou roli tester ve Scrumovém týmu má, možná by jsme měli přestat používat slovo tester a nahradit ho obecnějším software quality engineer (SQE). Tester je, podle mě, někdo, kdo vykonává samotné testování, což je ale jenom malá část toho, co ve skutečnosti děláme.

Myslím, že i z psychologického pohledu, je označení SQE lepší, protože dává najevo, že umíme trochu víc, než jen klikat na tlačítka. Měli by jste raději ve svém CV jako pozice uvedeno “tester” nebo “software quality engineer”? Z výsledků Twitterové ankety od Nicol Lindgren můžeme vyčíst, že název pozice je důležitý pro 56,4 % respondentů (z celkového počtu 156 hlasů).

Číslo to není vysoké, ale anketa se zabývá názvem pozice obecně. Osobně bych si tipl, že kdyby byla anketa konkrétnější, zaměřená jen na vývojáře, bylo by číslo vyšší. Dokonce bych se vsadil, že v případě názvů pracovních inzerátů, bude mít samotný název velký vliv. Osobně bych na pozici “tester” možná ani neodpověděl. “Software quality engineer” podle mě dává najevo, že firma si je vědoma toho, jak to s testováním je a že nehledají jen “klikače”, ale člověka, který dokáže pokrýt mnohem širší spektrum činností.

Jaké jsou tedy úkoly SQE ve Scrumu?

Jak bylo výše napsáno, za doručení funkcionality je zodpovědný celý tým. To znamená, že tým táhne za jeden provaz, spolupracuje tak, aby jeho členové co nejlépe využili svoji specializaci a v případě potřeby pomohli tam, kde je třeba. Tým funguje jako celek a každý člen by měl přiložit ruku v dílu ve všech fázích vývoje.

Často se setkáváme s tím, že “testeři” působí jako samostatná jednotka a k testování se dostanou až v době, kdy už je vše hotovo a vývojáři pracují na dalších úkolech. V takovém případě ale tým nemůže efektivně fungovat, protože se jedná o dva týmy s rozdílnými cíli. To zákonitě vede k prodlužování doby dodání funkcionalit. Priorita testování může být jiná, než priorita doručení. V praxi to potom může vést ke snížení kvality produktu:

  • Vývojáři se často musí při opravě chyb vracet ke “starému” kódu a trvá jim delší dobu chybu opravit
  • Na testovanou funkcionalitu můžou být navázány další změny a rozsah opravy se tak násobí
  • Snižuje se hloubka testování, při testování “mimo sprint” může uniknout důležitost dané funkcionality
  • Chyby, které by bylo možné opravit v rámci doručení funkcionality, se hromadí v backlogu a musí se pro ně najít místo v následujících sprintech

SQE má samozřejmě slovo i při groomingu a plánování a při hodnocení jednotlivých user stories má stejný hlas jako ostatní vývojáři. Hodnocení musí zahrnovat i testování. Je možné, že z tohoto důvodu budou mít ostatní vývojáři na konci sprintu “volné ruce”, ale jak už bylo napsáno – za doručení je zodpovědný celý tým a v případě časové nouze je prostě potřeba přiložit ruku k dílu. Dobrý vývojář by měl být schopný i testovat.

Důležité je, aby SQE začal co nejdříve s přípravou testovacích scénářů a přípravou testování tak, aby bylo testování nachystané i na variantu, že testovat bude někdo z vývojářů. Koneckonců, i samotný testovací scénář je součástí produktu.

Pokud má testování připravené, ale zatím není co testovat, je spousta dalších činností, kterým je vhodné se věnovat pravidelně:

  • Příprava automatických testů
  • Analýza user stories v backlogu, aby měl na grooming dostatečné informace pro hodnocení
  • Exploratory testování
  • Regresní testování

U posledního bodu, regresního testování, stojí za zmínku, že Scrum s ním vlastně moc nepočítá. Na konci sprintu by měl tým doručit kompletní a otestovaný produkt. To by ale znamenalo, že regresní testování by se mělo dělat na konci každého sprintu. V praxi se toto ale neděje a většinou se regresní testování provádí jen před větším releasem. Záleží ale samozřejmě na tom, o jaký produkt se jedná. V případě mikroservices je to možné, ale u velkých monolitických produktů to v podstatě reálné není. Z vlastní zkušenosti ale můžu říct, že je dobré si “malou regresi” udělat po každém sprintu. Zaměřit se především na části aplikace, které byly změněny a k tomu přidat pár obecnějších testů.

Total
0
Shares
Sdílet 0
Tweetnout 0
Sdílet 0
Související témata
  • Scrum
Jan Zatloukal

Tester a vývojář se zálibou v automatizaci a zlepšování procesu vývoje. Aktuálně pracuji na projektu automatizace elektronových mikroskopů v Pythonu.

Předchozí článek
  • Blog

Výkonnostní testování pomocí Performance Monitoru

  • 14. 10. 2022
  • Jan Zatloukal
Zobrazit článek
Další článek
  • Blog

Zkusili jste to vypnout a zapnout?

  • 5. 12. 2022
  • Jan Zatloukal
Zobrazit článek
Mohlo by se vám také líbit
Zobrazit článek
  • Blog

Prezentace výsledků testování v Streamlit – 2. díl – anotované grafy

  • Jan Zatloukal
  • 23. 11. 2023
Zobrazit článek
  • Blog

Grafana – Jak na vymazlený dashboard (2. díl)

  • Radek Vavřín
  • 2. 11. 2023
Zobrazit článek
  • Blog

5 důvodů, proč nepracovat v Edhouse

  • Jan Zatloukal
  • 12. 10. 2023
Zobrazit článek
  • Blog

Identifikace UI prvků pro automatické testování

  • Jan Zatloukal
  • 21. 9. 2023
Zobrazit článek
  • Blog

Obsidian – automatizace nad poznámkami 

  • Jan Zatloukal
  • 7. 9. 2023
Zobrazit článek
  • Blog

Organizace souborů a složek při práci s Robot Frameworkem

  • Petr Nagy
  • 10. 8. 2023
Zobrazit článek
  • Blog

Automatizované testování webových aplikací s Robot Frameworkem a RPA.Browser 

  • Jan Zatloukal
  • 27. 7. 2023
Zobrazit článek
  • Blog

Tabulkový diff pomocí Pythonu

  • Jan Zatloukal
  • 29. 6. 2023

Napsat komentář Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Doporučené příspěvky
  • 1
    Prezentace výsledků testování v Streamlit – 2. díl – anotované grafy
    • 23. 11. 2023
  • 2
    Grafana – Jak na vymazlený dashboard (2. díl)
    • 2. 11. 2023
  • 3
    5 důvodů, proč nepracovat v Edhouse
    • 12. 10. 2023
  • 4
    Identifikace UI prvků pro automatické testování
    • 21. 9. 2023
  • 5
    Obsidian – automatizace nad poznámkami 
    • 7. 9. 2023
Poslední příspěvky
  • Organizace souborů a složek při práci s Robot Frameworkem
    • 10. 8. 2023
  • Automatizované testování webových aplikací s Robot Frameworkem a RPA.Browser 
    • 27. 7. 2023
  • Tabulkový diff pomocí Pythonu
    • 29. 6. 2023
Rubriky
  • Blog (29)
Testujeme software Testujeme software
  • Edhouse.cz
  • Vyšíváme software
  • Zásady cookies (EU)
Testujeme software – vše o testování software | Všechna práva vyhrazena © 2022

Zadejte klíčové slovo a stiskněte Enter.

Spravovat Souhlas s cookies
Abychom poskytli co nejlepší služby, používáme k ukládání a/nebo přístupu k informacím o zařízení, technologie jako jsou soubory cookies. Souhlas s těmito technologiemi nám umožní zpracovávat údaje, jako je chování při procházení nebo jedinečná ID na tomto webu. Nesouhlas nebo odvolání souhlasu může nepříznivě ovlivnit určité vlastnosti a funkce.
Funkční Vždy aktivní
Technické uložení nebo přístup je nezbytně nutný pro legitimní účel umožnění použití konkrétní služby, kterou si odběratel nebo uživatel výslovně vyžádal, nebo pouze za účelem provedení přenosu sdělení prostřednictvím sítě elektronických komunikací.
Předvolby
Technické uložení nebo přístup je nezbytný pro legitimní účel ukládání preferencí, které nejsou požadovány odběratelem nebo uživatelem.
Statistické
Technické uložení nebo přístup, který se používá výhradně pro statistické účely. Technické uložení nebo přístup, který se používá výhradně pro anonymní statistické účely. Bez předvolání, dobrovolného plnění ze strany vašeho Poskytovatele internetových služeb nebo dalších záznamů od třetí strany nelze informace, uložené nebo získané pouze pro tento účel, obvykle použít k vaší identifikaci.
Marketingové
Technické uložení nebo přístup je nutný k vytvoření uživatelských profilů za účelem zasílání reklamy nebo sledování uživatele na webových stránkách nebo několika webových stránkách pro podobné marketingové účely.
Spravovat možnosti Spravovat služby Spravovat dodavatele Přečtěte si více o těchto účelech
Zobrazit předvolby
{title} {title} {title}