Mesterséges intelligencia alapú regressziós tesztelés Gujgiczer Anna, Elekes Márton* * AZ EMBERI ERŐFORRÁSOK MINISZTÉRIUMA ÚNKP-16-1-I. KÓDSZÁMÚ ÚJ NEMZETI KIVÁLÓSÁG PROGRAMJÁNAK TÁMOGATÁSÁVAL KÉSZÜLT
Mesterséges intelligencia alapú regressziós tesztelés 1. Kihívások a szoftvertesztelés során 2. Hogyan lehet a szoftverek helyességét folytonosan vizsgálni? 3. Tesztelés automatizálása a mesterséges intelligencia felhasználásával
Folyamatosan fejlődő szoftverek Rengeteg új funkció 2011 2017
Folyamatosan fejlődő szoftverek Sok funkció módosul 2011 2017
Folyamatosan fejlődő szoftverek Hibák? Javítások 2011 2017
Hogyan kerülnek hibák a rendszerbe? Új feature Módosítás Regression: When you fix one bug, you introduce several newer bugs. Hibajavítás 6 http:www.softwaretestinghelp.comregression-testing-tools-and-methods
Szoftver minőségének fenntartása Regressziós tesztelés: Regression: A When módosítások you fix one okoznak-e bug, you introduce several newer bugs. az eddigi viselkedéstől való nem kívánt eltérést? http:www.softwaretestinghelp.comregression-testing-tools-and-methods 7
Regressziós tesztelés Még mindig lehet üzenetet küldeni? Még mindig meg lehet nézni, hogy kik vannak online? Még mindig lehet keresni az ismerősök között? Még mindig lehet üzenetet törölni? Még mindig időrendben vannak az üzenetek? 8
Tesztesetek (bemenet elvárt kimenetek) v1 T1 Can you APIUI
Tesztesetek (bemenet elvárt kimenetek) v1 T1 Can you T2 APIUI
Tesztesetek (bemenet elvárt kimenetek) v1 T1 Can you T2 T3
Tesztesetek (bemenet elvárt kimenetek) v1 T1 Can you T2 T3 T4
Tesztesetek (bemenet elvárt kimenetek) v2 T1 Can you T2 T3 T4
T1 Tesztesetek BUG vagy FEATURE? Can you v2 T2 T3 T4
Idő Regressziós tesztelés Specifikáció Minden teszteset Emberi erőforrás Regressziós tesztelés Tesztesetek előre kiválasztása Emberi erőforrás Tesztesetek priorizálása Emberi erőforrás
Automatizálás mesterséges intelligenciával Tesztek kiválasztása Klaszterezés Neurális hálók Tesztkészlet bővítése Genetikus algoritmus Rendszer viselkedésének tanulása Gépi tanulás 16
Mit is akarunk? v1 Matricaküldés változik v2 v1 v2 T1 T2 T3 T1 T2 T3 T4 T5 T6 T4 T5
Mit is akarunk? v1 Matricaküldés változik v2 v1 v2 T1 T2 T3 T1 T2 T3 T4 T5 T6 T4 T5 T6
Melyik teszteseteket használhatjuk újra? Szoftver funkciók: Képküldés Csoportos beszélgetés Videóhívás Üzenetküldés Matricák v1 19
Melyik teszteseteket használhatjuk újra? Szoftver funkciók: T7 Képküldés T2 Csoportos beszélgetés Üzenetküldés T4 T5 Videóhívás T3 T1 Matricák T6 v1 20
Melyek a releváns tesztesetek? T7 Képküldés T2 Csoportos beszélgetés Üzenetküldés T4 T5 Videóhívás T3 T1 Matricák T6 v1
Melyek a releváns tesztesetek? T7 Képküldés T2 Csoportos beszélgetés Üzenetküldés T4 T5 Videóhívás T3 T1 Matricák T6 v2 22
Hogyan készítsünk teszteseteket? Létezik T1 T2 T3 T4 T5 T6 Formális 23
Hogyan készítsünk teszteseteket? T1 T2 T3 T4 T5 T6 Formális 24
Hogyan készítsünk teszteseteket? Képküldés Csoportos beszélgetés T1 T2 T3 Videóhívás Üzenetküldés Matricák v1 T4 T5 T6 Referencia verzió Formális 25
Hogyan készítsünk teszteseteket? Képküldés Csoportos beszélgetés T1 T2 T3 Videóhívás Üzenetküldés Matricák v1 T4 T5 T6 Formális
Gépi tanulás Tesztelendő rész Képküldés Csoportos beszélgetés Videóhívás Üzenetküldés Matricák v1 Referencia verzió Formális
Gépi tanulás Tesztelendő rész Aktív tanulás Mealyautomata Képküldés Csoportos beszélgetés Videóhívás Üzenetküldés Matricák v1 Referencia verzió Formális
Aktív tanulás bemenet Automatatanuló algoritmus Videóhívás Képküldés Üzenetküldés Csoportos beszélgetés Matricák kimenet 29
Aktív tanulás (példa) bemenet Automatatanuló algoritmus Videóhívás Képküldés Üzenetküldés Csoportos beszélgetés Matricák kimenet 30
Aktív tanulás (példa) bejövő hívás Automatatanuló algoritmus csöng 31
Aktív tanulás (példa) felvesz bejövő hívás Automatatanuló algoritmus csöng hang 32
Aktív tanulás (példa) Automatatanuló algoritmus bejövő hívás felvesz bejövő hívás csöng hang nem csöng 33
Hipotetikus állapotgép alap állapot bejövő hívás csöng csöng Formális tárcsáz kicsöng lerak vége felvesz hang Létezik kicsöng fogadták hang hívás közben T1 T2 T3 T4 T5 T6 34
Tesztgenerálás T1 T1 bejövő híváscsöng, felveszhang, lerakvége alap állapot bejövő hívás csöng csöng tárcsáz kicsöng lerak vége felvesz hang Gráfbejárás kicsöng fogadták hang hívás közben T1 T2 T3 T4 T5 T6
Tesztgenerálás T1 T1 bejövő híváscsöng, felveszhang, lerakvége alap állapot bejövő hívás csöng csöng T2 T2 tárcsázkicsöng, fogadtákhang tárcsáz kicsöng lerak vége felvesz hang Gráfbejárás kicsöng fogadták hang hívás közben T1 T2 T3 T4 T5 T6
Összefoglalás 1. Kihívások a szoftvertesztelés során Gyors fejlődés 2. Hogyan lehet a szoftverek helyességét folytonosan vizsgálni? Regressziós tesztelés
Összefoglalás 3. Tesztelés automatizálása a mesterséges intelligencia felhasználásával Releváns tesztesetek Képküldés Csoportos beszélgetés T1 T2 T3 Videóhívás Üzenetküldés Matricák v1 v1 T4 T5 T6 v2 Fókuszált