Szoftver tesztelés a gyakorlatban 3



Hasonló dokumentumok
Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Komponens alapú fejlesztés

Modell alapú tesztelés: célok és lehetőségek

A szoftverfejlesztés eszközei

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Szoftver újrafelhasználás

A szoftver tesztelés alapjai

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Szoftverminőségbiztosítás

Verifikáció és validáció Általános bevezető

A szoftverfejlesztés eszközei

Teszt terv Új funkció implementációja meglévı alkalmazásba

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Tesztelési szintek Tesztautomatizálás

Szoftverminőségbiztosítás

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

A szoftver tesztelés célja

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

OO rendszerek jellemzői

Szoftver-technológia I.

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

Az alkalmazás minőségbiztosítás folyamata Fókuszban a teszt-automatizálás

Szoftverminőségbiztosítás

Tesztmérnök: tesztautomatizálási mérnök Feladat: Elvárások: Előnyt jelent: Beágyazott rendszer tesztmérnök beágyazott rendszer tesztmérnök Feladat:

Szoftverminőségbiztosítás

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Alkalmazások architektúrája

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Rendszer-modellezés, modellezési technikák

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Programrendszerek tanúsítása szoftverminőség mérése

Felhasználói felületek tesztelése

(Teszt)automatizálás. Bevezető

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

Web-fejlesztés NGM_IN002_1

Modell alapú tesztelés mobil környezetben

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Automatikus tesztgenerálás modell ellenőrző segítségével

Formális módszerek GM_IN003_1 Bevezetés

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Szoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.

Szoftverminőségbiztosítás

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

Rendszermodellezés: házi feladat bemutatás

Felhasználói felületek tesztelése

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ

Biztonsági folyamatirányító. rendszerek szoftvere

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

MIÉRT KELL TESZTELNI?

ARM Cortex magú mikrovezérlők. mbed

Szoftverminőségbiztosítás

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

Szoftver architektúra, Architektúrális tervezés

Szoftver követelmények meghatározása

Operációs rendszerek. Az X Window rendszer

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

Utolsó módosítás:

Szoftvertesztelés - Bevezető

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

A fejlesztéshez használható eszközök

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Dolgos Márton Budapest,

Közösség, projektek, IDE

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Utolsó módosítás:

Cloud computing Dr. Bakonyi Péter.

Szoftveripar és üzleti modellek

Szoftverminőségbiztosítás

JAVA webes alkalmazások

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

A fejlesztési szabványok szerepe a szoftverellenőrzésben

ANSYS ACT. Hatékonyság növelés testreszabással. Farkas Dániel econ Engineering Kft. Budapest, 21/04/2016

eseményvezérelt megoldások Vizuális programozás 5. előadás

Programtervezés. Dr. Iványi Péter

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

30 MB INFORMATIKAI PROJEKTELLENŐR

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése

UML (Unified Modelling Language)

Nagy bonyolultságú rendszerek fejlesztőeszközei

Steps Towards an Ontology Based Learning Environment. Anita Pintér Corvinno Technologia Transzfer Kft

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Átírás:

Szoftver tesztelés a gyakorlatban 3 Speciális tesztelési helyzetek A tesztelési folyamat

3 Tevékenységek! El!készítés! tervezés! tesztkörnyezet kialakítása! teszteset tervezés! Tesztelés lezárás! tesztelési folyamat nyomonkövetése! tesztelés értékelése! dokumentálás 4 Általános tesztelési elvek! Tesztelési nehézségek! Kimerít! tesztelés lehetlen! Korai tesztelés kívánatos! Hibák eloszlása nem egyenletes a szoftverben! Pareto-elv! Immunissá válás a tesztesetekre! folytonos teszt eset fejlesztés! A tesztelési gyakorlat kontextus függ!! pl. beágyazott bizt. krit. sw, web-alk. stb.

5 A folyamat! 1. Teszt tervezés! célok, stratégia, kiterjedés, technika, személyzet! 2. Teszt analízis! tesztesetek el!állítása, teszt környezet létrehozása! 3. Teszt implementálás, végrehajtás! 4. Lezárási kritérium értékelése! 5. Teszt lezárás 6 Független tesztelés! A kód írója! Más személy a fejleszt! csapatból! Más személy másik szervezeti egységb!l! Küls! szervezet

7 Tesztel! személyzet! Nem szorosan a teszteléshez kapcsolódó! projekt menedzser! min!ségbiztosítási menedzser! fejleszt!k! egyéb specialisták! felhasználók! Tesztel! csapat! tesztelés vezet!! teszter 8 Tesztelési megközelítések! Kockázat alapú! Sztochasztikus! Szabvány alapú! Heurisztikus! Stratégia! kockázat! tesztel!k képzettsége! szabályozási háttér! a termék jellege

9 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Teszt követés Department of Software Engineering! Visszacsatolás a tesztelési folyamatról! manuális vagy automatikus adatgy"jtés! Magas szint" teszt metrikák Visualization! tervezett és elvégzett tesztek Dashboard! teszteset állapotok! hiba everything statisztikák on one page More important metrics and other information visualized on one page! lefedési metrikák! határid!k! Graphical költségekvisualization Easily comprehensible 10 ISTQB CTFL Department of Software Engineering, Univ. Szeged 188 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Teszt követés (folyt.) Department of Software Engineering Visualization! vizualizálás Number 70 60 50 40 30 20 10 0 14th May 21st May 28th May 4th July 11th July 18th July New 5 15 62 In test 2 13 20 Failed 1 5 6 Planned executions 2 20 50 60 80 100 Actual executions 5 20 82 120 100 80 60 40 20 0 New In test Failed Planned executions Actual executions ISTQB CTFL Department of Software Engineering, Univ. Szeged 189

Rendszer tesztelés 12 Rendszer tesztelés! Magas szint" tesztelés! cél -> követelmény spec. transzformáció hibáinak felderítése! elvárásoknak való megfelelés (validáció)! teljesítmény demonstrálás (!?)! funkcionális néz!pont! nehéz a tesztesetek származtatása! célok elemzése! felhasználói dokumentáció

13 Magas szint" tesztek! Szolgáltatás tesztelés! Mennyiségi tesztelés! Löket terheléses tesztelés (Stressztesztelés! Használhatósági tesztelés! Biztonsági tesztelés! Teljesítménytesztelés! Konfigurációtesztelés! Dokumentációtesztelés Komponens interakció tesztelés 14! Különféle komponensek közötti interakciók! pl. web alkalmazás! böngész!k! operációs rendszerek! hálózati összeköttetések! printer konfigurációk! Kombinatórikai megközelítés! túl sok teszt helyzet! teljes n-way interakció út tesztelés! interakció páronkénti tesztelés

Alacsony szint" interakció tesztelés 15! Követelmény spec. alap konstrukciók! adatok! tevékenységek, akciók Adat input! I/O eszközök (portok)! események input output Tevékenység! szálak Esemény végrehajtás output fellépés Szál Eszköz Alacsony szint" interakció tesztelés (folyt.) 16! Modellezés az alap konstrukciókkal Adat szerkezeti modell Esemény Tevékenység viselkedési modell kontextus modell Szál Eszköz

Alacsony szint" interakció tesztelés (folyt.)! Modellezési eszközök! állapotgépek (FSM)! menu és esemény vezérelt rendszerek! Petri hálók! konkurrens rendszerek! M"ködési szálak azonosítása! Tesztelés FSM szálak mentén! viselkedési megközelítés! Tesztelés port, esemény, vagy adat szálak mentén! funkcionális megközelítés 17 Alacsony szint" interakció tesztelés (folyt.)! Interakció típusok! Statikus egy processzoros! adatok! propozíciós logika! Statikus több processzoros! statikus elosztott interakció! Dinamikus egy processzoros! adatok, események, szálak! temporális logika! Event Driven Petri Net! Dinamikus több processzoros! konkurrencia 18

Automatizált tesztelés 20 Automatizált tesztelés hatásai! Általában több különböz! eszköz szükséges! Tesztelési ráfordítás nem feltétlenül csökken! Tesztelési id! nem csökken! Egy mini fejlesztési folyamat jelenik meg! Nem minden teszt automatizálható! Képzés szükséges

Automatizált tesztelés hatásai (folyt.) 21 Költségek Manuális Automatizált Tesztelés mennyisége 22 Eszközök bevezetése! Szempontok! tesztelési folyamat érettsége! eszköz alternatívák! az eszköz szolgáltatásai! az eszköz szállítója, támogatási háttere! Költségek! ár, licensz díjak, támogatás! bevezetési költségek " implementáció, testreszabás " képzés

Modell alapú tesztautomatizálás 23! Célok! költségcsökkentés! követelmény hiányosságok felderítése! átfogóbb tesztelés! Gyakorlati megoldás! interfész vezérelt elemzés, teszt készítés Modell alapú tesztautomatizálás 24 Követelmények Rendszer Követelmény mérnök Tervez!/ Programozó Komponens interfészek Teszt végrehajtás Teszt mérnök (modellez!) Interfész + Viselkedés modellek Teszt szkript Tesztvektor generátor Teszt szkript generátor Teszt eredm. Teszt mérnök (automatizálás) Teszt szkript leképezések

Modell alapú tesztautomatizálás! Modellezési perspektívák! Követelmény specifikáció! rendszer <-> környezet interfészek! Funkció specifikáció! rendszeren belüli interfészek! Tervezési specifikáció! komponens definíciók 25 Modell alapú tesztautomatizálás! Nehézségek! Modell elemek vs. szoftver-komponensek! Nem nyílvános interfészek! Komponens csatolások! Alkalmazhatóság! világos fejlesztési helyzet! gyorsan stabilizálódó interfészek! modellek iteratív fejlesztése! biztonság kritikus rendszerek 26

27 Automatikus tesztel! eszközök! Tesztel! eszköz ismerete! kompatibilitás a fejlesztési környezettel! Automatizálható tesztek! Kereskedelmi termékek! szükséges funkcionalitás vs. túl sok funkció! Speciálisan fejlesztett megoldások! létrehozási költségek 28 Eszköz típusok! Teszt-eset generátor! Lefedettség elemz! és kód bem"szerez!! Memória szivárgás detektorok! Használhatósági vizsgálati eszközök! Teszt management eszközök! Hálózati tesztel! eszközök! GUI teszt eszközök! Teljesítmény, stressz tesztel! eszközök

Speciálisan fejlesztett eszközök 29! Fejlesztési okok! Operációs rendszer inkompatibilitás! Alkalmazás inkompatibilitás! Speciális tesztelési igény! A fejlesztés menete! Er!forrásigény, fejlesztési korlátok meghatározása! Teszteszköz fejlesztése része a rendszer fejlesztési folyamatnak,! de önnálló célként kezelend! 30 Technológiák automatikus teszt eszközök fejlesztésére! shell scriptek! script nyelvek: Perl, Python! magas szint" programozási nyelvek! COTS integrálás! adatbázis kezel!k! sorkezel!k! XML editorok, parszerek! makro rögzít!k! verzió management eszközök! összehasonlító eszközök

Spec. fejlesztés" tesztkörnyezet példa struktúra 31 Control PC Analysis Module Test Result DB Web Tier Test Management Module Queue Manager Equipment Adapter Control PC Test Automation Framework Test Case Version Management Module Test Case DB Equipment Under Test 32 Tesztel! eszközök kiválasztása! Meghatározó szempontok! szoftver technológiai, fejlesztési környezet! alkalmazott tesztelési módszertan! támogatandó tesztelési tevékenység! alkalmazott szoftver architektúra! adatbázisok, middleware, GUI, OR! egy vagy több eszköz?! szoftver által kezelt adatok verifikálhatósága! teszt típusok

33 Tesztkörnyezetek (pl.)! sgi Tester! teszt paraméterek beállítása 34 Tesztkörnyezetek (pl.)! lefedettségi adatok

35 Tesztkörnyezetek (pl.)! WDTest Major Features! Unit and Integration Testing: on both host and target platforms! Integrated Coverage Analysis! Full support for: ANSI C, ISO C++ and EC++! GUI: Graphical results analysis and Wizard-driven test preparation! Object Oriented: OO-aware testing and coverage analysis! Stubbing and Wrapping: to simulate and control external interfaces Tesztkörnyezetek (pl.)! Static analysis: code complexity and size metrics! IPL Cantata++ Studio T# 512# 860# 753# 47843# "Saj tgèp-cabinetwclass-717-653-0-0-" T# 512# 861# 753# 47869# "Saj tgèp-cabinetwclass-718-653-0-0-" T# 512# 863# 753# 47964# "Saj tgèp-cabinetwclass-720-653-0-0-" T# 512# 864# 753# 47990# "Saj tgèp-cabinetwclass-721-653-0-0-" T# 512# 864# 752# 48016# "Saj tgèp-cabinetwclass-721-652-0-0-" T# 512# 866# 752# 48065# "Saj tgèp-cabinetwclass-723-652-0-0-" T# 512# 867# 752# 48114# "Saj tgèp-cabinetwclass-724-652-0-0-" T# 516# 867# 752# 48277# "-Shell_TrayWnd-865-8-0-0--TrayNotifyWnd-8-7-0-0-" T#!! 517# 867# 752# 48371# "-Shell_TrayWnd-865-8-0-0--TrayNotifyWnd-8-7-0-0-" T# 512# 867# 752# 48471# "WinVNC Tray Icon-WinVNC Tray Icon-819-685-0-0-" T# 512# 867# 752# 48573# "WinVNC Tray Icon-WinVNC Tray Icon-819-685-0-0-" T# 512# 869# 750# 48878# "WinVNC Tray Icon-WinVNC Tray Icon-821-683-0-0-" T# 512# 885# 742# 48904# "WinVNC Tray Icon-WinVNC Tray Icon-837-675-0-0-" T# 512# 897# 740# 48936# "WinVNC Tray Icon-WinVNC Tray Icon-849-673-0-0-" T# 512# 903# 739# 48976# "WinVNC Tray Icon-WinVNC Tray Icon-855-672-0-0-" 36 Tech Cantata++ has been designed around the requirements of the C/C++ language a tool which allows developers to efficiently perform unit and integration testing Teszt script (macro) részlet offers high productivity and a unique set of testing, coverage analysis and static features. Unit and Integration Testing! Wizard-driven Test Script generation step-by-step facilities for creating a complete test driver environment.! Flexible Test Build/Run from inside Cantata++ or via developer s compiler IDE.! Cross-Platform Execution of tests from development environment to target.! Intuitive Test Directives for quickly developing structured repeatable tests yielding clear and unambiguous results.! Checks for all standard and user-defined data types. T W a te p! Exception verificatio expected and unexpe exceptions.! White Box and Black techniques are fully su! Stubbing - programm of external software, w sequence validation.! Automated Wrappin control over external i allowing use of real ex in integration testing.! Test Case Re-use for classes and template Test and Coverage results in! Studio Developed under the control of IPL s Quality Management System which is certified to ISO! Project Level Tree View of test pass/fail results with drill-down for easy navigation to individual tests.! Detailed Test Diagnostics for all

37 Web teszt környezetek Webböngész! Teszteszköz (proxy) Webszerver Teszt rögzítés Teszteszköz (script editor) Script Teszt szerkesztés Teszteszköz (proxy) Webszerver Teszt visszajátszás 38 Web teszt környezetek (pl.) web2test

39 Statikus kód elemz! eszközök! Alkalmazás! szintaktikai hibák! kódólási szabványtól való eltérések! elérhetetlen kód! nem inicializált / nem használt változók! hordozhatósági problémák! kód metrika gy"jtés! méret! komplexitás! függ!ségek 40 Statikus kód elemzés (pl.)

Tesztelés grafikus felhasználói felületeken keresztül 42 Probléma! események (tér és id!beli) képezik a bemenetet! eseményvezérelt rendszerek! nagy és komplex eseménytér! felhasználói beavatkozások lehetséges száma nagy! tetsz!leges id!zítés és esemény sorozatok! nagy kódkomplexitás! a kimenet fogalmának értelmezése nem egyszer"

43 Következmények! Kézzel végrehajtott tesztelés problémás! nem dokumentált! nehezen reprodukálható! de hatékony!! Tesztautomatizálás költséges! rögzített (capture tool) tesztek nem alkalmasak automatizálásra -> teszt fejlesztés! Gyakran csak könnyen végrehajtható teszteket automatizálnak! Nehéz a tesztesetek karbantartása! komponensek helye, mérete változik! felület nyelve változik! rögzit! eszköz nehezen módosítható scriptet készit 44 Rögzít!/visszajátszó eszközök! Fix (rögzített) adatértékek! input értékek! képerny! koordináták! ablak címkék! id!k!! Nem moduláris scriptek! Nincsenek szabványok

45 Helyes megközelítés! Tudatosítani a tesztfejlesztés költségeit! tervezés! fejlesztés! Adatvezérelt teszt architektúra használata! teszt végrehajtó kódtól elkülönített paraméter állományok! komplex tesztesetek szétbontása résztesztekre! Keretrendszer jelleg" tesztkörnyezet használata! tesztelt felülett!l elválasztott tesztfüggvénykönyvtár (teszt script független )! custom control vezérlés! elemi és komplex függvények létrehozása! struktúrált rögzít!-visszajátszó környezet 46 Helyes megközelítés (folyt.)! Struktúrált, moduláris UI navigáció! navigációs függvények külön modulba! UI componensek elérése! billenty" használat szimulálása! objektum nevek, egyedi ID-k! esetleg címkék, x,y koordináták! GUI map adatbázis! Különböz! ablakkezel!khöz tesztelési függvény könyvtárak! pl. WinRunner

47 Test harness rendszerek! Magas szint" programozási nyelven fejlesztve! Illeszt! tervezési minta alkalmazása! többféle rendszer tesztelhet!! Felhasználói felület megkerülése! gyorsabb tesztelés! MVC!! Tesztesetek leírása! Kiinduló pont beállítás 48 GUI test harness pl.! Mercury WinRunner

49 Véletlen tesztgenerálás! Palm OS Emulator Gremlins Tesztelés standard script interfészen keresztül 50! Perl, VB + COM! AppleScript Teszt script GUI Script interfész Program kód

Tesztelés virtuális perifériákon keresztül! Eggplant! + VNC 51 Image Capture Technology Drives the Remote Application image capturing + scripting Scripts are ge in Capture M Menu, tab, tex other UI eleme selected The command executed The image is s Line of script i for you 52 AppleScript és tesztelés! System Events 3. The SenseTalk code for the command is added t! Mac OS X accessibility interface! UI Element inspector Teszt script! AppleScript Studio GUI Script interfész Program kód