Työkaluselvitys
toukokuu 31, 2007 oopee
Olen tässä vähän katsellut millaisia työkaluja mallipohjaiseen testaukseen on tarjolla. Näyttäisi olevan ainakin 15 ohjelmaa, ja useita menestystarinoita projekteista joissa noita on käytetty. Eräässä tutkimuksessa todettiin että 70% testauksen automatisointi yrityksistä epäonnistuu, mutta eipä ole yhtään epäonnistunutta kertomusta tullut vastaan.
Ajattelin jakaa työkaluanalyysin neljään osaan:
1. Mallinnus: Tässä on melkoinen kirjo mm: UML statechart, UML2.0, B notation, FSM, EFSM, Simulink, Markov Chain, TTCN-3 ja joitain omia virityksiä. Vaikea sanoa mikä noista on paras, kun se riippuu niin paljon lähestymistavasta.
2. Testien generointi: Tähän saa osviittaa analysoimalla työkaluja. Niissä voi valita juostaanko päättömästi ympäri tilakonetta, vai yritetäänkö päästä johonkin tiettyyn tilaan, käydäänkö joka tilassa, mennäänkö kaikki siitymät läpi jne… Itse logiikka on kuitenkin piilossa työkalun sisuksissa eikä missään kerrota että mitä menetelmiä se käyttää. Toivottavasti mua ei kiinnostakkaan
3. Testien suoritus: Tässä törmää ensin käsitteeseen Online/Offline, eli tehdäänkö testit etukäteen (offline) ja ajetaan sitten vai keksitäänkö testejä sitä mukaan (online). Ajattelin laittaa tähän kaikki mitä tapahtuu Play-napin painamisen jälkeen. Elikkä sisältää logien luettavuudesta aina testauksen havainnollistamiseen asti.
4. Sovelluskerroksen rakennus: Tämä näyttäisi olevan koko projektin kenkkumaisin osa. Ajattelinkin että kun menen testaamaan johonkin näitä menetelmiä niin annan jonkun guru-koodarin tehtäväksi tehdä tämä rajapinta, jolla malli liitetään itse ohjelmaan.
Seuraavaksi ajattelin lueskella lisää menestystarinoita, ja samalla kinuta ohjelmien valmistajilta testiversioita ohjelmiin.