valós idejű tesztlefedettség-monitorozás jee környezetben
DESCRIPTION
Valós idejű tesztlefedettség-monitorozás JEE környezetben. Dr. Ferenc Rudolf, Szegedi Tudományegyetem Bakota Tibor, FrontEndART Szoftver Kft. Szoftverfejlesztés Tanszék. Számok és tények Több mint 120 munkatárs Szoftverminőség területén a világ egyik vezető intézete - PowerPoint PPT PresentationTRANSCRIPT
Valós idejű tesztlefedettség-monitorozás JEE környezetben
Dr. Ferenc Rudolf, Szegedi TudományegyetemBakota Tibor, FrontEndART Szoftver Kft.
Szoftverfejlesztés Tanszék
• Számok és tények– Több mint 120 munkatárs– Szoftverminőség területén
a világ egyik vezető intézete– A K+F és ipari projektek
árbevétele éves szintentöbb mint 500 MFt
– 3 spin-off cég– Kulcsszerep a dél-alföldi IT klaszterben– Szoftveripari Innovációs Kutató Központ (SIKK)– Magyar és nemzetközi ipari projektek
Oktatás
Ipari projektek
K+F
Szoftverfejlesztés Tanszék
követelmények
erőforrások Naprakész szoftver megoldások
Értékes kompetenciával rendelkező fejlesztők
K+F tapasztalat az akadémiai környezetből és az ipari
projektekből
Naprakész kompetencia
Egyetem
Ipari partner
Szoftverminőség csoport
• Kutatás-fejlesztés, oktatás, tesztelés• 15 év alatt több mint 300 emberév K+F ráfordítás • Columbus statikus forráskód-elemzők
– C/C++, C#, Java, PL/SQL, Magic, ForrásSQL, Python– Robusztus elemzők (akár 30M programsor)– Modell alapú AST– Vezérlési- és adatfolyam gráfok– Programozói interfész (API)– Eredmények: forráskód-metrikák (több mint 50),
kódolási szabálysértések, kódmásolatok, architektúra, tervezési minták, stb.
Szoftverminőség csoport• Több mint 100 szoftverminőséggel kapcsolatos
nemzetközi publikáció• 2002-ben a világ legjelentősebb szoftverkarbantartási
konferenciáján ismertettük a Columbus technológia alapjait– ICSM – IEEE International Conference on Software
Maintenance– 2012-ben ez a cikk
kapta meg azelmúlt 10 évlegnagyobb hatásúpublikációja díjat
FrontEndART Szoftver Kft.
• 2001-ben egyetemi kötődésű kutatók és oktatók alapították
• Fejlesztés, tesztelés, oktatás, tanácsadás
• Első projekt– Nokia Helsinki megrendelésére– C/C++ forráskód elemző– Ez az alapja a Columbus technológiának
Területek
• Forráskód-minőségbiztosítás üzletág– Columbus technológiára épülő termékek és szolgáltatások– Forráskód minőség mérése, biztosítása és növelése– Fejlesztési költségek csökkentése– Üzemeltetési kockázatok minimalizálása
• Tesztelés üzletág– Teljes körű (statikus, dinamikus, lefedettség vezérelt)– Magas szintű szakértői felügyelet (ISTQB tanúsítvány, jelentős
ipari referenciák, legkorszerűbb technológiai ismeretek) – Költséghatékony és nagyméretű egyetemi tesztelési kapacitások
kiaknázása
• Oktatás üzletág
8
Motiváció
Motiváció
• UAT tesztelésnél– Általában a szoftver forráskódjának fele sem kerül
végrehajtásra kiadás/élesítés előtti tesztelés során– Gyakran a változtatások 30%-a sem kerül
végrehajtásra
• Minimális elvárás, hogy a módosítások legalább 1x végre is hajtódjanak
Motiváció
0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%90.00%
100.00%
Lefedettség (2009 nyár)
0.00%10.00%20.00%30.00%40.00%50.00%60.00%70.00%80.00%90.00%
100.00%
Lefedettség (2009 ősz)
A megoldás
• Tesztlefedettség monitorozása UAT tesztelésnél• Valós idejű lefedettség-adatok• Forráskód-változásra vetített lefedettség-
információk• Elosztott JEE környezetben való működés
– Weblogic alkalmazásszerver támogatása– Klaszteres működés– Integrált környezetben való működés
Arc
hite
ktúr
a
Fel
ület
Megtérülés
• Megelőzhető kiadás utáni hibák száma:Ahol
F – fejlesztők száma
P – fejlesztők produktivitása (pl. 1000 sor/hó)
T – változás tesztelésének hatékonysága (pl. 0,5)
B – kódsorra vetített várható hibák száma (pl. 0,001)
Megtérülés
• Tesztelési erőforrás csökkenése:(
Ahol
C – kódváltozás mértéke (pl. 10%)
0,2 – Végrehajtandó tesztesetek aránya FS alapján
E – Lefedettség-mérés nélküli tesztelői kapacitás
Készülőben
• Lefedettség mérése tesztesetenként• Kódváltozás alapú teszteset-szelekció és priorizálás• Forráskód-attribútumok és lefedettségi információk összerendelése
– Pl. kritikus kódolási hiba egy változott de le nem fedett kódrészben• Integráció
17