how perform software product testing detailed process
Softwarové produkty potřebují svůj vlastní jedinečný přístup k adekvátnímu a správnému testování. Týmy s nimi často zacházejí jako s jakýmkoli jiným softwarem (tj. S interními aplikacemi vytvořenými pro konkrétního klienta nebo tým; nedostupné pro širokou veřejnost; bez generování výnosů), a to je výchozí bod problémů.
Testování softwarových produktů vyžaduje vlastní styl a strategii testování, aby přidalo hodnotu. Vývoj a výživa softwarových produktů je sama o sobě složitým ekosystémem a aby se dařilo testerům se přizpůsobit.
Dovolte mi chvilku vysvětlit, proč je to důležité a proč si myslím, že vývoj produktu je složitý, komplikovaný a složený, dokonce i v nejlepších dobách.
Co se naučíte:
- Výzvy pro vývoj softwarových produktů:
- Fáze # 1) Představení produktu
- Fáze # 2) Růst produktu
- Fáze # 3) Zralost produktu
- Fáze č. 4) Pokles produktu / kroužení zpět k růstu produktu
- Co z vás dělá úspěšného testera produktu?
- Doporučené čtení
Výzvy pro vývoj softwarových produktů:
Zde jsou některé z výzev, kterým vývojové týmy softwarových produktů čelí:
# 1)Nedostatečná kontrola nad uživatelskými demografickými údaji, zařízeními, prostředími, platformami atd. : Softwarové produkty se na rozdíl od softwaru vytvořeného pro konkrétní zúčastněné strany nepoužívají v kontrolovaných a předvídatelných situacích. Existuje příliš mnoho faktorů, které je třeba vzít v úvahu.
#dva)Mlhavá vize produktu : Chování produktu a jeho funkce se neustále mění a cesta k vyspělosti není jasně viditelná. Nebo produkt roste příliš rychle, než aby to vymklo kontrole, že týmy nevědí, co se děje.
# 3)Agresivní časové osy : Vzhledem k silné konkurenci na trhu softwarových produktů se věci musí pohybovat závratnou rychlostí a týmy musí zůstat o krok napřed před svými vrstevníky. V opačném případě určitě prohrají s konkurencí.
# 4)Strach z neúspěchu : Softwarové produkty jsou obvykle inovativní. Jejich úspěch tedy není vždy samozřejmostí. To je důvod, proč společnosti nemohou jít úplně ven, pokud jde o rozpočet, technologie, infrastrukturu atd. Často se musí držet zpátky, aby získaly určitou míru imunity před selháním nebo dokonce zlomem.
# 5)Nedostatečná zpětná vazba: Vzhledem k tomu, že neexistují žádné zainteresované subjekty nebo obchodní uživatelé nebo klienti, je těžké říci, co se koncovému uživateli může nebo nemusí líbit. Společnosti neustále hrají hádací hru a často mají potíže s překlenutím propasti mezi tím, co chtějí pro software, a tím, co chce zákazník.
Tyto výzvy ovlivňují všechny oblasti vývoje produktů, marketingu a výživy - a mají zásadní vliv také na testování produktů.
Abyste se dostali do hry, musí tento typ testování vzít v úvahu pět klíčových bodů:
- Rychlost vývoje a vydání
- Krátkodobé a dlouhodobé produktové cíle produktu
- Rozsah a povaha soutěže
- Cílové publikum a jeho prostředí
- Požadavky - Funkčnost, výkon, zabezpečení, použitelnost, konfigurace atd.
Než se podíváme na další podrobnosti, pojďme pochopit životní cyklus produktu (jedná se o obecný životní cyklus produktu, který není specifický pro softwarové produkty, ale software má podobný vzorec):
Dobrá strategie / přístup k testování produktu by měla brát v úvahu aktuální fázi produktu v jeho životním cyklu.
Přečtěte si také => Jak napsat dobrý testovací strategický dokument
Příklad: Produktem společnosti XYZ je software pro sledování defektů s názvem „TrackFast“. Jedná se o nový produkt a první verze má být spuštěna jako cloudové a on-premise řešení. TrackFast funguje jako každý jiný systém správy defektů a je vytvořen pro mobilní i webový přístup. V současné době existují 2 až 4 týdny sprinty, při kterých je produkt vytvořen po částech. Jste v testovacím týmu, který testuje „TrackFast“, než se setká se svými zákazníky. Testování zahrnuje kontrolu funkčnosti, výkonu a zabezpečení.
který z následujících způsobů není přijatelným způsobem, jak otestovat responzivní design?
Abychom to shrnuli, jsou to parametry, se kterými pracujete. Nebo pokud chcete, je to váš kontext
Podívejme se, jak testovat v každé fázi. Tohle je test produktu proces, metoda nebo životní cyklus v každé fázi.
Fáze # 1) Představení produktu
Jelikož je to poprvé, co TrackFast vyjde na trh, je myšlenka udělat dobrý první dojem. Nenechávejte tedy kámen na kameni. Vyzkoušejte vše a ze všech úhlů. Kromě toho položte základ pro budoucí testování.
Dobrá testovací strategie v tomto okamžiku by měla zahrnovat následující:
- Testy, které potvrzují krátkodobé cíle TrackFast. „Co musí být odesláno správně“ by mělo být v popředí testovacího úsilí. Vytvořit End-to-end testy (front-end, middleware a backend) pro důkladné testování všech funkcí
- Testy, které porovnávají TrackFast s konkurencí (v ideálním případě se jedná o práci vlastníků produktů, ale jako tester můžeme přidat naše dva centy. Také je tento krok snazší, pokud software již nějaké kolegy má. Například: TrackFast je snadné porovnat s Bugzilla nebo JIRA nebo jiné starší systémy . Ale řekněme, že vytvářím aplikaci, která dělá něco neobvyklého, jako je schopnost předvídat, kdy je dítě hladové nebo rozčilené :), může být těžké najít aplikaci, kterou můžete použít jako základní linii)
- Platforma, prohlížeč a zařízení testy kompatibility
- Zkoušky pro snadnou instalaci , nastavit a dostat se do rychlosti
- Testy výkonu, bezpečnosti a použitelnosti
- Testy integrace pokud je v rozhraní s jinými systémy. Jednoduchým příkladem integrace je, že systémy sledování defektů často komunikují s e-mailovými klienty a odesílají oznámení
- Plán regrese - Je dobré označit nebo označit kritické testy, o kterých si myslíte, že budou součástí budoucích regresních cyklů, a uvažovat o jejich automatizaci pro budoucí vydání
- Naplánujte známé problémy (budete je přidávat do nevyřízených položek nebo s nimi zacházet jako s CR atd.)
- Flexibilita změn, když produkt postupuje do další fáze životního cyklu.
Někdy může trvat dlouhé čekání, než produkt zhasne, takže vždy používejte co nejdůkladnější práci.
V této fázi, i když je část produktu připravena na konci 2-4 týdenních sprintů, nejčastěji každý sprint nevede k dodanému kódu. Proto nikdy nepovažujte poslední testování sprintu za „hotové a dodané“. Opakujte kritické testy s každým sprintem až do uvolnění. S každým sprintem otestujte celý produkt, který máte, až do tohoto bodu.
Fáze # 2) Růst produktu
Po počátečním zavedení projektu, pokud vše půjde dobře, očekávejte příliv aktivity, protože růst produktu je rychlá cesta. Nyní plavete spolu s velkými žraloky, a pokud nebudete držet krok, budete hltáni dolů.
Zde se vydání zkracují, vylepšení softwaru se zvyšují v počtu a míra regrese se téměř stává neovladatelnou.
Strategie testování produktů by měla pracovat s tempem vývoje softwaru a neměla by se stát překážkou.
Mohou pomoci:
- Mějte na paměti dlouhodobé cíle projektu. Nejde teď o to, abys to zvládl. Jde o život s vlastnostmi a prosperitu s nimi.
- Předběžný test Zvažte TDD nebo BDD namísto odložení testování na konec s novými požadavky
- Automatizujte regresi a posílte ji - Vytvořte na místě automatickou regresní sadu, aby vám ve vašem systému nezůstaly nevyzkoušené miny
- Pokud se vaši vlastníci firmy / produktu chtějí zapojit do testování, zvažte automatizační nástroj založený na obchodním jazyce, například Cucumber.
- Udržujte použitelnost a design stránek ústředním bodem vašeho testování. Protože čím více funkcí přidáme, tím čistší by stránka měla vypadat
- Proveďte testování výkonu a zabezpečení, když došlo k významnému vydání nebo došlo k významné změně v architektuře. (Byl přiveden nový server atd.) Většina softwarových systémů to nepotřebuje při každém vydání.
- Buďte v kontaktu s konkurencí a znáte vizi produktu
- Přizpůsobit testování párů , pro okamžitou zpětnou vazbu a opravu. Pokud je to možné, zahrňte vlastníka produktu
- Plánujte změny a známé problémy
- Zkuste získat zpětnou vazbu od zákazníků a zkontrolujte, zda je lze sledovat jako návrh vylepšení, aby byl růst konstantní. (opět to není primární odpovědnost týmu QA, ale každý se počítá)
Fáze # 3) Zralost produktu
Gratulujeme, že se váš produkt dostal tak daleko. V tomto okamžiku se funkce nemění tak často. Produktový tým se bude více soustředit na to, aby přinesl více podnikání nebo jejich marketingové úsilí. Vývoj a testování produktů se však nemusí a často nezastaví.
Testovací tým proto může:
- Pracujte na vylepšení své testovací strategie. V tomto okamžiku musí vaše regresní sady, metody návrhu testů a postupy správy testů fungovat jako dobře naolejované stroje.
- Zaměřte se na jemnější detaily. Protože produkt celkově funguje a daří se mu, ale jak se říká - „ Bůh je v detailech “ - najít i ty nejmenší z problémů, které mohou zlepšit kvalitu systému
- Zvažte zpětnou vazbu od zákazníků
- Pravidelně testujte výkon a zabezpečení
- Vezměte v úvahu nová zařízení, platformy a prohlížeče, které mohly přijít na trh od posledního testování
- Vyzkoušejte uživatelskou příručku a stránky s častými dotazy, protože nyní máte čas a můžete si to dovolit.
- Experimentujte s novými nástroji pro testování produktů, službami nebo procesem, protože nyní můžete.
- Otestujte instalační proces s každým vydáním, ať už je jakkoli malé, a získejte statistiky o tom, jak snadné nebo obtížné je pro koncového uživatele.
Ať děláte cokoli, neuspokojte se.
Fáze č. 4) Pokles produktu / kroužení zpět k růstu produktu
Vlastníci produktů a firmy jsou dnes chytří a dobře vědí, že nemohou udržet svůj produkt stejný a očekávat, že uživatelé zůstanou věrní. Věci se pohybují příliš rychle a stejně tak i produkty.
TrackFast tedy nemůže sedět a relaxovat. Pokud potřebuje neustálou přítomnost na trhu a udržení vedoucí pozice, musí se vyvíjet. Ať se vám to líbí nebo nenávidíte, Facebook začal jako jednoduchá sociální síť pro propojení lidí a je sám o sobě velkou softwarovou platformou, která se integruje s milionem dalších věcí a zůstává aktuální.
TrackFast se také musí vyvíjet. Poté, co se prokáže, že se jedná o spolehlivý a efektivní systém sledování defektů, se musí vyvíjet, jinak bude klesat. Společnost XYZ se tedy rozhodla vylepšit TrackFast tím, že se z ní stane obecný systém prodeje jízdenek, který lze použít ke sledování jakýchkoli incidentů nebo případů ze strany jiných než IT / testovacích týmů (něco jako JIRA), a to nejen za chyby v procesu vývoje softwaru .
Kolo se úplně otočilo a vy zjistíte, že se systémem zacházíte jako se zcela novým a řídíte se strategií, kterou jsme probrali v části Úvod k produktu. Teprve nyní jste zkušenější a jste obeznámeni s cvičením. Ale pamatujte, s každým novým tahem přichází nová výzva. Takže zůstaňte ostří :)
Co z vás dělá úspěšného testera produktu?
- Testery produktů musí mít živý obchodní smysl, porozumět modelům vývoje rychlých dodávek a měli by být testery esa kteří se nebojí experimentovat s nástroji a stát se v případě potřeby tak trochu kodéry. Tyto věci mohou mít pozitivní dopad na jakýkoli typ testování, ale u tohoto typu testování jsou absolutní nutností.
- Další důležitou vlastností je, že a tester produktu musí produktu věřit a opravdu si přejete, aby uspěla. Když si jako tester myslím, že software je naprostý odpad, je jen malá naděje, že udělám cokoli, abych ho vylepšil.
- Sdílejte vizi vlastníka produktu / firmy . Pokud nevíte, kam produkt jde a jak se bude vyvíjet, bude testování velmi omezené.
- Cross-funkční dovednosti jsou prospěšné - Naučte se, jak testovat DB, jak měřit výkonnostní měřítka, jak povolit bezpečnostní certifikáty, jak nasadit atd. Buďte zvědaví a prozkoumejte .
- Nestanovte žádné hranice - nemyslete si, že vyhodnocení uživatelské příručky nebo kontrola často kladených otázek není vaší prací a měl by se o ni postarat technický spisovatel. Měli by a budou. Ale když se na to podíváte jako na zasvěcené jako někdo, kdo zná produkt naruby, je vaše zpětná vazba velmi užitečná.
- Vyhledat zpětnou vazbu od koncového uživatele. Další velká skupina lidí, kteří po vás testují, jsou uživatelé v reálném čase. Vědět a rozumět tomu, jakým problémům čelí. To vám pomůže vylepšit design vašeho testu, takže příště budete vědět, co dělat, abyste se těmto problémům vyhnuli.
- Pracujte rychle a buďte rozhodovací
- Vyhněte se technickému dluhu . V rychlém vývoji a testování je snadné testovat průzkumně výhradně a ztratit referenční rámec pro budoucí vydání. Nedovolte, aby se to stalo. Udržujte kosterní dokumentaci, abyste mohli sledovat, sledovat a měřit
Největší rozdíl mezi testovacím softwarem vytvořeným jako služba a softwarem vytvořeným jako produkt je v tom, že v prvním případě se po dosažení testovací strategie použije pro všechny následné testování.
nejlepší bezplatný čistič nevyžádaných souborů pro Windows 10
U produktu se však testovací strategie musí změnit v závislosti na aktuální fázi životního cyklu produktu a na změnách dynamiky trhu (nová zařízení, nové prohlížeče atd.). Strategie testování produktů musí být při změně mnohem flexibilnější.
O autorovi: Tento článek publikoval člen týmu STH Swati S.
Doufáme, že tento článek byl užitečný. Neváhejte a pošlete své komentáře, dotazy a zpětnou vazbu níže.
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Kurz testování softwaru: Ke kterému institutu pro testování softwaru bych se měl připojit?
- Úloha pomocníka QA při testování softwaru
- Výběr testování softwaru jako vaší kariéry
- Práce na volné noze se softwarem pro testování technického obsahu Writer
- Co je testování vytrvalosti při testování softwaru (příklady)
- Některé zajímavé otázky týkající se testování softwaru
- Zpětná vazba a recenze kurzu testování softwaru