22
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

Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

ESZKÖZÖK

8

Page 9: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

ESETTANULMÁNYOK

12

Page 13: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

“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: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

ISTQB CTFL-MBT tanfolyam + vizsga

18

Page 19: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

Ö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

Page 20: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

KIEGÉSZÍTÉS

20

Page 21: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

MBT taxonómia

21

Source: M. Utting, A. Pretschner, B. Legeard. „A taxonomy of model-based testing approaches”, STVR 2012; 22:297–312

Page 22: Modell alapú tesztelés: lehetőségek és célokmit.bme.hu/~micskeiz/papers/szoftverteszteles-2016/micskei-modell... · ISTQB CTFL-MBT tanfolyam + vizsga 18. Összefoglalás 19

SpecExplorer

C# model program + adapter code

Slicing: scenarios, action patterns

Source: https://visualstudiogallery.msdn.microsoft.com/271d0904-f178-4ce9-956b-d9bfa4902745