Zde jsem vám sepsal základy testování Software a App. Ne každý si může dovolit kurz testera, nemá ve svém kraji možnost jít na kurz, třeba nemůže z důvodu pandemie covid-19 nebo finančních.
Já na takový kurz nedávno nastoupil a moc rád bych se s vámi podělil o informace, které jsem se dozvěděl. Vše jsem si sepsal jedná se o úplný základ pro testera. Postupně sem budu přidávat další informace více do hloubky Testingu.
Dokument jsem sepsal v programu Pages. Zde vám dám přepis ať si ho nemusíte stahovat. Pokud někdo budete mít dotazy k tématu nebo si chcete na toto téma pokecat můžete zde v komentářích nebo mě přímo psát na e-mail lukaskanka@lukan.cz
Úkol testera:
Cílem softwarového testera je vyhledávat chyby a to co nejdříve a zajistit jejich nápravu
Proces:
Definovaný sled činností, který vede k požadovanému cíli
Co testujeme:
Software
Desktopové aplikace
Word,Excel, aplikace, u kterých si stáhnu exe soubor, má je nainstalované přím v desktop, ke spuštění nepotřebuji internetu
Webové aplikace
vše k čemu přistupuji přes webový prohlížeč (Fb, Google maps)
Mobilní aplikace
…ale také elektronické součástky, nábytek, léky, hygienické a kosmetické prostředky…
Fáze projektu:
Vývoj -> Test -> Produkce (nasazení)
Fáze Testování:
Vývoj ->
AT Assembly Testing -> Interní testeři
UAT User acceptance testing -> Uživatelské akceptační testování,
UAT Probíhá již na zařízení zákazníka, který zpravidla uplatňuje své předpřipravené procedury s cílem objevit chyby softwaru; dodavatel je pak v dohodnuté lhůtě odstraňuje.
Nasazení , Produkce -> Vydání , Provoz
Lidé na IT projektu:
Povinný tým: Analytici -> IT analytik analyzuje požadavky procesů a potřeb a podle toho navrhuje schematické diagramy částí informačních systémů a jejich celků. Analýza se zabývá nejen technickým provedením, ale také funkčními požadavky a legislativními podmínkami. Ke každému projektu vzniká i podrobná technická dokumentace včetně datových struktur, nadefinovaných rozhraní a důležitých výkonnostních testů.
Projekt Mannager -> manažer
Vývojáři ->
Beckend (BE) – více se stará o logiku apky,stará se o to, aby apka fungovala Frontend (FE) -grafika app
Testeři
Nepovinné role: Architekt (velké firmy, korporáty), Databázista, Admin ( linux, servery, Develop dep), Support/HelpDesk
Lidé v Test Teamu:
Test Executiv -> Junior/Senior (klikač podle zadání)
Test Disigner -> píše kroky testů
Test Analitik -> dělá analýzu testů
Test Architekt ->
Test Automation -> umí naprogramovat automatické testy
Test Manager ->
Team Leader ->
QA Quality Assurance -> zajišťování kvality, kvalita -> funkčnost, použitelnost, bezchybnost – celkového produktu
Zahrnuje proces testování
Zkoumá proces vývoje zda byl kvalitní
Vytváří a prosazuje vhodné standardy a metody, které zdokonalí proces vývoje a zabrání vzniku chyb.
Dokumenty IT / Specifikace:
Specifikace -> definuje výsledný produkt
popisuje chování vzhled co bude dělat a co nebude dělat výsledný produkt
dokument požadavků
právní dokument mezi zákazníkem a firmou (dodavatelem)
Vlastnosti specifikace -> správná
úplná
přesná, jednoznačná a jasná
konzistentní
relevatní
proveditelná – rámec času a peněz
testovatelná
bez kódu – aby ji rozuměl zákazník, tester mohl podle ní testovat
Co je chyba:
- Software nedělá něco, co by podle specifikace produktu měl dělat.
- Software dělá něco, co by podle údajů specifikace produktu dělat neměl (nikdy se nemá seknout).
- Software dělá něco, o čem se produktová specifikace nezmiňuje (vymyslel programátor mimo specifikaci – chyba). Bug vs Feature (fíčr).
- Software nedělá něco, o čem se produktová specifikace nezmiňuje, ale měla by se zmiňovat (třeba co chybí ve specifikaci, mělo by se dopsat).
- Software je obtížně srozumitelný, těžko se s ním pracuje, je pomalý, nebo – podle názoru testera softwaru – jej koncový uživatel nebude považovat za správný (user friendly).
! Nelze otestovat vše !
Důvody k neopravení chyb:
*feature
*není čas- release
*riskantní oprava
*nestojí to za to
Vlastnosti testera:
*zvídavý / analytický
*přijít věcem na kloub – popis jak jsem přišel k chybě krok po kroku (každý krok si zapisovat)
*neúnavný
*tvořivý
*perfekcionista
*dobrý úsudek
*taktní a diplomatycký
*přesvědčivý – popsat chybu atd.
*komunikativní
*nejlepší tester světa > hacker
Obecné typy testů:
- Black box – nevím, jak ta app funguje, nevidím kód
White Box -už něco o app vím, v jakém je prog.jazyce, vidím do kódu app
Grey box – může jednat např. o situaci, kdy software testujeme přes jeho uživatelský rozhraní.Výsledky operací pak ověřujeme pomocí dotazů do databáze.
2. Statické – dokument ještě bez aplikace
Dynamické – spuštěná aplikace
3. Testování dokumentace – kontrola (F1 nápověda), manuál, obal
4. Testy splněním TEST TO PASS (pozitivní) – chování v testu jak by se aplikace měla používat
TEST TO FAIL (negativní) – dávám špatné údaje, data a podobně
5. Testování hardware a software kompatibility
6. END TO END testy- od začátku do konce, proces funkce
Testování specifikace:
Statický test – Black box – specifikace není konečná
- Nejprve jako celek, co chybí , co je opomenuto
- Je potřeba celé specifikaci porozumět
- Musí dodržovat standarty a technologie
- Otestovat podobný software – porovnání
Hraniční hodnoty testů:
Test splněním pozitivní (Test To Pass)
- první / poslední
- prázdný / plný
- min / max
Test negativní (Test To Fail)
- min -1 / max +1
Konkrétní typy testů:
- Manuální
- Automatizované
- Regresní – zpětné (manuální i automatizované), testování verzí 1,2,3,4…….., je potřeba otestovat i funkce z předchozích verzí, je lepší tyto testy automatizovat, cíl je jestli nové funkce nerozbily původní funkce
- Smoke testy – se využívá v okamžiku, kdy je dokončen vývoj aplikace a lze ji spustit. Tedy na konci úrovně integračního testování. Jedná se o krátký test, který slouží jako rychlé ověření, zda je vyvíjená aplikace připravena pro další fázi testování.
- Zátěžové / Performance – max testy zatížení podle definic kolik to má umět obsloužit lidí. Testuje se do maxima. App “JMeter”(čejmítr) – nastavím počet uživatelů , na test zatížení.
- Stres testy – trápíme sw, horší než ideální podmínky, hloupý honza test
Vývojářské testy:
- Unit testy – testy jednotek
- Integrační testy – testovaní většího celku
- Code Review – čitelnost kódu, standarty
- Code Caverage – ukáže kolik % kódu (řádku) se otestovalo
Časté pohovorové otázky:
>co je chyba
>co obsahuje specifikace
>jaký je rozdíl mezi Bug a Feature
>Co je to QA
>jaké znáte typy testů
A malý vtípek na závěr jak to občas chodí v IT
Napsat komentář