Download - Modell alapú tesztelés: célok és lehetőségek
![Page 1: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/1.jpg)
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Budapesti Műszaki és Gazdaságtudományi Egyetem
Modell alapú tesztelés: célok és lehetőségek
Dr. Micskei Zoltán
1
Szoftvertesztelés 2016 Konferencia
![Page 2: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/2.jpg)
Mi a modell alapú tesztelés (MBT)?
„Tesztelés modellek alapján vagy azok segítségével” [ISTQB]
Nem csak tesztgenerálás
Nem feltétlen automatikus végrehajtás
Nem csak a modell alapú fejlesztés részeként
2
![Page 3: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/3.jpg)
Mi a modell?
“Valami [bonyolult] egyszerűsített változata”
(leképezés, csökkentés, gyakorlatiasság)
Tesztelésben használt modellek (példák):
3
Teszt szekvenciákKonfigurációViselkedés
timer t; t.start(5.0); alt { [] i.receive("coffee") { Count := Count+1; } [] t.timeout { }
}
![Page 4: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/4.jpg)
MBT felhasználási lehetőségei
4
(informális) (formális)
Kommunikációelősegítése
Specifikáció ellenőrzése
Szimuláció
Tesztadat generálása
Végrehajtható teszt szkriptek
![Page 5: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/5.jpg)
MBT specifikus értelmezése: Tesztgenerálás
A modell alapú tesztelés folyamatok és technikák
- modellekből absztrakt tesztesetek származtatására,
- az absztraktból konkrét tesztek generálására,
- konkrét tesztek kézi vagy automatikus végrehajtására
5
Source: M. Utting, A. Pretschner, B. Legeard. „A taxonomy of model-based testing approaches”, STVR 2012; 22:297–312
![Page 6: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/6.jpg)
MBT folyamata
6
Source: M. Utting, A. Pretschner, B. Legeard. „A taxonomy of model-based testing approaches”, STVR 2012; 22:297–312
Kiindulás: követelmények
Modell létrehozása
Kiválasztási kritérium
Absztrakttesztesetek
származtatása
System UnderTest
Adapter, konkretizálás
![Page 7: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/7.jpg)
Tesztelési és fejlesztési modellek
Használhatom a meglévő fejlesztési modelljeimet?
7
A. Pretschner, J. Philipps. „Methodological Issues in Model-Based Testing”, Model-Based Testing of Reactive Systems, 2005.
Probléma: mit tesztelünk ilyenkor?
Javasolt: külön teszt-modellek
![Page 8: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/8.jpg)
ESZKÖZÖK
8
![Page 9: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/9.jpg)
Nyílt eszköz: GraphWalker
9
Véges automata modell + egyszerű feltételek
Lefedettség: állapot, átmenet, idő (véletlen bejárás)
JUnit teszt csonk generálása (adapter)
![Page 10: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/10.jpg)
Kereskedelmi eszköz: Conformiq
Állapotgép modellek + Java akciókód
Lefedettség: követelmény, állapot, átmenet…
Integráció rengeteg eszközzel
10
Sou
rce:
Co
nfo
rmiq
. „Te
stin
g B
luet
oo
thP
roto
colS
tack
sw
ith
Co
mp
ute
r-G
ener
ated
Test
s”. T
ech
no
logy
bri
ef. 2
01
0
![Page 11: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/11.jpg)
További eszközök
CertifyIt (Smartesting)
oModell: UML + OCL
SpecExplorer (Microsoft)
o C# modell program
o Bejárás: szcenáriók, teszt célok
MoMuT::UML (akadémiai)
o UML állapotgépek, mutációs tesztelés
11
Részletes lista: http://mit.bme.hu/~micskeiz/pages/mbt.html
![Page 12: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/12.jpg)
ESETTANULMÁNYOK
12
![Page 13: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/13.jpg)
MBT User Survey 2014
13
Forrás: http://model-based-testing.info/2014/12/09/2014-mbt-user-survey-results/
~100 résztvevő32 kérdés
- Kb. 80 óra szükséges az alapokhoz- MBT hatékony- Sok hasznos részlet!
![Page 14: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/14.jpg)
MBT bevezetési taktikák
„Fast & easy”
o Egyszerű (rész)modellek
o Jobbára ingyenes eszközök
„Full fledged”
o Komplex, rendszerint fizetős eszközök
o Teljes életciklus támogatása
„Advanced”
o Saját modellezési nyelv/eszköz készítése
14
![Page 15: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/15.jpg)
Modell + GraphWalker
Esettanulmány: Spotify
15
MBT + tesztautomatizálás
Test automation and Model-Based Testing in agile dev cycle @ Spotify, UCAAT 2013
![Page 16: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/16.jpg)
Esettanulmány: Microsoft dokumentáció
250+ protokoll, 25.000+ oldal
250+ mérnökév, 350+ mérnök
Eszköz: SpecExplorer
Forrás: W. Grieskamp et al. „Model-based quality assurance of protocol documentation: tools and methodology,” STVR, 21:55-71, 2011
Részletek: http://queue.acm.org/detail.cfm?id=1996412
![Page 17: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/17.jpg)
“Cheat sheet” MBT bevezetéshez
17
Forrás: Robert V. Binder (http://robertvbinder.com/)
Lásd: „Model-Based Testing: Why, What, How,” http://www.slideshare.net/robertvbinder/model-basedtestingignite
Javasolt Nem javasolt
Komplex SUT működés Egyszerű funkcionalitás
Absztrahálható követelmények Szubjektív kiértékelés
Tesztelhető interfészek Monolitikus GUI
Regressziós tesztelés és atesztek karbantartása szükséges
SUT nem túl értékes, már nem fejlesztett
Képzett tesztmérnökök Kevés/nincs meglévő tesztelés
Nem technikai tesztelő csapat
![Page 18: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/18.jpg)
ISTQB CTFL-MBT tanfolyam + vizsga
18
![Page 19: Modell alapú tesztelés: célok és lehetőségek](https://reader031.vdocuments.pub/reader031/viewer/2022030317/5a6624197f8b9a99198b49f3/html5/thumbnails/19.jpg)
Összefoglalás
19
Sokféle modellezési nyelv, teszt cél és módszer
MBT = modellek felhasználása a tesztelésben
Információcserétől az automatizált futtatásig