Tesztelési szintek Tesztautomatizálás

Hasonló dokumentumok
Szoftverminőségbiztosítás

(Teszt)automatizálás. Bevezető

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

Tesztelés a fejlesztés különböző fázisaiban

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

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

Gyakorlat és házi feladat tájékoztató

Gyakorlat és házi feladat tájékoztató

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

Szoftverminőségbiztosítás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Tesztelés a fejlesztés különböző fázisaiban

A szoftver tesztelés alapjai

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

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

Szoftverminőségbiztosítás

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

R3-COP. Resilient Reasoning Robotic Co-operating Systems. Autonóm rendszerek tesztelése egy EU-s projektben

Oracle Enterprise Manager: Az első teljesértékű felhő üzemeltetési megoldás

Végpont védelem könnyen és praktikusan

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

Modell alapú tesztelés mobil környezetben

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

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

Informatikai technológiák szakirány Rendszertervezés ágazat

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Programozási technológia 2.

Szoftverfejlesztés teszteléssel

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

SZOFTVER TESZT AUTOMATIZÁLÁS Eszter Vezdén Budapest, 08 November 2018

Közösség, projektek, IDE

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

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

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

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

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

Robusztusság tesztelés

Unit tesztelés. Honfi Dávid, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

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

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Digitális technika (VIMIAA02) Laboratórium 1

A Java EE 5 plattform

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

Digitális technika (VIMIAA02) Laboratórium 1

Felhők teljesítményelemzése felhő alapokon

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

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

A DevOps-kultúra eszközei

Alkalmazás és megjelenítés virtualizáció

Szabálykezelés a gyakorlatban

Szoftver karbantartás

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

SZOFTVER- TESZTELÉS 2019 & QA Workshop

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

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

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

Documentum-menedzsment. À la Open Source Molnár Ferenc Rendszerintegrációs igazgató

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Felhasználói felületek tesztelése

Összefoglaló jelentés

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

Szoftver karbantartási lépések ellenőrzése

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

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

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek

Linux kiszolgáló felügyelet: SUSE Manager

Szoftver-modellellenőrzés absztrakciós módszerekkel

Utolsó módosítás:

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Intelligens közlekedés: a járműipar és járműirányítás IKT igényei, a VehicleICT projekt. Lengyel László lengyel@aut.bme.hu

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

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

Felhasználói felületek tesztelése

MIÉRT KELL TESZTELNI?

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

Miért is transzformáljunk modelleket? Varró Dániel

Szoftver technológia. Continuous integration & delivery. Cserép Máté ELTE Informatikai Kar 2019.

Microsoft SQL Server telepítése

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

Informatikai rendszertervezés

Nagy bonyolultságú rendszerek fejlesztőeszközei

Szoftver értékelés és karbantartás

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

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

Utolsó módosítás:

SW-project management

1. A Windows Vista munkakörnyezete 1

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

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

Informatikai rendszertervezés

A szoftverfejlesztés eszközei

Tesztelési feladatok és kihívások a FALCON projektben

iseries Client Access Express - Mielőtt elkezdi

BMD Rendszerkövetelmények

Szoftvertesztelés - Bevezető

Átírás:

Integrációs és ellenőrzési technikák (VIMIA04) Tesztelési szintek Tesztautomatizálás Majzik István, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1

Áttekintés Funkció Felülvizsgáló Verziókezelő rendszer Fejlesztő Éles környezet Kódolási szabályok Statikus analízis Egységteszt Folytonos integráció kiszolgáló Felügyelet Rendszerteszt 2 E2E teszt Ikonok: icons8.com

Példa: mit/hol/hogyan teszteljünk? 3

Példa: mit/hol/hogyan teszteljünk? Unit teszt 4

Példa: mit/hol/hogyan teszteljünk? Tesztelés API-n (~ integrációs teszt) 5

Példa: mit/hol/hogyan teszteljünk? Tesztelés GUI-ról (~ rendszerteszt) 6

TESZTELÉSI SZINTEK 7

I. Integrációs tesztelés Modulok Modulok együttműködésének ellenőrzése ellenőrzése Motiváció: o A rendszer annak ellenére hibás lehet, hogy minden modul egyenként hibátlan! Módszerek: o Funkcionális tesztelés: forgatókönyvek tesztje Ez sokszor a specifikáció része (scenario) o (Strukturális tesztelés inkább csak modulszinten!) Megközelítések: o Big bang : minden modult egyszerre integrálni o Inkrementális: egyenként összerakni a modulokat 8

Jellemzők: o E2E: end-to-end II. Rendszertesztelés o Funkcionális tesztek + nem-funkcionális jellemzők is! Kiemelhető: o Éles környezethez hasonló o Felhasználói profil figyelembe vétele (terhelés) o Rendszer alkalmazhatósági korlátok megállapítása (erőforrás-használat, telítődés) o Hibahatások vizsgálata Teljes rendszer tesztelése 9

Rendszerteszt típusok (példa) Tester Performance testing Configuration testing Concurrency testing Stress testing Reliability testing Teljesítmény teszt Valós terhelés, válaszidők Konfiguráció teszt HW és SW beállítások Konkurens viselkedés tesztje Felhasználók növelése Holtpont, kiéheztetés Terhelés (löket) teszt Telítődés vizsgálata Megbízhatóság tesztje Hibahatások vizsgálata Failover testing 10 Hibakezelés tesztje Hibadetektálás, redundancia

III. Átvételi tesztelés (acceptance testing) Gyakran vevő vagy végfelhasználó végzi Cél: Valóságos környezet hatásának tesztelése o Rendszerbe vetett bizalom megteremtése o Felhasználói elvárások figyelembe vétele (nem specifikált is) Lehet szerződéses elvárás is o Dobozos vagy nagyvállalati termék Alfa és béta teszt 11

Összefoglalás: Különbség a szintek között How Google Tests Software könyv ajánlásai: (small ~ unit, medium ~ integration, large ~ sytem) Small Medium Large Javasolt futási idő < 100 ms < 1 sec minél gyorsabban Időkorlát (kill) 1 perc 5 perc 1 óra Erőforrás Small Medium Large Hálózat (socket) Mocked csak localhost Igen Adatbázis Mocked Igen Igen Fájl hozzáférés Mocked Igen Igen Rendszerhívás Nem Nem javasolt Igen Több szál Nem javasolt Igen Igen Sleep utasítás Nem Igen Igen Rendszer tulajdonságai Nem Igen Igen 12

TESZTAUTOMATIZÁLÁS Miért, Mit, Hogyan, Mikor, Hol 13

MIÉRT: Automatikus tesztelés Teszt futtatás és/vagy kiértékelés automatizálása o Emberi kiértékelés lassú/drága (?) Manuális vagy automatikus? o Sok mindentől függ! o Nehézség Pl. GUI, CD írás, rajzolás o Tesztelés élethossza Meddig kell a teszt, milyen gyakran o Pontosság (false positive, false negative) Manuális ÉS automatikus! 14

MIT: Tesztelési piramis Source: Alister Scott Lásd még: Mike Cohn, Martin Fowler 15

HOGYAN: Tesztautomatizálási módszerek Capture/replay Könnyű létrehozni Nehéz karbantartani Structured Scripting Data-driven Közös műveletek szkript könyvtárban Teszt logika, adat és kód összefonódik Tesztek be/kimente külső forrásból (fájl, DB ) Keyword-driven Teszt üzleti/szakterületi kulcsszavakból áll Minden kulcsszó mögött kódrészlet Model-based Tesztkiválasztás is (részben) automatikus Lásd: ISTQB syllabus 16

HOGYAN: Tipikus részfeladatok (SEARCH) Setup Legfrissebb verzió fordítása/telepítése Különböző platform, OS, böngésző Virtuális gépek, Lab manager programok Execution Egyszerű script / xunit / keretrendszer Naplózás Analysis Teszt kiértékelése Sokszor nem triviális Reporting Tesztek ezrei esetén nem elegek a naplófájlok Összesítő információk Cleanup Ismert, tiszta állapotba visszaállítás Cél: tesztek ne befolyásolják egymás futását Help Teszt kód is ugyanolyan kód, azt is dokumentálni kell Sokszor a teszt kód hosszabb, mint az éles 17

MIKOR: Végrehajtási stratégiák Teljes (minden teszt) o Legalább minden kiadás előtt Smoke test o Kis tesztkészlet alap funkcionalitás ellenőrzésére o Gyors visszajelzés, de kicsi pontosság o Sokféle név, pl. build verification test (BVT) Regressziós tesztelés o Részleges újratesztelés (hatáselemzés) o Teszt prioritizálás 18

HOL: Tesztvégrehajtó platformok Web: különböző böngésző, OS Mobil: emulált vagy fizikai eszköz Sokféle kulcsrakész megoldás o Telepített: Selenium, Robot framework o Felhő: Browserstack, SauceLabs 19

HOL: Tesztelési laborok (web, mobil) Robot Assisted Test Automation (GTAC 2015) Chromecast Test Automation (GTAC 2015) 20

HOL: Tesztelési laborok (kritikus rendszer) Functional test challenges in safety critical EPAS systems, ThyssenKrupp Presta (Test&Tea 2015) Video and radar test, Bosch (Test & Tea 2015) 21

INFO: ISTQB Test Automation Engineer Forrás: ISTQB 22

INFO: Tesztelési konferenciák 23

Összefoglalás 24