CA CZ, s.r.o. May 21, Radek Mařík Testování konečných automatů May 21, / 36

Podobné dokumenty
ČVUT FEL, K Radek Mařík Testování konečných automatů 27. října / 52

Sekvenční logické obvody

Zjednodušení generativního systému redukcí rozlišení

5. Sekvenční logické obvody

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Operační výzkum. Síťová analýza. Metoda CPM.

3. Sekvenční logické obvody

Úvod do informatiky. Miroslav Kolařík

Naproti tomu gramatika je vlastně soupis pravidel, jak

Struktura a architektura počítačů (BI-SAP) 3

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Minimalizace KA - Úvod

v praze fakulta elektrotechnická katedra počítačové grafiky a interakce

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

SEMESTRÁLNÍ PROJEKT Y38PRO

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Profilová část maturitní zkoušky 2013/2014

1 Nejkratší cesta grafem

Návrh ovládání zdroje ATX

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

U Úvod do modelování a simulace systémů

BALISTICKÝ MĚŘICÍ SYSTÉM

Základy práce na PC. Ing. Jan Roubíček

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Ṁikroprocesory v přístroj. technice. Ohm-metr ... Petr Česák

Úvod 1 ČÁST 1 HTML 1 Základy HTML a kaskádových stylů 5

Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů

Testovací protokol USB token etoken PRO 32K

9. Praktická verifikace

Popis a ovládání. Aplikace 602XML Filler

SAFESCAN TP-230 POKLADNÍ TISKÁRNA

KEYBPTZ3DL8VGA. uživatelský manuál

Testovací protokol čipová karta etoken PRO SmartCard 32K

SIGNÁLY A LINEÁRNÍ SYSTÉMY

SEKVENČNÍ LOGICKÉ OBVODY

Zpravodaj. Uživatelská příručka. Verze

Systém souborů (file system, FS)

Datové typy a struktury

Automatizace testování

1 Linearní prostory nad komplexními čísly

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Elektronický Přepínač 1x KVM, 8xPC/16xPC

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Metriky softwarové kvality

4EK311 Operační výzkum. 5. Teorie grafů

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Poslední aktualizace: 14. října 2011

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Testování komponent. May 21, CA CZ, s.r.o. Radek Mařík Testování komponent May 21, / 45

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B. 1. úloha (4 body) Kolik existuje cest délky 4 v grafu K11? 2.

TW15 KONCOVÝ PRVEK MSKP. Popis výrobku Technická data Návod k obsluze. Technologie 2000 s.r.o., Jablonec nad Nisou

TGH02 - teorie grafů, základní pojmy

Projekt: Přístupový terminál

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

STRUčNÝ NÁVOD PRO KONFIGURACI FREKVENčNÍCH MĚNIčŮ

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

8.2 Používání a tvorba databází

Jak používat statistiky položkové v systému WinShop Std.

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

1 Webový server, instalace PHP a MySQL 13

PŘÍLOHA C Požadavky na Dokumentaci

TGH02 - teorie grafů, základní pojmy

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Databázové systémy Tomáš Skopal

Princip funkce počítače

Tisk deníku příjmů a výdajů na jednu stranu

Synco living. Osvětlení a rolety. Ovládání a funkce. Strana1/32 Michal Bassy -Říjen 2007

Add-on modul Microsoft Dynamics NAV. Doprava - základ. manuál

Cvičení z Lineární algebry 1

Profilová část maturitní zkoušky 2017/2018

Excel Asistent Magazín 06/2003

Rastrová reprezentace

Model ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis

Činnost počítače po zapnutí

PROGRAM RP31. Niveleta zadaná tečnami. Příručka uživatele. Revize Pragoprojekt a.s

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Algoritmizace. 1. Úvod. Algoritmus

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Ovládání pohonů IAI po síti Profinet

Konečný automat. Studium chování dynam. Systémů s diskrétním parametrem číslic. Počítae, nervové sys, jazyky...

Přijímací zkouška na navazující magisterské studium 2017

4.10 Ovládač klávesnice 07 TC 91 Ovládání 32 přepínačů/kláves a 32 LED

TGH02 - teorie grafů, základní pojmy

Aplikace pro srovna ní cen povinne ho ruc ení

45 Plánovací kalendář

Arnoldiho a Lanczosova metoda

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Funkce jednotlivých tlačítek se mohou měnit podle toho, na jaké úrovni menu se právě nacházíte; vysvětlení viz následující tabulka.

Grafové algoritmy. Programovací techniky

Návod k práci s programem MMPI-2

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Přijatá faktura. Do systému DMS se faktury přijaté zakládají automaticky.

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Platnost ČSN EN končí dne

A6M33SSL: Statistika a spolehlivost v lékařství Teorie spolehlivosti

Transkript:

Testování konečných automatů Radek Mařík CA CZ, s.r.o. May 21, 2010 Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 1 / 36

Obsah 1 Konečný automat - základy 2 Neformální přístup testování automatů Terminologie Postup Problémy 3 Formalizace testování automatů Příklad Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 2 / 36

Konečný automat - základy Konečné automaty v praxi [?] výborný model pro testování aplikací řízených pomocí menu, software řízený pomocí menu: primární ovládání se provádí pomocí výběru z položek menu. široké použití v objektově orientovaném návrhu. Konečný automat abstraktní stroj, jehož počet stavů a vstupních symbolů je konečný a neměnný. skládá se ze stavů (vrcholy), přechodů (hrany), vstupů (označení hran) a výstupů (označení hran či uzlů). Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 4 / 36

Konečný automat [?] Konečný automat - základy Nechť Input je konečná abeceda. Konečný stavový automat nad Input obsahuje následující položky: 1 konečnou množinu Q prvků nazývanou stavy. 2 podmnožinu I množiny Q obsahující počáteční stavy. 3 podmnožinu T množinu Q obsahující konečné stavy. 4 konečnou množinu přechodů, které pro každý stav a každý symbol vstupní abecedy vrací následující stav. Přechodová funkce F : Q Input PQ F(q, input) obsahuje možné stavy automatu, do kterých lze přejít ze stavu q po přijmutí symbolu input. PQ označuje množinu všech podmnožin Q (potenční množina množiny Q). Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 5 / 36

Konečný automat - základy Konečný automat s výstupem [?] Input konečná abeceda. Konečný automat nad množinou Input obsahuje následující komponenty: 1 Konečná množina Q prvků nazývaných stavy. 2 Podmnožina I množiny Q obsahující počáteční stavy. 3 Podmnožina T množiny Q obsahující koncové stavy. 4 Množina Output možných výstupů. 5 Konečná množina přechodů, které pro každý stav a každý symbol vstupní abecedy vrací množinu možných následujících stavů. Výstupní funkce G : Q Input Output pro každý stav a pro každý vstupní symbol určuje výstupní symbol. F a G mohou být parciální funkce. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 6 / 36

Konečný automat - základy Příklady konečných automatů [?] Množina Input akce či příkazy uživatele zadaných na klávesnici, kliky či pohyby myše, přijmutí signálu ze senzoru. Množina stavů Q hodnoty jistých důležitých proměnných systému, mód chování systému, druh formuláře, který je viditelný na monitoru, zda jsou zařízení aktivní či ne. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 7 / 36

Kódování vstupů [?] Konečný automat - základy Vstupy Vstupní událost: rozlišitelná opakovatelná událost jako fixní sekvence aktivy vstupů. Kódování vstupních událostí: přiřazení jména či čísla. Vstupní symboly: množina vzájemně různých symbolů použitých pro kódování vstupních událostí. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 8 / 36

Kódování stavů [?] Konečný automat - základy Stavy Stav: stavy se zobrazují jako uzly diagramu stavového automatu. Kód stavu: přiřazení symbolů ke stavům. Okamžitý stav: stav, ve kterém se právě systém nachází. Počáteční stav: speciální stav systému, ve kterém se systém nachází před přijmutím jakéhokoli vstupní události. Čítač stavů: hypotetické nebo aktuální místo paměti držicí kód okamžitého stavu. Počet stavů: počet vzájemně různých kódů stavu. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 9 / 36

Přechody a výstupy [?] Konečný automat - základy Přechody Výstupy Přechod: odezva systému na vstupní událost, při které se může změnit jeho stav. State A input X / output Y State B Vlastní přechod: při přechodu se stav nezmění; hrana vede stavu zpět do tohoto stavu. Výstupní událost: systém může produkovat na svém výstupu aktivity při změnách stavu či při přechodech. Kódování výstupu: symbol výstupní události. Nulový výstup: hypotetická výstupní údalost, při které systém na svém výstupu neprovede žádnou akvititu. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 10 / 36

Stavový diagram [?] Konečný automat - základy Vrcholy: zobrazují stavy (stav softwarové aplikace). Hrany: znázorňují přechody (výběr položky v menu). Atributy hran (vstupní kódy): např. akce myší, Alt+Key, funkční kĺıče, klávesy pohybu kursoru. Atributy hran (výstupní kódy): např. zobrazení jiného menu či otevření dalšího okna. Model vesmírné lodi Enterprise tři nastavení impulsního motoru: tah vpřed(d), neutrál(n), a zpětný tah(r). tři možné stavy pohybu: pohyb dopředu(f), zastavena(s), a pohyb vzad(b). kombinace vytvoří devět stavů: DF, DS, DB, NF, NS, NB, RF, RS, a RB. možné vstupy: d > d, r > r, n > n, d > n, n > d, n > r, r > n. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 11 / 36

Konečný automat - základy Stavový prostor Enterprise [?] BACKWARD <> STOPPED <> FORWARD r>r RB r>r RS r>r RF n>r r>n n>r r>n n>r r>n NB n>n NS n>n NF n>n d>n n>d d>n n>d d>n n>d d>d d>d DB DS DF d>d Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 12 / 36

Konečný automat - základy Vlastnosti stavových diagramů [?] Vlastnosti silně souvislý graf, stavové grafy rostou velmi rychle, typicky se uvažují všechny možné i nemožné vstupy v daném stavu - implementace systému nemusí být správná. pěkná symetrie je velmi řídký jev v praxi. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 13 / 36

Přechodové tabulky [?] Konečný automat - základy má pro každý stav jeden řádek a pro každý vstup jeden sloupec, ve skutečnosti jsou tabulky dvě s stejným tvarem: tabulka přechodů tabulka výstupů hodnotou pole v tabulce přechodů je příští stav, hodnotou pole v tabulce výstupů je výstupní kód pro daný přechod. hierarchické (vnořené) automaty jsou jedinou cestou, jak se vyhnout obrovským tabulkám (např. stavová schémata, angl. statechart, starchart, atd.) Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 14 / 36

Konečný automat - základy Přechodová tabulka Enterprise [?] Enterprise STATE r > r r > n n > n n > r n > d d > d d > n r > d d > r RB RB NB RS RB NS RF RS NF NB NB RB DB NS NS RS DS NF NF RF DF DB DS NB DS DF NS DF DF NF Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 15 / 36

Příklad - estimátor [?] Konečný automat - základy edit_cust CUST OMERS help_cust close_help_cust HELP CUST cust close_cust open prices OFF close MAIN close_price PRICES edit_price close_order orders ORDERS edit_order Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 16 / 36

Neformální přístup testování automatů Dosažitelnost stavů [?] Terminologie Dosažitelný stav: stav B je dosažitelný ze stavu A, jestliže existuje sekvence vstupů taková, která převede systém ze stav A do stavu B. Nedosažitelný stav: stav je nedosažitelný, pokud není dosažitelný, zvláště z počátečního stavu. Nedosažitelné stavy znamenají typicky chybu. Silně souvislý: všechny stavy konečného automatu jsou dosažitelné z počátečního stavu. Většina modelů v praxi je silně souvislá, pokud neobsahují chyby. Isolované stavy: množina stavů, které nejsou dosažitelné z počátečního stavu. Pokud existují, jedná se o velmi podezřelé, chybové stavy. Reset: speciální vstupní akce způsobující přechod z jakéhokoliv stavu do počátečního stavu. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 18 / 36

Rozdělení stavů [?] Neformální přístup testování automatů Terminologie Množina počátečního stavu: Jakmile se provede přechod z této množiny, pak se do této množiny již nelze vrátit (např. boot systému). Pracovní stavy: po opuštění množiny počátečního stavu, se systém pohybuje v silně souvislé množině stavů, kde se provádí většina testování. Počáteční stav pracovní množiny: stav pracovní množiny, který je možné považovat za výchozí stav. Množina koncových stavů: dostane-li se systém do této množiny, nelze se zpět vrátit do pracovní množiny, např. ukončovací sekvence programu. Úplně specifikovaný: je systém, pokud je přechody a výstupní kódy definovány pro jakoukoliv kombinaci vstupního kódu a stavu. Okružní cesta stavu A: sekvence přechodů jdoucí ze stavu A do stavu B a zpět do A. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 19 / 36

Neformální přístup testování automatů Ověřování modelu [?] Terminologie 1 úplnost a konzistence, tj. kontrola chybějících vstupů, nejednoznačnosti, rozpory, atd. 2 jednoznačné kódování vstupů, 3 minimální automaty, 4 modely, které nejsou silně souvislé, jsou typicky chybou modelu nebo chybou v návrhu. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 20 / 36

Neformální přístup testování automatů Postup Obecný návod k testování automatů [?] 1 identifikuj vstupy. 2 definuj kódy vstupů. Vstupy, které netestujeme se nezahrnují. 3 identifikuj stavy. 4 definuj kódování stavů. 5 identifikuj výstupní akce. 6 definuj kódování výstupních akcí. 7 specifikuj tabulku přechodů a tabulku výstupů a zkontroluj ji - jeden z nejnamahavějších kroků návrhu, 8 navrhni testy, 9 proveď testy, 10 pro každý vstup ověř jak přechod, tak i výstup. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 22 / 36

Návrh testů [?] Neformální přístup testování automatů Postup Každý test začíná v počátečním stavu. Z počátečního stavu se systém přivede nejkratší cestou k vybranému stavu, provede se zadaný přechod a systém se nejkratší možnou cestou přivede opět do počátečního staru; vytváříme tzv. okružní cestu. Každý test staví na předchozích jednodušších testech. Určíme vstupní kód pro každý přechod okružní cesty. Určíme výstupní kódy asociované s přechody okružní cesty. Ověříme kódování vstupů, kódování výstupů, stavy, každý přechod. Je každý koncový stav dosažitelný? Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 23 / 36

Skryté stavy Neformální přístup testování automatů Problémy Je systém v počátečním stavu? Test nelze zahájit, pokud systém není potvrzeným způsobem v počátečním stavu. Aplikace si uchovávají persistentně své nastavení. Jestliže předchozí test selže, v jakém stavu se aplikace nachází? Má implementace skryté stavy? Při testování softwaru můžeme předpokládat věci, které nemusí obecně platit. např. že víme, ve kterém stavu se systém nachází. Typicky se nejedná o jeden či dva skryté stavy, ale stavový prostor se zdvojnásobuje či jinak násobí. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 25 / 36

Skryté stavy Neformální přístup testování automatů Problémy!!! a B3 A2 a a A b a C a c B b b A1 A b a a a B2 B1 c c c C Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 26 / 36

Testovatelnost [?] Neformální přístup testování automatů Problémy 1 explicitní počítadlo stavů, 2 resetování do specifického stavu, 3 krokování, 4 trasování přechodů. 5 explicitní tabulka vstupního kódování, 6 explicitní tabulka výstupního kódování, 7 explicitní tabulka přechodové funkce. Omezení: velké stavové grafy, vnořené modely versus vnořené systémy, nedostatečná podpora. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 27 / 36

Formalizace testování automatů Testování konečného automatu [?] založeno na izomorfismu konečných automatů, A = (Input, Q, F, q 0 ) A = (Input, Q, F, q 0 ) g : A A g : Q Q 1 g(q 0 ) = q 0 2 q Q, input Input, g(f(q, input)) = F (g(q), input) B A Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 29 / 36

Formalizace testování automatů Konstrukce množiny testů [?] Nechť L je množina vstupních sekvencí a q, q dva stavy. L rozliší stav q od q, jestliže existuje sekvence k v L taková, že výstup získaný apliací k na automat ve stavu q je různý od výstupu získaný aplikací k na stav q. Automat je minimální, pokud neobsahuje redundantní stavy. Množina vstupních sekvencí W se nazývá charakterizační množina, jestliže může rozlišit jakékoliv dva stavy stavy automatu. Pokrytí stavu je množina vstupních sekvencí L taková, že lze nalézt prvek množiny L, kterým se lze dostat do jakéhokoliv žádaného stavu z počátečního stavu q 0. Pokrytí přechodů minimálního automatu je množina vstupních sekvencí T, která je pokrytím stavů a uzavřená z hlediska pravé kompozice s množinou vstupů Input. sequence T + input Input Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 30 / 36

Formalizace testování automatů Generování množiny testů [?] O kolik je v implementaci více testů než ve specifikaci? (k) Z = Input k W Input k 1 W Input 1 W W Jestliže A a B jsou množiny sekvencí stejné abecedy, pak A B značí množinu sekvencí, složených ze sekvencí množiny A následující sekvencí z B. k kroků do neznámého prostoru následovaných ověřením stavu Konečná množina testů: T Z Pokrytí přechodů zajisťuje, že všechny stavy a přechody specifikace jsou implementovány, množina Z zajišťuje, že implementace je ve stejném stavu, který určuje specifikace. Parametr k jistí, že do jisté úrovně všechny skryté stavy implementace jsou testovány. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 31 / 36

Jednoduchý příklad [?] Formalizace testování automatů Příklad a/x q0 b/y q1 a/y b/y a/x q3 b/x q2 a/y Input = {a, b} L = {<>, b, b ::a, b ::a::b}, <>... nulový vstup T = {<>, a, b, b ::a, b ::b, b ::a::a, b ::a::b, b ::a::b ::a, b ::a::b ::b} W = {a, b} [?], pp. 31 34 Z = Input W W = {a, b} {a, b} {a, b} = {a, b, a::a, a::b, b ::a, b ::b} Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 33 / 36

Formalizace testování automatů Testovací množina příkladu [?] Příklad T Z = = { <>, a, b, b ::a, b ::b, b ::a::a, b ::a::b, b ::a::b ::a, b ::a::b ::b} {a, b, a::a, a::b, b ::a, b ::b} = {a, b, a::a, a::b, b ::a, b ::b, a::a, a::b, a::a::a, a::a::b, a::b ::a, a::b ::b, b ::a, b ::b, b ::a::a, b ::a::b, b ::b ::a, b ::b ::b, b ::a::a, b ::a::b, b ::a::a::a, b ::a::a::b, b ::a::b ::a, b ::a::b ::b, b ::b ::a, b ::b ::b, b ::b ::a::a, b ::b ::a::b, b ::b ::b ::a, b ::b ::b ::b, b ::a::a::a, b ::a::a::b, b ::a::a::a::a, b ::a::a::a::b, b ::a::a::b ::a, b ::a::a::b ::b, b ::a::b ::a, b ::a::b ::b, b ::a::b ::a::a, b ::a::b ::a::b, b ::a::b ::b ::a, b ::a::b ::b ::b, b ::a::b ::a::a, b ::a::b ::a::b, b ::a::b ::a::a::a, b ::a::b ::a::a::b, b ::a::b ::a::b ::a, b ::a::b ::a::b ::b, b ::a::b ::b ::a, b ::a::b ::b ::b, b ::a::b ::b ::a::a, b ::a::b ::b ::a::b, b ::a::b ::b ::b ::a, b ::a::b ::b ::b ::b} =... simplification Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 34 / 36

Aplikace [?] Formalizace testování automatů Příklad software řízený pomocí menu, objektově orientovaný software, protokoly, řadiče zařízení, starší hardware, mikropočítače průmyslových a domacích zařízení, instalace softwaru, software pro archivaci či obnovení. Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 35 / 36

Literatura I Formalizace testování automatů Příklad Radek Mařík (radek.marik@ca.com) Testování konečných automatů May 21, 2010 36 / 36