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:

  1. Software nedělá něco, co by podle specifikace produktu měl dělat.
  2. Software dělá něco, co by podle údajů specifikace produktu dělat neměl (nikdy se nemá seknout).
  3. Software dělá něco, o čem se produktová specifikace nezmiňuje (vymyslel programátor mimo specifikaci - chyba). Bug vs Feature (fíčr).
  4. 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).
  5. 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ů:

  1. 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ů:

  1. Manuální
  2. Automatizované
  3. 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
  4. 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í.
  5. 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í.
  6. Stres testy - trápíme sw, horší než ideální podmínky, hloupý honza test

Vývojářské testy:

  1. Unit testy - testy jednotek
  2. Integrační testy - testovaní většího celku
  3. Code Review - čitelnost kódu, standarty
  4. 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