Tesztgenerálás a gyakorlatban Az IntelliTest és ami mögötte van

Slides:



Advertisements
Hasonló előadás
Számvitel S ZÁMVITEL. Számvitel Ormos Mihály, Budapesti Műszaki és Gazdaságtudományi Egyetem, Hol tartunk... Hiányzik egy jól strukturált rendszer.
Advertisements

A felhasználói interfész A felhasználói interfész az a felület, amellyel a szoftver az ember felé „fordul”; amellyel a felhasználó nap mint nap találkozik.
Országos Kompetencia Mérés 2009 Bródy Imre Gimnázium, Szakközépiskola Készítette: Jákliné Tilhof Ágnes.
Bevezetés a C# nyelvbe Az alapok összefoglalása Farkas Csaba.
A képzett szakemberekért AZ ÖNÉRTÉKELÉS FOGALMA, LÉNYEGE, SZEREPE A MINŐSÉGFEJLESZTÉSBEN 3.2. előadás.
 Alap tudnivalók Alap tudnivalók  Az If és a While folyamatábrák Az If és a While folyamatábrák  Probléma Probléma  A while ciklus (általános alak,
1 Az önértékelés mint projekt 6. előadás 1 2 Az előadás tartalmi elemei  A projekt fogalma  A projektek elemei  A projekt szervezete  Projektfázisok.
BINARIT TIMESHEET Több, mint munkaidő nyilvántartás Virág Zsolt (BINARIT Informatikai Kft.)„Hogyan legyek milliomos?” konferencia – BKIK ( )
A környezetföldtan fogalma, vizsgálati módszerei A környezetföldtan fogalma, vizsgálati módszerei Építés- és környezetföldtan 6.
„ Tágas városom kis lakásra cserélem” Hajléktalanok önálló lakhatásának elősegítése, munkaerő-piaci integrációjának megalapozása TÁMOP /
„Internetes kommunikáció” pótkurzus Készítette: Tóth Tímea Szak: Tantárgykódja: Tanár neve:
Informatikai rendszerek általános jellemzői 1.Hierarchikus felépítés Rendszer → alrendszer->... → egyedi komponens 2.Az elemi komponensek halmaza absztrakciófüggő.
Open SKM Agency Kft. - „...a nyílt szabványok választása egyértelműen okos üzleti döntés...” „... az EU nem válhat a zárt forráskód rabjává,
Innovatív értékesítési lehetőség a mezőgazdasági vállalkozók számára.
A Magyarországon működő iskolai drogprevenciós programok leírása Paksi Borbála, Demetrovics Zsolt, Nyírády Adrienn, Nádas Eszter, Buda Béla, Felvinczi.
A KAMAFIP szoftver alkalmazása Dr. Kárpáti László, CSc., MBA California Consulting Bt
Két nagy múltú szövegszerkesztő összehasonlítása az oktatás szempontjából.
BEST-INVEST Független Biztosításközvetítő Kft.. Összes biztosítási díjbevétel 2004 (600 Mrd Ft)
Gazdasági informatika - bevezető
Work-based Learning in CVET Az ALFA KISOSZ Érdekvédő és Képző Egyesület szerepe a projekt megvalósításában Előadó: Czibula Zoltán igazgató ALFAKÉPZŐ.
E-learning modellek osztályozása
Üzleti modell központú fejlesztés
Berényi Eszter – Damásdi Judit
11/2/2017 Horváth Botond, Dunaújvárosi Főiskola, Informatika Biztonság Labor Konzulens Dr. Leitold Ferenc, Hadarics Kálmán “Nemcsak azokkal a sebezhetőségekkel.
WE PROVIDE SOLUTIONS.
Becslés gyakorlat november 3.
Folyamatmanagement eszközök hódítása Teremts rendet a káoszból PPM-el
A CMMI modell alkalmazása SOA-környezetben
Szupergyors Internet Program (SZIP) Jogi akadálymentesítés megvalósítása: Jogalkotással is támogatjuk a fejlesztéseket dr. Pócza András főosztályvezető.
Scilab programozás alapjai
Foglalkoztatási Paktumok az EU-ban
A közigazgatással foglalkozó tudományok
videós team Team vezetője: Tariné Péter Judit Tagok:
Az Európai Uniós csatlakozás könyvtári kihívásai
Sz&p prof.
JavaScript Test Automatizálási Keretrendszerek László Szikszai
CSOPORT - A minőségellenőrök egy megfelelő csoportja
Szervezetfejlesztés II. előadás
2.1. Használhatósági célok
Szoftver vizualizáció
Tájékoztató a évi OSAP teljesüléséről
Visual Studio Code Metrics
Piaci kockázat tőkekövetelménye
Új szolgáltatások illesztése működő rendszerekhez SOA alulnézetben
VÁRATLAN MŰSZAKI ESEMÉNYEK
Projektmunka Földrajzolok
STRATÉGIAI ÉS ÜZLETI TERVEZÉS 9. előadás
Regressziós modellek Regressziószámítás.
Algoritmusok és Adatszerkezetek I.
IDŐZÍTÉS PROGRAMOZÁSA
TÁMOP A pályaorientáció rendszerének tartalmi és módszertani fejlesztése – Regionális workshop Zétényi Ákos.
A csoportok tanulása, mint a szervezeti tanulás alapja
Stratégiai emberierőforrás-fejlesztés
Tájékoztatás a évi Országos Statisztikai Adatfelvételi Program (OSAP) teljesüléséről az Országos Statisztikai Tanács és a Nemzeti Statisztikai Koordinációs.
Önkormányzati adattárház
Szakképzési Önértékelési Modell II. Fejlesztési szint EREDMÉNYEK 4. 8
A turizmus tendenciáinak vizsgálata Magyarországon
A Magyarországon működő iskolai drogprevenciós programok leírása
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL I. HELYZETFELMÉRŐ SZINT FOLYAMATA 8
I. HELYZETFELMÉRÉSI SZINT FOLYAMATA 3. FEJLESZTÉSI FÁZIS 10. előadás
SQL jogosultság-kezelés
A piaci árak alakulása Bevezetés Mi a vizsgált probléma?
Bemeneti kompetenciamérés 2007/2008 tanév
OVIDIUS Info-Service Co Ltd.
Céges értekezlet címe Előadó.
A részekre bontás tilalma és annak gyakorlati alkalmazása
A T-spline felületreprezentáció
A talajok mechanikai tulajdonságai III.
Környezetgazdaságtan 6. előadás A környezeti szabályozás eszközei
Előadás másolata:

Tesztgenerálás a gyakorlatban Az IntelliTest és ami mögötte van 9. Enterprise Developer Meetup Tesztgenerálás a gyakorlatban Az IntelliTest és ami mögötte van Honfi Dávid honfi@mit.bme.hu

Az előadás fókusza modul B modul A modul C service Egységtesztelés (unit testing) modul B modul A modul C service Struktúra alapú tesztelés (kód ismert)

Forráskód alapú teszttervezés public int M1(int a, int b) { if(a == 0) { Console.WriteLine(ERROR_MSG); return -1; } if(b > a) return b*a+5; else return (a+b)/2; Fedjük le az összes utasítást! a==0 a!=0 && b>a a!=0 && b<=a a==0 a!=0 && b>a a!=0 & b<=a a 2 1 b

teszteset = bemenet + elvárt kimenet Mi az, ami kimaradt? teszteset = bemenet + elvárt kimenet Mi az, amit észre lehet venni? Alap, általános hibák (pl. nem várt kivételek) Ellenőrzések megsértése (pl. assertionök) Eltérés már meglévő kimenettől Regressziós teszt: korábbi változatok összevetése Más implementációk összehasonlítása

Kód alapú tesztgenerálás automatizálása Jól láthatóan automatizálható (kódbejárás) ’70-es évek óta módszerek (pl. szimbolikus végrehajtás) DE: számítási igények + egyéb kihívások Napjainkban válik alkalmazhatóvá Újabb és újabb módszerek Meglévő technikák vegyítése Fejlett számítási algoritmusok …

Eszközök .NET Java JavaScript: Jalangi C: KLEE (Cloud9) Microsoft IntelliTest (a.k.a. Pex) Microsoft SAGE Java NASA Symbolic PathFinder CATG … JavaScript: Jalangi C: KLEE (Cloud9)

Microsoft Research IntelliTest

Microsoft IntelliTest Egység-tesztelés Struktúra alapú teszt Szimbolikus végrehajtás Parametrikus egységtesztek modul A Tesztbemenetek, tesztesetek Pex

Az IntelliTest alapvető használata DEMO 1. Az IntelliTest alapvető használata

Konkrét bemeneti értékek A Pex engine részletei Szimbolikus végrehajtás Végrehajtás Forráskód a,b a:=2; b:=3 Konkrét bemeneti értékek Szimbolikus változók a!=0 && b>a Kényszer-megoldó Kényszerek

Az IntelliTest használata komplex esetekben DEMO 2. Az IntelliTest használata komplex esetekben

Services (UserServices) DEMO 2. architektúra Felhasználót hozunk létre BLL (UserManager) DAL (DBExecutor) Services (UserServices) Még nem implementált Cloudban futó

Tesztgenerálás vizualizációja DEMO 3. Tesztgenerálás vizualizációja

Mit várhatunk a hasonló eszközöktől? Kiértékeléshez megfelelő „experiment” kell SF100 benchmark: 100 projekt SourceForge-ról 50% körüli elágazás lefedettség Nagy szórás Saját tapasztalatok Modellező eszköz: 99% blokklefedettség, jól alkalmazható CMS rendszer: Komplex rendszerekhez iteratív használat Használhatósági kiértékelés? Ipari méretű problémákra hogyan használható? Mérnökök hogyan alkalmazzák? Demóból mit hagytam ki?

IntelliTest Összefoglalás Struktúra alapú tesztelés automatizálható Sok eszköz létezik, különböző hatékonysággal Microsoft IntelliTest Parametrizált egységteszt Szimbolikus végrehajtás Több használati eset Bemenetek generálása Tesztgenerálás Használhatóságuk kiértékelése nehéz kérdés IntelliTest