Kompetens Szoftvertesztelés a Gyakorlatban (CoSTiP) Eszköztámogatás a tesztelésben

Hasonló dokumentumok
ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

TESZTMENEDZSMENT A TESZT ELŐREHALADÁSÁNAK FELÜGYELETE ÉS IRÁNYÍTÁSA KONFIGURÁCIÓ MENEDZSMENT KOCKÁZAT ÉS TESZTELÉS INCIDENSMENEDZSMENT

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

Iman 3.0 szoftverdokumentáció

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

Tesztautomatizálás. Kundra Zoltán

Tesztelési szintek Tesztautomatizálás

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

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

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

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

Szoftverminőségbiztosítás

Kompetens Softver Tesztelés a Gyakorlatban (CoSTiP) - pilot. 5. Tesztmenedzsment

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

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

A szoftverfejlesztés eszközei

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

Szoftverminőségbiztosítás

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

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

30 MB INFORMATIKAI PROJEKTELLENŐR

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

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

Cloud Akkreditációs Szolgáltatás indítása CLAKK projekt. Kozlovszky Miklós, Németh Zsolt, Lovas Róbert 9. LPDS MTA SZTAKI Tudományos nap

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

Okosház Test Plan. Tartalomjegyzék

Szoftverminőségbiztosítás

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

Szoftverminőségbiztosítás

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

(Teszt)automatizálás. Bevezető

FORRÁSKÓD KÖVETŐ RENDSZEREK. Rajacsics Tamás BME AAIT

Infor PM10 Üzleti intelligencia megoldás

Szoftver újrafelhasználás

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

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

Szolgáltatás mérés/riportolás magas fokon Egy valós megoldás Pepsi berkekben

Információ menedzsment

Hálózati szolgáltatások biztosításának felügyeleti elemei

Szoftverminőségbiztosítás

EGYSZERŰSÍTJÜK AZ IRODAI MUNKÁT.

Alkalmazás technológiai frissítés migrációs és üzemeltetési tapasztalatok

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

Leolvasói rendszer kialakításának koncepciója ipari mobil eszközökkel (ipari PDA-val)

ITIL alapú folyamat optimalizációs tapasztalatok

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

A szoftverfejlesztés eszközei

BASH script programozás II. Vezérlési szerkezetek

MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

A Feldspar fordító, illetve Feldspar programok tesztelése

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

Követelmény alapú minőségbiztosítás az államigazgatásban

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Oracle Enterprise Manager 12c Cloud Control és 11g Grid Control összehasonlítás

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

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

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

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

Információtartalom vázlata

Webes alkalmazások fejlesztése

Programfejlesztési Modellek

Adatbázis rendszerek. dr. Siki Zoltán

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

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

Windows hálózati adminisztráció segédlet a gyakorlati órákhoz

Big Data az ellenőrzésben: Kihívás vagy lehetőség?

Adatmodellezés. 1. Fogalmi modell

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

A vállalat mint rendszer. Informatikai rendszerek Vállalati információs rendszerek. Üzleti kapcsolatok. Vevői információs kapcsolatok. Cég.

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

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

FELNŐTTKÉPZÉSI SZAKMAI PROGRAMKÖVETELMÉNY

Kézikönyv. EDI beállítások (SetUp)

Rendszerkezelési útmutató

Programozási technológia 2.

Ariadne Kábeltesztelő Rendszer. Neuron intelligens megoldások a kábelipar számára.

MIÉRT KELL TESZTELNI?

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

Moodle -egy ingyenes, sokoldalú LMS rendszer használata a felsőoktatásban

Viczián István IP Systems JUM XIX szeptember 18.

Nagy bonyolultságú rendszerek fejlesztőeszközei

ITIL alapú IT környezet kialakítás és IT szolgáltatás menedzsment megvalósítás az FHB-ban

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

Dokumentumok Information kezelése? Management Információ - management. Professzionális dokumentumkezelés hiteles másolat készítés. Offisys Kft.

Hangyász Hibakövető Rendszer

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

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)

Adatszolgáltatás a Postai Informatikai Rendszer számára. Dr. Nyuli Attila Alkalmazásfejlesztési és Üzemeltetési Osztály

Bevezetés... xi Ebben a könyvben... xi Gyakorlati segítség... xii 1. Az átállás megtervezése...1 Ebben a fejezetben... 1 Áttekintés: az áttérés

ServiceTray program Leírás

Fogalmak ITIL. Az incidensmenedzsment folyamat főbb elemei. Időkorlátok (time limits) Incidens modellek (incident models) Hatás (impact)

Átírás:

Kompetens Szoftvertesztelés a Gyakorlatban (CoSTiP) Eszköztámogatás a tesztelésben

5.6 Incidensmenedzsment (1) incidens menedzsment: az incidensek felismerésének, vizsgálatának, a különböző intézkedések és rendelkezések szervezésének folyamata. Magába foglalja az incidens loggolását, osztályozását és kihatásának vizsgálatát Az incidensjelentések céljai a következők: Visszajelzést nyújtani a problémáról a fejlesztők és egyéb érintettek részére, hogy el lehessen végezni a szükség szerinti azonosítást, izolálást, javítást. Biztosítani, hogy a tesztvezetők nyomon követhessék a tesztelt rendszer minőségét és a teszt előrehaladását a teszt folyamán. A tesztfolyamat javítására vonatkozó elképzeléseket kidolgozni

5.6 Incidensmenedzsment (2) Az incidensjelentés a következőket tartalmazhatja: Keltezés, készítő szervezet, szerző. Elvárt és valós eredmények. A tesztelem (konfigurációs elem) és a környezet azonosítása. A szoftver- vagy rendszer életciklus folyamata, amiben az incidens fellépett. Az incidens leírása, hogy lehetséges legyen a megismétlése és a megoldása, felhasználva a naplókat, adatbázis mentéseket, screenshot-okat. Hatás az érintett felek érdekeire.

5.6 Incidensmenedzsment (3) A rendszerre való hatás mértéke. Javítás sürgőssége/prioritása. Az incidens állapota (pl. nyitott, elhalasztott, duplikált, javításra váró, javított és újratesztelésre váró, lezárt). Következtetések, javaslatok és jóváhagyások. Globális problémák, mint például további területek, melyekre az incidens okozta változások hatással lehetnek. A változtatások története: a projektcsapat tagjainak tevékenységei az incidens izolálására, javítására, javításának ellenőrzésére. Referenciák, melyekbe beletartozik a problémát felfedő teszteset-specifikáció azonosításai

Mi történik a hibajeggyel?

Tesztelést támogató eszköz

Teszt menedzsment és tesztelés támogatás Teszt esetekhez kapcsolódó adatok menedzsmentje Teszt esetek állapotainak jelzése Végrehajtandó teszt esetek ütemezése Teszteléshez kapcsolódó tevékenységek menedzselése ( tesztelés tervezésével töltött idő, teszt végrehajtás) Tesztelések, teszt eredmények, hibák követhetősége a követelményeknek megfelelően Teszt eredmények naplózása Státusz és trend adatok megjelenítése Megjegyzés: A teszt menedzsment eszközök maguk nem futtatnak teszteket.

Incidens menedzsment eszköz tulajdonságai Incidenshez tartózó attribútumok információjának tárolása Csatolmányok tárolása Incidens priorizáció Emberekhez köthető tevékenységek (fix, confirmation test, etc.); Státuszok (e.g. open, rejected, duplicate, deferred, ready for confirmation test, closed); Riportálási lehetőségek (e.g. átlagos nyitott státusz ideje, minden státuszhoz az incidensek száma, nyitott lezárt incidensek stb.).

Teszt és tesztelést támogató eszközök Teszt menedzsment eszközök Követelmény menedzsment eszközök Incidens menedzsment eszközök Konfiguráció menedzsment eszközök Teszt végrehajtást és futtatást támogató eszközök

Tesztelő eszközök besorolása Nem feltétlenül lehet egy az egyben való megfeleltetést tenni eszköz és tesztelési típusok között Néhány eszköz kevés funkcióval bír és nagyon specifikus tevékenységet képes kezelni Kereskedelmi forgalomban kapható eszközök szélesebb funkciókkal bírnak

Tesztelő eszközök besorolása Vannak olyan esetek amikor az ember sokkal jobban vagy könnyebben old meg dolgokat mint a számítógép Vannak olyan esetek amikor a számítógép tud jobban és gyorsabban megoldani dolgokat

Teszt végrehajtást és futtatást támogató eszközök Automatizált szoftvertesztelés

Automatizált szoftver tesztelés Tesztek végrehajtásában Előredefiniált lépések végrehajtása Teszt eredmények naplózása Sok ismétlődő lépés végrehajtása Nagy mennyiségű adat használata (készítés, ellenőrzés)

Teljesítmény tesztelés Load Volume Stress

Load teszt A load teszteléssel ellenőrizzük, hogy a rendszer képes megbirkózni a várható tranzakciók számával.

Volume teszt A volume" teszteléssel ellenőrizzük, hogy a rendszer képes megbirkózni nagy adatmennyiséggel, például sok adat egy fájlban.

Stress teszt A stress" teszt az ami túllép a rendszer szokásos várható használatától (mi történne ha nem úgy használnánk mint ahogy tervezve lett).

Automatizált szoftver tesztelés - érvek Hatékonyság növelés Tesztelési költségek csökkentése Erőforrás csökkentés Manuális tesztelési hibák megszüntetése Unalmas feladatok végrehajtása Pontos eredmények Bármikor végrehajtható Újrahasznosítható

Automatizált szoftver tesztelés Automatizált teszteléssel nem lehet teljesen kiváltani a manuális tesztelést

Automatizált szoftver tesztelés Miért nem egyszerű? Speciális szoftver és hardver igény Programozási jártasság Nem váltja ki teljesen a manuális tesztelést Idő kell a megtérüléshez

Automatizált szoftver tesztelés Területek Regressziós teszt Smoke teszt Nagy adatkombináció Sok ismétlődő lépés Adat generálás

Automatizált szoftver tesztelés Mikor nem javasolt? Alkalmazás funkcionalitása nem stabil Gyakran változó kód Tesztelési folyamat nincs dokumentálva Megtérülés minimális Rövid idő a teszt elkészítésére

Automatizált szoftver tesztelés Mikor lehet használni? Tesztelési időszakban Fejlesztési időszakban Meglévő funkciók nem sérültek a fejlesztés során Adatgenerálás modul tesztelésre Tesztelési időszak előkészületeinél Bármikor

Automatizált szoftver tesztelés Különböző szintek lehetségesek Lineáris automatizálás Strukturált automatizálás Megosztott automatizálás Adat vezérelt automatizálás Kulcsszó alapú automatizálás

Keretrendszer - Framework Önmagában közvetlenül nem használható, de bizonyos tipikus feladatok elvégzését nagy mértékben segítő, egységes módon megszerkesztett "építőkockákat" (komponenseket) tartalmazó halmaz.

Lineáris automatizálás Kevés vagy nem létező: Modularitás Újrahasznosíthatóság Paraméterezhetőség Szinte egy az egyben megfelel a manuális teszt esetnek

Lineáris automatizálás Input Name into Username textbox Input Pass into Password textbox Click Login button If Hello Name exists then Test Passed Else Test Failed End If

Lineáris automatizálás Előnyök Gyors fejlesztés Rövid eszköz betanulási idő A Record funkciónak köszönhetően információhoz jutunk az alkalmazás felépítéséről Független scriptek Egyszerű hiba detektálás Kevés tervezés szükséges Hátrányok/Kockázatok Futtatás néha helytelen Egy dimenziós script Nehéz olvashatóság Alkalmazás magas ismerete Újrafelhasználhatóság hiánya Paraméterezés hiánya Költséges fenntarthatóság

Adat vezérelt Funkcionális dekompozíció Lehet egyszerű, de lehet igen jól definiált, komplex is Karbantarthatóság szempontjából nagyon jó Fontos, hogy jól ismerjük a keretrendszert mert a kulcsszó vezérelt erre épül Ez egy hibrid rendszer, létezik különkülön is a kettő

Funkcionális dekompozíció Moduláris komponensek készítése Navigálás Adatbevitel 1 Navigálás( Címlista ) 2 Adatbevitel( Debrecen ) 3 Adatellenőrzés( Debrecen ) Adatellenőrzés

Funkcionális dekompozíció A modulok az alkalmazás funkcionalitásának felelnek meg Léteznek egyéb felhasználó, tesztelő által definiált modulok: Navigálást végző modulok Hiba kezelő modulok Egyéb modulok

Adatvezérelt automatizálás Az adat külön van tárolva Nem része a scriptnek Paraméterezés

Adatvezérelt automatizálás Input Name into Username textbox Input Pass into Password textbox Click Login button If Hello Name exists then Test Passed Else Test Failed End If NameParameter Eszter Balázs Péter PassParameter PassEszter PassBalázs PassPéter

Adatvezérelt automatizálás Open Data Table Input <NameParameter> into Username textbox Input <PassParameter> into Password textbox Click Login button If Hello <NameParameter> exists then Test Passed Else Test Failed End If Close Data Table

Adatvezérelt Funkcionális dekompozíció Előnyök Újrafelhasználhatóság Korai script készítés Könnyű olvashatóság Standardizálás Hibakezelés használata Hátrányok/Kockázatok Technikai szakemberekre van szükség Komplexebb fenntarthatóság Alapos tervezést igényel

Kulcsszó alapú automatizálás Gyakran Tábla vezérelt automatizálásnak hívják Ez a keretrendszer a leginkább alkalmazás független Adattáblában Kulcsszavakat tárolunk ( Action )

Kulcsszó alapú automatizálás Képernyő Objektum Action Érték Recovery Megjegyzés Belépés Username Beírás Balázs Belépés Password Beírás PassBalázs Belépés Login Kattintás Helló Ellenőrzés Stop_Test

Kulcsszó alapú automatizálás A kulcsszavak (Action) alkalmazás specifikus és alkalmazás független funkcionalitással bíró függvényekkel vagy scriptekkel vannak kapcsolatban

Kulcsszó alapú automatizálás Open Keyword File Execute Data rows to end of file (EOF) If <Action> == Beírás Then Call Beírás(Screen, Object, Value) If <Action> == Kattintás Then Call Kattintás(Screen, Object) If <Action> == Ellenőrzés Then Execute Ellenőrzés(Screen) Implement Exception Handling Routine Based on Pass/FailStatus End Loop

Kulcsszó alapú automatizálás Előnyök Hátrányok/Kockázatok Újrafelhasználhatóság Korai script készítés Könnyű olvashatóság Standardizálás Hibakezelés használata Más tesztelők is tudnak teszt eseteket készíteni Technikai szakemberekre van szükség Komplexebb fenntarthatóság Alapos tervezést igényel Felsővezetői támogatás szükséges (költség, idő, erőforrás)

Automatizált szoftver tesztelés Eszköz tulajdonságok Felvétel & Visszajátszás Objektumok tárolása felhasználói felületről Naplózás Be és kimenő adatok tárolása Futási idők mérése Szinkronizálás a tesztelt alkalmazással Kapcsolat más eszközökkel

Automatizált szoftver tesztelés - Felvétel & Visszajátszás

Automatizált szoftver tesztelés - Objektumok tárolása

Automatizált szoftver tesztelés - Naplózás

Automatizált szoftver tesztelés Tesztek / függvények Helyreállítási forgatókönyv Teszt adat Teszt automatizálás Naplózás Objektumok Alkalmazás

Manuális vs. Automatikus Manuális Vázlatos teszt tervezés is elég Végrehajtás során a tervezési hibák küszöbölhetők Teszt végrehajtás idő és erőforrás igényes Ismétlődő végrehajtások, nagy kombinációk hatással vannak a költségekre és erőforrásokra Tesztelők elfáradhatnak, hibát véthetnek Automatizált Pontos tervezést igényel Pontosan azt csinálja amit mondunk neki, nem képes dönteni 24/7 elérhetőség Könnyű teszteket újrafuttatni Nagy kombinációk végrehajtása nincs nagy hatással a költségekre Nem unja meg a végrehajtást

Eszközök használatának előnyei / hátrányai

Előnyök Ismétlődő feladatok csökkentése Jobb újrafelhasználhatóság Részletes információ a tesztről, tesztelésről

Hátrányok / Kockáztok Irreális elvárások az eszköztől Idő, költség, erőforrás alábecslés Fenntarthatóság alábecslés Tapasztalat szükséges jó tesztek készítéséhez Tapasztalat szükséges az eszköz használatához

Eszköz használatának bevezetése egy vállalatnál

Eszköz választáskor tartsuk szem előtt a következőket Készen állunk a változásra? Területek beazonosítása, ahol előnyt jelenthet a tesztelési folyamatban Tegyünk egy próbát az eszközzel, hogy biztosak legyünk benne azt tudja amire nekünk szükségünk van Nézzük meg, hogy elérhetőek a megfelelő információk (dokumentációk, fórumok stb.) Bevezetés megtervezése

Tegyünk egy próbát az eszközzel Tudjunk meg minél több információt az eszközről Vizsgáljuk meg, hogyan illeszkedik be az eszköz a meglévő folyamatokba. Ha kell akkor hogyan változtassunk a folyamatokon, hogy az eszközt a lehető leghatékonyabban tudjuk használni Határozzuk meg, hogy milyen standardok mentén fogjuk használni az eszközt (függvények, modulok, elnevezések stb.)

ROI Return on Investment Befektetés megtérülés Mérőszámok használata Automatizálás hatékonyságának követése

ROI Mérőszámok Teszt tervezésre fordított idő Teszt elkészítésére fordított idő Teszt adat készítési idő Teszt karbantartására fordított idő Teszt végrehajtási idő Hányszor hajtódik végre egy tesztelési ciklusban Mennyi tesztelési ciklus van

ROI Egyszerű példa Manuális Automatikus Teszt végrehajtás (perc) 8 5 Tesztek száma 10 10 Egyéb idő (perc) 30 7 Összesen (perc) 110 57

$80 000 ROI $70 000 $60 000 $50 000 Költség $40 000 $30 000 Befektetés/Ráfordítás ($) Összes befektetés/ráfordítás ($) Megtérülés ($) Összes megtérülés ($) $20 000 $10 000 $0 2007 Q3 2007 Q4 2008 Q1 2008 Q2 2008 Q3 2008 Q4 2009 Q1 2009 Q2 2009 Q3 2009 Q4 Tesztelési ciklusok

Selenium IDE Black Box típusú tesztek készítése A tesztek felvétele a Selenium IDE segítségével történik Firefox plugin

Selenium IDE

Selenium IDE

Kérdések zoltan.kundra@ni.com