Miskolci Egyetem Általános Informatikai Tanszék

Hasonló dokumentumok
A tesztelés feladata. Verifikáció

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

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

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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Programfejlesztési Modellek

Statikus technikák: A szoftver átvizsgálása. Statikus technikák: A szoftver átvizsgálása

Software project management Áttekintés

MIÉRT KELL TESZTELNI?

V & V Feladatok. V & V Feladatok

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

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

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

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

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

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

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

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

Szoftverminőségbiztosítás

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

Modellezési Kockázat. Kereskedelmi Banki Kockázatmodellezés. Molnár Márton Modellezési Vezető (Kockázatkezelés)

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Software project management Áttekintés

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

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

S01-9 Szoftverfejlesztés minőségi aspektusai

Szoftvertesztelés - Bevezető

Komplex terheléses tesztmegoldások a Mobil PS és CS gerinchálózaton

Objektumorientált tesztelés

Autóipari beágyazott rendszerek. Kockázatelemzés

Szoftverminőségbiztosítás

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

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

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

23. Szoftver-tesztelés

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

A szoftvertesztelés fontossága, formái, eredménye, unit tesztelés a gyakorlatban

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

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

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

Lukovich Gábor Logisztikai rendszerfejlesztő

Dr. Topár József 3. Eladás Marketing Külső szolgáltatás Alvállalkozók Fogyasztók. Engineering Termelés Anyagszabályozás Beszerzés Minőség

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

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

A programkód átvizsgálásának hatékonyságát két ok magyarázza:

Tesztelési szintek Tesztautomatizálás

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

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

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

Programozás alapjai Bevezetés

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

(Teszt)automatizálás. Bevezető

Programozási technológia

Megbízhatóság az informatikai rendszerekben

Szoftverminőségbiztosítás

Bánsághi Anna Bánsághi Anna 1 of 62

A TANTÁRGY ADATLAPJA

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Információ menedzsment

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

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

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

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

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Kvantitatív módszerek

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Név: Neptun kód: Pontszám:

Kivételkezelés a C++ nyelvben Bevezetés

A szoftverfolyamat és s a tesztelés

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

Dialízis gép software komponensét alkotó unitok modul tesztje követelmény és struktúra alapon

MEMS eszközök redukált rendű modellezése a Smart Systems Integration mesterképzésben Dr. Ender Ferenc

Tartalom A verifikáció és validáció tervezése Szoftver vizsgálatok Automatizált statikus analízis Cleanroom szoftverfejlesztés

Termékhasználat. Helyes helytelen termékhasználat. Felhasználók. Ergonómiai hagyományok. Az ergonómia integrálása a termékfejlesztés folyamatába

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

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

VÁROSI CSAPADÉKVÍZ GAZDÁLKODÁS A jelenlegi tervezési gyakorlat alkalmazhatóságának korlátozottsága az éghajlat változó körülményei között

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

Okosház Test Plan. Tartalomjegyzék

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

UML (Unified Modelling Language)

Formális módszerek GM_IN003_1 Bevezetés

8.3. AZ ASIC TESZTELÉSE

A tesztelés szükségessége

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Termékéletciklus-kezelésen alapuló számítógépes tervezés

Okosház tesztterve. szeged.hu/~gertom/oktatas/tesztman.php oldalon találhatóak a következők:

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Indikátorok projekt modellhelyszínein. Domokos Tamás szeptember 13.

Al-Mg-Si háromalkotós egyensúlyi fázisdiagram közelítő számítása

Hadházi Dániel.

Információs rendszerek Információsrendszer-fejlesztés

A Gazdasági - Műszaki Főigazgatóság feladatai az intézményirányítás fejlesztésében

Átírás:

Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1

A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a rendszer a felhasználó céljainak megfelelően működik Boehm vezette be az alábbi kifejezéseket: Verifikáció: jól építettük-e fel a rendszert? Validáció: a jó rendszert építettük-e fel? Software tesztelés SWTESZT / 2

Verifikáció a rendszer implementációs hibáinak felderítése a rendszer a specifikációjának megfelelően működik-e A verifikáció során helyesnek bizonyult software még nem biztos, hogy a felhasználó számára megfelelő (bár technikai értelemben tökéletes). Software tesztelés SWTESZT / 3

Validáció A rendszer használhatósága a felhasználó szempontjából. Ennek legfontosabb összetevői: Valamennyi szükséges funkciót megvalósítottunk? A funkciók a felhasználó céljai szerint működnek? A rendszer teljesítménye a valós körülmények között megfelelő? Software tesztelés SWTESZT / 4

A tesztelés fajtái hibakeresõ tesztelés (defect testing) a rendszerben fellelhető hibák megtalálása és kijavítása statisztikai tesztelés (statistical testing) A működés megbízhatóságának ellenőrzése Olyan tesztadatok, amelyeknek gyakorisága megfelel a rendszer gyakorlati használata közben keletkező adatoknak. Hibás adatokat és hibás kezelés ellenőrzése! Software tesztelés SWTESZT / 5

A tesztelési folyamat Részegység teszt (unit test) Egy implementációs egység (pl. függvény) önmagában megfelelően működik-e. Modul teszt Egymástól függő modulok együttműködése megfelelő-e? Software tesztelés SWTESZT / 6

A tesztelési folyamat (folyt.) Alrendszer teszt Másoktól függetlenül implementálható részrendszerek. Egy részrendszeren belül az azt alkotó modulok közötti együttműködés tesztelhető. Software tesztelés SWTESZT / 7

A tesztelési folyamat (folyt.) Elfogadási teszt (acceptance testing) Célja a rendszer elfogadtatása Annak bizonyítása, hogy a rendszer a felhasználó igényeinek megfelel. Lehetőleg valós adatok, valós környezet és valós felhasználó Kimutathatja, hogy a követelmény analízis hiányos volt A rendszer nem felel meg minden hatékonysági követelménynek. Software tesztelés SWTESZT / 8

A tesztelési folyamat (folyt.) Szokásos kifejezések: komponens teszt: az első két fázis integrációs teszt: a következő két fázis Kereskedelmi termék esetén: alfa teszt: elfogadási teszt, de a fejlesztő cégen belül végrehajtva béta teszt: a leendõ felhasználók egy korlátozott csoportja teszteli a rendszert, és a hiányosságokat jelenteni a fejlesztőknek Software tesztelés SWTESZT / 9

Tesztelési terv A tesztelés költséges része a software fejlesztésnek, ezért kellő tervezést igényel. A teszteléshez szükséges emberi és hardwaresoftware erőforrásokat a idõben biztosítani kell. Nagyobb rendszerek esetén legalább az integrációs teszthez független tesztelõ csoport kell A tesztelési fázisok terveinek és a fejlesztési fázisok kapcsolata: Software tesztelés SWTESZT / 10

Tesztelési terv (folyt.) Software tesztelés SWTESZT / 11

Tesztelési stratégiák Inkrementális megközelítés ajánlott. Néhány elemet (modult vagy részrendszert) kombinálunk Olyan teszteket-futtatunk, amelyek csak az összeépített elemeket igénylik Ha minden teszt sikeres, újabb elemeket teszünk hozzá a rendszerhez. További teszteket futatunk, amelyek az új elemek meglétét is igénylik Software tesztelés SWTESZT / 12

Tesztelési stratégiák (folyt.) A fenti iterációt addig folytatjuk, amíg a teljes rendszert összeépítettük, és azon valamennyi teszt sikeresen lefutott. Példa: A (rész)rendszer elemei A, B A, B, C A, B, C, D Futatott tesztek T1, T2, T3 T1, T2, T3, T4, T5 T1, T2, T3, T4, T5, T6 Software tesztelés SWTESZT / 13

Top-down tesztelési stratégia A hierarchia legfelső szintjén álló elem teszteléséhez az eggyel lejjebb álló elemek viselkedését és iterface-ét szimuláló ideiglenes elemek (stub) szükségesek. Ha a teszt sikeres, az ideiglenes elemeket a valódiakkal helyettesítjük, az általuk használtakat pedig újabb ideiglenes elemekkel szimuláljuk. Software tesztelés SWTESZT / 14

Top-down tesztelési stratégia (folyt.) Előnyei: Jól illeszkedik a top-down programfejlesztési módszerekhez. Egy modul a megírása után rögtön tesztelhető. Az esetleges tervezési hibák korán kiderülnek, és idejében orvosolhatók. Viszonylag korán rendelkezésre áll egy korlátozott képességű rendszer : validáció Software tesztelés SWTESZT / 15

Top-down tesztelési stratégia (folyt.) Hátrányai: Bonyolult lehet a szimulációt végző ideiglenes rutinok megírása. A hierachia felsõ szintjein álló modulok sokszor nem szolgáltatnak outputot. A teszteléshez külön eredmény-generáló "betétek" szükségesek. Software tesztelés SWTESZT / 16

Bottom-up tesztelési stratégia Először a legalsó szinten levő modulokat teszteljük, majd a hierarchiában felfelé haladunk. Ehhez a felső szinteket szimuláló tesztelési környezetet (test driver) kell írni. Software tesztelés SWTESZT / 17

Fonal tesztelés (thread( testing) Ha a rendszer együttműködő processzekből épül fel. Egy külső esemény bekövetkezése okozhatja, hogy egy processztől átkerüljön a vezérlés egy másikhoz. Az események időbeli lefolyása is befolyásolja a vezérlés átadást. Az ilyen rendszerek tesztelése nehéz és hosszadalmas. Software tesztelés SWTESZT / 18

Fonal tesztelés (folyt.) Elõször az egyes processzeket önmagukban kell tesztelni. Ezután kiválasztunk a rendszerbõl egy processz-sorozatot. A sorozat kezdetén álló processz egyenként megkap minden olyan eseményt, amelyre reagálnia kell. Ha már egyenként minden eseményre jól viselkedett a processz sorozat, egyidőben több lehetséges eseményt tesztelünk. Software tesztelés SWTESZT / 19

Fonal tesztelés (folyt.) A fenti eljárást meg kell(ene) ismételni minden lehetséges processz-sorozatra, ami irreális vállalkozás ezek nagy száma miatt. A tesztelés általában a legfontosabb lehetséges fonalakra kell korlátozódjon. Software tesztelés SWTESZT / 20

Terhelési teszt (Stress( testing) A rendszerekre olyan tesztet kell kidolgozni, amely az előírás szerinti terhelést képes produkálni. Ezután a terhelést emelik, amíg a rendszerben hiba keletkezik. Fontos a keletkezett hiba jellege: az esetek többségében ez semmiképpen sem lehet adatvesztés, inkább a "normális" munkamenet felfüggesztése. Software tesztelés SWTESZT / 21

Terhelési teszt (folyt.) Lényeges, hogy a tesztadatok a lehetséges tranzakciók áltagos és szélsőséges eseteit is tartalmazzák. Fontos szerepet játszik a terheléses vizsgálat az osztott rendszerek tesztelésében Software tesztelés SWTESZT / 22