Quality Aspects of TTCN-3 Based Test Systems
TTCN-3
large scale
standardized
ETSI
3GPP
software quality
test quality
code smells
empirical study
software evolution
test systems
Lehman's laws
test system architecture
technical debt
structural analysis
Informatika D. I./Információs rendszerek
TTCN-3
nagy skála
szabványosított
ETSI
3GPP
szoftver minőség
teszt minőség
code smell
empirikus megfigyelés
szoftver fejlődés
teszt rendszerek
Lehman törvények
teszt rendszer architektúra
technikai tartozás
struktúrális elemzés
Abstract:
A doktori dolgozat TTCN-3 -ban írt tesztrendszerek kódminőségének vizsgálatáról szól.
Az elemzésekhez először a TTCN-3 nyelvhez kapcsolódó gyanús kódmintákat határoztam meg (code smells), majd ezeket az ISO-9126 és ISO-25010 szoftverminőség szabványoknak megfelelően osztályoztuk. A minőség méréséhez eszközt terveztem és fejlesztettem, aminek a segítségével ipari és sztenderd TTCN-3 testsorozatok kódminőségét vizsgáltam.
Elemeztem és megbecsültem továbbá a talált nem-megfelelőségek refaktorálásához szükséges ráfordítások költségét.
Megvizsgáltam a TTCN-3 alapú tesztrendszerek strukturális tulajdonságait, rétegzett elrendezésű megjelenítő eljárást készítettem és implementáltunk. Módszeremet az ipari tesztrendszer tervezők is hasznosnak találták. Vizsgálatom eredményei közül kiemelhetőek az alábbiak: (1)aszabadon elérhet˝ o tesztsorozatok közül több is tartalmaz projekttől független modulokat, körkörös importokat modul és könyvtár szinten egyaránt; (2) a modulok közötti kimenő import kapcsolatok logaritmikus görbével, míg
a bemenő import kapcsolatok hatványgörbével közelíthetőek; (3) a vizsgált gráfok átmérője logaritmikus függvénye a projektben található modulok számának.
Ezután a tesztsorozatok időbeli változását vizsgáltam két tesztrendszer ötéves fejlődésén keresztül. A vizsgálatok során azt találtam, hogy a fejlesztési módszertan, a projektvezetők, a csapat és a technikai vezet˝ ok változása, valamint a CI és az automatizált minőség ellenőrzés bevezetése nem járt számot tevő hatással a gyanús kódminták számára nézve. A Lehman
törvényekkel analóg módon – a szoftver-rendszerek fejlődéséhez hasonlóan – a teszrendszerek esetére is érvényes törvényszerűségeket sikerült kimutatnom.
A minőségi tesztek és kódok írása emberi vonatkozásainak feltérképezéséhez kérdőíves felmérést végeztem. A szakmai gondol-
kodásra/módszerekre vonatkozó kérdéseimre a fejlesztők és a tesztelők adták a leghasonlóbb válaszokat. Ez egyfajta “konvergenciára” utal a tesztelés és fejlesztés között, amit mások (pl. [126, 127, 128]) már megsejtettek. Megállapítható, hogy bár a legtöbb vállalatnál támogatják a termékek belső minőségének javítását, a válaszadók jelent˝ os része mégsem hallott
rossz mintákról (anti-patterns), vagy nem tartja ezek jelenlétét a tesztekben, kódokban aggályosnak.