Základy testování 1. část

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

2 komentáře u „Základy testování 1. část“

Napsat komentář