Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaCsongor Hunor Kocsis Megváltozta több, mint 5 éve
1
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
2
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)
3
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
4
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
5
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 …
6
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)
7
Microsoft Research IntelliTest
8
Microsoft IntelliTest
Egység-tesztelés Struktúra alapú teszt Szimbolikus végrehajtás Parametrikus egységtesztek modul A Tesztbemenetek, tesztesetek Pex
9
Az IntelliTest alapvető használata
DEMO 1. Az IntelliTest alapvető használata
10
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
11
Az IntelliTest használata komplex esetekben
DEMO 2. Az IntelliTest használata komplex esetekben
12
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ó
13
Tesztgenerálás vizualizációja
DEMO 3. Tesztgenerálás vizualizációja
14
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?
15
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
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.