modell alapú tesztelés: célok és lehetőségek

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

Upload: zoltan-micskei

Post on 23-Jan-2018

40 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Modell alapú tesztelés: célok és lehetőségek

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

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

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

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

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

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

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

ESZKÖZÖK

8

Page 9: Modell alapú tesztelés: célok és lehetőségek

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

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

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

ESETTANULMÁNYOK

12

Page 13: Modell alapú tesztelés: célok és lehetőségek

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

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

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

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

“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

ISTQB CTFL-MBT tanfolyam + vizsga

18

Page 19: Modell alapú tesztelés: célok és lehetőségek

Ö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