TS Flashcards

1
Q

7 zakladnich principu testovani

A
  1. Testovani pouze najde chyby, ale nedokaze, ze chyby nejsou
  2. Nelze otestovat vsechno
  3. Testovani by mel byt nazaseno v kazde fazi vyvoje systemuu
  4. Defekty se shlukuji, chyby nejsou rozprostreny rovnomerne
  5. Stale ty same testy casem nebudou moct nalezt chyby - update
  6. Dukladnost testovani se odviji od zopdovednosti systemu
  7. Nalezeni a oprava chyb nezachrani nefunkcni pozadavky
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Zakladni deleni testu podle typu

A
  1. Podle test levels:
    - vyvojarske
    - integracni
    - systemove
    - uzivatelske akcepcni
  2. Podle znalosti vnitrni struktury:
    - black-box
    - white-box
    - grey-box
  3. Podle toho, kdo a kde testuje:
    - alfa testy
    - beta tesy
  4. Podle technickeho postupu nebo charakteristiky systemu
    - unit testy
    - funkcni testy
    - E2E testy
    - zatezove testy
    - penetracni testy
    - crash testy…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Black box, white box, grey box

A
  1. Black box - nevime nic o systemu, tedy zname jenom co prijde a co ma vyjit
    - testovani scenare pisu jen podle analyzy, specifikace nebo dokumentace, aniz bych znal struktury systemu
    - treba testovani podle use-case
  2. White box
    - testovaci scnerae vytvarim se znalosti vnitrni struktury a funkcionality
    - treba staticka analyza kodu, treba podle radek
  3. Grey box - kombinace obou
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Verifikace vs validace

A

Verifikace - zda system vyvijime spravne podle predpisu a dokumentace
Validace - zda vyvijime to, co klient pozadoval

Tedy je to bud technicka kontrola pozadavku, nebo business kontrola pozadavku na system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

V-model

A

Zakladni model vyvoje a testovani softwaru:

Z pohledu vyvoje:
1. Business model
2. Pozadavky
3. Funkcni navrh
4. Technicky navrh
5. Implementace

Pod kazdou fazi mame odpovidajici tetovani:
1. Business model - produkcni provoz, prod
2. Pozadavky - uzivatelske akcepcni testy, QA
3. Funkcni navrh - systemove testy
4. Technicky navrh - integracni testy
5. Implementace - vyvojarske testy

Nevyhodou ale je, ze zavlecene chyby uz na zacatku pozadavku se muzou najednou objevit az v QA na samem konci, treba pri spatnem pochopeni pozadavku klienta, a oprava chyby je extremne draha

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Test Basis a Test Level

A

Test Basis - leva strana V-modelu, tedy mnozina dat, nad kterou budeme vytvaret testy
- vsechny informace pro testovaci scenare

Test Level - prava strana V-modelu, tedy uz samostatne testovani, ktere ma za ukol otestovat odpovidajici hladinu V-modelu, zda patricny basis je naimplemetovan podle pozadavku

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Boehmuv prvni zakon

A

Chyby se vyskytuji nejcasteji ve fazich pozadavku a navrhu aplikace. Cim pozdeji se odhali, tim exponencialne drazsi je jejich oprava

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

W-model

A

Realnejsi a pouzivanejsi pristup vyvoje systemu, ktery pridava kontroly k V-modelu aby v kazdem korku byla jistota, ze se vykonava jen to co ma

  1. Business model - revize- produkcni provoz - testy po nasazeni
  2. Pozadavky - revize - instalace systemu - UAT
  3. Funkcni navrh - revize - sestaveni systemu - systemove testy
  4. Technicky navrh - revize - sestaveni komponent - integracni testy
  5. Implementace - vyvojarske testy

UAT - uzivatelske akcepcni testy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Testovaci scenar

A

Jednoynacnz predpis, jakou akci v testovane aplikaci vzvolat a jakz je ocekavanz vzsledek

Je to predpis pro test, nez se zance psat
- evidujeme scenare v nastroji nejakem
- musi se udrzovat updatovana vuci aplikaci
- anglicky test case

Bud high nebo low level podle konkretnosti dat, low level scenar pracuje primo s dosazovanymi hodnotami konkretne.

High level pracuje abstaktne bez konkretnich hodnot ale pouze logicky prubeh aplikace:

treba “zmenim cenu produktu za urcitych podminek -> cena se zmenila” VS
“nastavim cenu na 10kc -> nova cena 10kc”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Struktura testovaciho scenare

A

ID
Nazev testu
Popis testu
Vstupni podminky
Testovaci data
Ocekavany vysledek
Stav pripravy

Nepovinne polozky:
shnuti testu
autor
priorita
testovaci prostredi
pokryte pozadavky
pokryte casi apliakce

Po spusteni se uvede:
ID
Souhrnny vysledek
Tester
Cas prvniho kroku
Cas posledniho krokku
Nalezene chyby

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Regrese a test coverage

A

Regrese - zanaseni novych chyb vlivem oprav nebo zmen systemu
- casovy stres
- vyvojari neznaji celou strukturu systemu

Testovaci pokrytit
- jaka cast software a jeho funkci je pokryta tetovacimi scenari
- klidne na radky nebo procenta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SLA (Service Level Agreement

A

Dohoda mezi klientem a dodavatelem ohledne sluzeb
- treba Praci na odstraneni zavazne chyby musi dodavatel zacit do 4 hodin a opravit do 12 hodin…
Nebo “system musi byt dostupny neustale…”

Zavazky obou stran

Workaround - docasne, jednoduche, upravujici reseni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Typy chyb bugu podle priority

A

A - critical
Chyba blokuje podstatné procesy v aplikaci, významným
způsobem poškozuje data. Neexistuje workaround.

B - medium
Chyba výrazně znepříjemňuje práci s aplikací, je možné
aplikaci dočasně provozovat s touto chybou, ale
workaround je obtížný a znamená velké úsilí.

C - low
Chyba se kterou je možné aplikaci provozovat, znamená
akceptovatelný nekomfort, týká se nedůležitých částí
nebo dat. Existuje jednoduchý workaround.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Report o chybe

A

Na jeho základě vývojář znovu nasimuluje chybu, aby ji mohl lokalizovat a
opravit
Tester se nemusí pouštět do analýzy příčiny, podstatné je chybu dobře popsat

Typický report o chybě obsahuje:
* ID
* Název (shrnutí chyby)
* Odkaz na testovací scénář, který chybu odhalil
* Popis chyby
* Kde se chyba nalezla (modul aplikace, proces, funkcionalita, interface, …)
* Jaké kroky vykonat, aby se chyba vyvolala
* Nad jakými testovacími daty
* Testovací prostředí, build, release na kterém byla chyba nalezena
* Tester, který chybu nalezl
* Čas nálezu chyby
* Stav ve workflow opravy chyb (viz další slide)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Smoke test a test condition

A

Smoke test - sada zakaldnich testu proverujicich nejdulezitejsi funkcionalitu systemu

Test Condition - element nebo udalost v systemu, kterou je mozne proverit testovacim pripadem - treba funkce, transakce, strulktuaralni element

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Klasifikační strom

A
  • Můžeme vytvořit pro každý rozhodovací bod v aplikaci
  • Dá se aplikovat na různých úrovních: vstup dat přes webový formulář, interní
    výpočet a rozhodování v aplikaci, test integračního rozhraní, …
  • Uzly = classification ~ jednotlivé vstupy pro rozhodovací bod (příklad:
    políčka z webového formuláře, část podmínky v procesu rozhodování, …)
  • Listy = třídy ekvivalence pro danou classification (viz dále)
17
Q

Trida ekvivalence

A

mnozina vstupnich dat, pro kterou se program chova stejne
EC

Tedy vstupni data muzeme rozdelit na tridy ekvivalence

Muze byt bud Interval nebo diskrerni

Interval - rozmezi hodnot od az po
- tedy ma mezni podminky

Diskretni hodnoty - vycet
- vyber z predem dane mnoziny hodnot
- treba menu
- nejsou mezni podminky

  • Validní třídy ekvivalence – nastavují situace, které systém zpracuje
    standardním způsobem. „Správná data“.
  • Nevalidní třídy ekvivalence – nastavují situace, na které by měl systém
    zareagovat korektním ošetřením chyby. „Naschvál zadaná neplatná data“