SAF AIS implementcik tesztelsnek tapasztalata Horvth Tams tomiit

  • Slides: 37
Download presentation
SAF AIS implementációk tesztelésének tapasztalata Horváth Tamás tom@iit. bme. hu Sulyán. Tibor stibi@iit. bme.

SAF AIS implementációk tesztelésének tapasztalata Horváth Tamás tom@iit. bme. hu Sulyán. Tibor stibi@iit. bme. hu BME Irányítástechnika és Informatika Tanszé

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Bevezetés n Service

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Bevezetés n Service Availability Forum Application Interface Specification ¨ Egységes szoftverplatform HA szolgáltatásoknak ¨ Széles támogatottság n Egyre több SAF AIS implementáció ¨ Nyílt forrás: Open. AIS, Open. SAF, Open. Clovis ¨ Zárt forrás: Monta. Vista, HP Service. Guard. . . n Egyre bővülő specifikáció ¨ 314 - 924 oldal Szoftvertechnológiai Fórum, 2007. 09. 14. 2 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Bevezetés n Tesztelés

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Bevezetés n Tesztelés ¨ Házon belül ¨ Nyílt eszközzel n Cél: egy új tesztrendszer kialakítása ¨ Átfogóbb tesztelhetőség ¨ Bővíthetőség n Ericsson Magyarország Kft. - BME IIT közös projekt ¨ Egy implementáció vizsgálata ¨ Egy tesztrendszer megtervezése és implementálása ¨ Több implementáció tesztelése az új rendszerrel Szoftvertechnológiai Fórum, 2007. 09. 14. 3 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tartalom Az AIS

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tartalom Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 4 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 5 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés HA

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés HA Service Process 1 Process 3 Process 2 Availability Management Framework Message Service Checkpoint Service Szoftvertechnológiai Fórum, 2007. 09. 14. Cluster Membership Service Lock Service Event Service 6 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés –

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés – komponensek Szoftvertechnológiai Fórum, 2007. 09. 14. 7 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés –

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai AIS áttekintés – kommunikáció dispatch loop Szoftvertechnológiai Fórum, 2007. 09. 14. 8 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 9 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszttípusok n Konformancia

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszttípusok n Konformancia tesztek ¨ API konformancia ¨ Funkcionális tesztek n Teljesítménytesztek ¨A n funkcionalitás minőségét mérik Robosztusság tesztek ¨A környezet meghibásodásai hogyan hatnak a rendszerre Szoftvertechnológiai Fórum, 2007. 09. 14. 10 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai API konformanciatesztek n

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai API konformanciatesztek n Cél: ¨ Függvények implementáltak ¨ Adott bemenetre megfelelő kimenetet ad n Módszer: ¨ paraméterek megválasztása ¨ paraméterkombinációk tesztelése ¨ lehetséges hívási sorrendek tesztelése Szoftvertechnológiai Fórum, 2007. 09. 14. 11 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest n SAFTest

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest n SAFTest (www. saf-test. org) ¨ AIS n és HPI tesztek Tesztesetek: C programok, melyek az AIS API-t használják ¨ Teszteredmények: n a programok visszatérési értékei Tesztkörnyezet: A C programokat fordító és futtató rendszer ¨ Makefile-ok ¨ Az eredményeket összegyűjtő és prezentáló shell scriptek ¨ Metaadatok Szoftvertechnológiai Fórum, 2007. 09. 14. 12 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTestmetaadatok <assertions spec="AIS-B.

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTestmetaadatok <assertions spec="AIS-B. 01" function="sa. Clm. Selection. Object. Get"> <assertion id="1 -1" line="P 21 -38: P 22 -1"> Call sa. Clm. Selection. Object. Get(), before sa. Clm. Finalize() is invoked, check if the returned selection object is valid. </assertion> <assertion id="1 -2" line="P 21 -38: P 22 -1"> Call sa. Clm. Selection. Object. Get() after invoking sa. Clm. Finalize(), check if the returned selection object is invalid. </assertion> </assertions> Szoftvertechnológiai Fórum, 2007. 09. 14. 13 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTestjellemzői n

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTestjellemzői n Jó API-konformancia tesztkörnyezet ¨ Automatikus futtatás, kiértékelés ¨ Könnyen konfigurálható (lényegében Makefile paraméterezéssel) ¨ Implementáció-független n Csak API-konformancia tesztek futtathatók ¨ Nem teszteli a SAF cluster-szolgáltatásait és funkcióit Szoftvertechnológiai Fórum, 2007. 09. 14. 14 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Funkcionális tesztek Nem

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Funkcionális tesztek Nem csak a funkció meglétét, hanem a megvalósítást is vizsgálják n Komplexebb teszteket igényel n ¨ Több node, több kliens futtatása ¨ Erre a saftest már nem képes n SAFTest-NG (www. saftest-ng. berlios. de) ¨ Cél: funkcionális- és teljesítménytesztek futtatására is alkalmas tesztkörnyezet Szoftvertechnológiai Fórum, 2007. 09. 14. 15 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest-NG n Általánosabb

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest-NG n Általánosabb eszköz ¨ konformancia tesztek (funkcionalitás) ¨ teljesítménytesztek n Jellemzők ¨A tesztesetek clusteren futnak ¨ Teljesen automatikus végrehajtás ¨ Több gyártó támogatása n implementation hooks Szoftvertechnológiai Fórum, 2007. 09. 14. 16 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTest-NGfelépítése Szoftvertechnológiai

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTest-NGfelépítése Szoftvertechnológiai Fórum, 2007. 09. 14. 17 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest-NGteszteset def run()

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SAFTest-NGteszteset def run() d = CLMTest. Driver. get. Random. Long. Lived. Driver(nil) resource = d. create. Short. Lived. Test. Resource() d. init(resource, true, false, "SA_DISPATCH_ALL", SAFTest. Utils. SA_AIS_OK) d. finalize(resource, SAFTest. Utils. SA_AIS_OK) d. cluster. Node. Get(resource, "SA_CLM_LOCAL_NODE_ID", "SA_TIME_MAX", false, nil, SAFTest. Utils. SA_AIS_ERR_BAD_HANDLE) d. delete. Test. Resource(resource) passed() end Szoftvertechnológiai Fórum, 2007. 09. 14. 18 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTest-NGjellemzői Jó

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai A SAFTest-NGjellemzői Jó architektúra n Leállt a rendszer fejlesztése n Csak a CLM és LCK területeket támogatja n Költséges a bővítés n Nincs megoldva a teszteredmények összegyűjtése n Szoftvertechnológiai Fórum, 2007. 09. 14. 19 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 20 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Egy implementáció tesztelése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Egy implementáció tesztelése n Open. AIS 0. 70. 1 ¨ AMF, n EVT, CLM, CKPT Saját fejlesztésű tesztrendszer ¨ Prototípus jellegű ¨ Funkcionális tesztelés n Cél ¨ Egy AIS implementáció állapotának felmérése ¨ Tapasztalatszerzés későbbi tesztrendszerek megtervezéséhez Szoftvertechnológiai Fórum, 2007. 09. 14. 21 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Architektúra n Vezérelt

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Architektúra n Vezérelt komponensek (Local Test Component) ¨ AIS API hívásokat hajtanak végre ¨ Információkat továbbít a vezérlő komponensnek ¨ Minden node-hoz legalább egy ilyen tartozik n Vezérlő komponens (Test Coordinator) ¨ Tesztesetek végrehajtása ¨ Eredmények összegyűjtése ¨ Cluster-műveletek végrehajtása n n Tesztelést támogató könyvtár Elosztott naplózás Szoftvertechnológiai Fórum, 2007. 09. 14. 22 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Architektúra Szoftvertechnológiai Fórum,

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Architektúra Szoftvertechnológiai Fórum, 2007. 09. 14. 23 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tesztesetek specifikálása Azonosító

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tesztesetek specifikálása Azonosító CKPT 03 Név Checkpointaszinkron megnyitása Tesztelés célja A CKPT kétféle megynyitási módjának tesztelése. Specifikáció-részlet CKPT 3. 5. 2 Futtatási környezet G konfiguráció Tesztforgatókönyv comp 1 komponensen aszinkron módon létrehozunk egy checkpointot végtelen érvényességi idővel, majd bezárjuk. comp 3 komponensen töröljük a checkpointot. Lehetséges paraméterek Checkpoint típusa (szinkron vagy aszinkron) Várt eredmény A teszt sikeresen lefut. A megnyitáskor lekérdezett checkpoint státusz megegyezik a létrehozáskor megadottakkal. Szoftvertechnológiai Fórum, 2007. 09. 14. 24 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszteredmények Több kritikus

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszteredmények Több kritikus hiba az implementációban n A funkcionalitás helyenként eltér a szabványban írtaktól n Sok funkció még nincs implementálva n A rendszer finomhangolására nincs megfelelő interfész n Kevés a dokumentáció n Szoftvertechnológiai Fórum, 2007. 09. 14. 25 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszteredmények Tesztesetek száma

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Teszteredmények Tesztesetek száma Sikeres futás 113 100% 53 47% 6 5% A funkcionalitás nem implementált 31 27% Sikertelen futás 21 19% 2 2% Sikeres futás kisebb konformancia-hibákkal A teszteredmény nem megállapítható Szoftvertechnológiai Fórum, 2007. 09. 14. 26 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 27 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tapasztalatok Érdemes tesztelni

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Tapasztalatok Érdemes tesztelni n Az automatizáltság mértéke: n SAFTest-NG Saját rendszer konfigurálás - + + vezérlés - +/- kommunikáció - +/- kiértékelés + - +/- Szoftvertechnológiai Fórum, 2007. 09. 14. 28 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer jellemzői n TTCN-3 alapú rendszer ¨ szabványos leírás ¨ vezérlés, kiértékelés n n Átfogó tesztelés Többféle teszttípus támogatása ¨ konformancia ¨ teljesítmény ¨ robosztusság n Gyors alkalmazkodás ¨ Új szolgáltatási területek ¨ Új verziók Szoftvertechnológiai Fórum, 2007. 09. 14. 29 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer architektúrája Szoftvertechnológiai Fórum, 2007. 09. 14. 30 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az új rendszer komponensei n Area-Specific Port Függvények megvalósítása ¨ Decoding and encoding ¨ n Dispatcher Session kezelés ¨ Dispatch loop végrehajtása ¨ n Local Controller ¨ n Konfigurációs műveletek Komponensek ¨ tesztesetek végrehajtása Szoftvertechnológiai Fórum, 2007. 09. 14. 31 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Megoldandó problémák n

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Megoldandó problémák n Több gyártó implementációinak tesztelése ¨ SAFTest-NG-hez n hasonló rendszer A szabvány követése ¨ Új területek ¨ Új verziók ¨ Tesztesetek n Módosítás vagy új tesztesetek írása ¨ SUT n Adapterek Generálás Szoftvertechnológiai Fórum, 2007. 09. 14. 32 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SUT Adapterek generálása

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai SUT Adapterek generálása n Területenként generálható ¨ Azonos programozási modell ¨ Különböző API n Két lépés ¨C → TTCN n kézzel (egyelőre) ¨ TTCN n → SUT Adapter generálás Szoftvertechnológiai Fórum, 2007. 09. 14. 33 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Az AIS áttekintése n Tesztelési módszerek és eszközök n Egy implementáció tesztelése n Az új tesztrendszer bemutatása n Fejlesztési irányok n Szoftvertechnológiai Fórum, 2007. 09. 14. 34 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Kitekintés n Közeli

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Kitekintés n Közeli célok ¨A prototípus rendszer elkészítése ¨ A korábbi tesztesetek implementálása n ¨A Összevetés a korábbi eredményekkel prototípus rendszer továbbfejlesztése Több implementáció letesztelése n A teszt port generátor továbbfejlesztése n Szoftvertechnológiai Fórum, 2007. 09. 14. 35 / 37

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Kitekintés n Távoli

Horváth Tamás, Sulyán Tibor (BME IIT) SAF AIS implementációk tesztelésének tapasztalatai Kitekintés n Távoli célok ¨ Funkcionális n teszt-specifikáció HPI Compilance Test Suite, www. saforum. org ¨ Átfogó teszteset-készlet implementálása TTCN-3 nyelven n IPv 6, SIP tesztrendszerek, www. ttcn-3. org Szoftvertechnológiai Fórum, 2007. 09. 14. 36 / 37

Köszönöm a figyelmet

Köszönöm a figyelmet