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

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

Szoftvertesztelés Alapok

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté

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

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

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

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

Szoftverminőségbiztosítás

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 legalacsonyabb szintű tesztelés. A programot felépítő egységek tesztelése Unit: egy rendszer legkisebb önálló egységként tesztlehető része.

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)

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

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

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

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

OOP és UML Áttekintés

Eseményvezérelt alkalmazások fejlesztése II 4. előadás. Windows Forms alkalmazások architektúrája és tesztelése

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

A dokumentáció felépítése

Sikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.

Mesterséges intelligencia alapú regressziós tesztelés

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

Szoftvertechnológia 10. előadás. Verifikáció és validáció. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

MIÉRT KELL TESZTELNI?

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Szoftverminőségbiztosítás

Programozási nyelvek II. JAVA

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

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

Modern unit és integrációs tesztelés

Programozási nyelvek II. JAVA

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Test Management Strategy Document. Deák Kristóf Lauly Viktória Kunigunda Csiki Norbert Szabó Zoltán

Szoftvertesztelés - Bevezető

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Szoftverminőségbiztosítás

Térinformatikai és távérzékelési alkalmazások fejlesztése. Szoftverek minőségbiztosítása

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

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

A szoftver tesztelés alapjai

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

OO rendszerek jellemzői

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

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

A minőségbiztosítás informatikája Gégény Dávid - KHIWFS

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

BME Irányítástechnika és Informatika Tanszék A programozás alapjai

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

A C# programozási nyelv alapjai

Test plan Okoshaz projekt

Test Strategy. Tartalomjegyzék

A szerzõrõl... xi Bevezetés... xiii

Tartalomjegyzék. 1 A tesztelés alapjai. 2 Tesztelés a szoftver életciklusán át. 3 Statikus technikák. 4 Teszt tervezési technikák. 5 Integrációs teszt

JUnit.

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Programozási technológia 2.

Java programozási nyelv 6. rész Java a gyakorlatban

Rubin SPIRIT TEST. Domino net provisioning tesztelése esettanulmány 1.0. Készítette: Dobó Arnold Jóváhagyta: Varga József. Rubin Informatikai Zrt.

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

1. Melyik szabvány foglalkozik dokumentumok tulajdonságainak megfogalmazásával? a. RDFS b. FOAF c. Dublin Core d. DBPedia

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

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

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

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

ELTE, Informatikai Kar december 12.

Objektumelvű programozás

Programozási nyelvek Java

Programozási nyelvek Java

Okosház Test Plan. Tartalomjegyzék

Osztályok. 4. gyakorlat

Szűgyi Zalán. Unit tesztek Java és C++ környezetben

Komponens alapú fejlesztés

Eseményvezérelt alkalmazások fejlesztése II 4. előadás. Windows Forms alkalmazások architektúrája és tesztelése. Giachetta Roberto

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

AWK programozás, minták, vezérlési szerkezetek

C++ programozási nyelv Konstruktorok-destruktorok

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

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

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Programozási Paradigmák és Technikák

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

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

Időkönyvelő Projektfeladat specifikáció

7. Verifikáci. ció. Ennek része a hagyományos értelemben vett szoftvertesztelés is. A szoftver verifikálásának,

Szoftverfejlesztés teszteléssel

A Java nyelv. Dialógus ablakok. Elek Tibor

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

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

Generikus Típusok, Kollekciók

Programozási nyelvek Java

AWK programozás, minták, vezérlési szerkezetek

Webes alkalmazások fejlesztése

Java programozási nyelv 4. rész Osztályok II.

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

JAVA PROGRAMOZÁS 3.ELŐADÁS

Szkriptelési feladat megoldása

Átírás:

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

Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22

Szoftvertesztelés A szoftverfejlesztés része Célja: Hibák jelzése Olcsóbb hibajavítás Megfelelő működés igazolása Megrendelő elvárásainak megfelel? A specifikációnak megfelel? Fő csoportok Fekete dobozos teszt (Black Box) (specifikáció alapján) Fehér dobozos teszt(white Box) (forráskód alapján) Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 3 / 22

Black Box Specifikáció alapján történik A forráskód nem ismert Adott bemenetre várt kimenet Kapott és elvárt eredmény összehasonlítása Programozási versenyek Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 4 / 22

White Box Forráskód ismert Strukturális tesztelés Kód egyes részeit teszteli Kódsor Elágazás Ciklus Metódus Osztály Funkció Modul Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 5 / 22

Tesztelés Szintjei 1 Komponensteszt 2 Integrációs teszt 3 Rendszerteszt 4 Átvételi teszt Komponensteszt Csak egyes komponensek tesztelése Komponens megfelelően működik e? Részei Unit teszt Modulteszt Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 6 / 22

Tesztelés Szintjei Integrációs Teszt Több jól működő komponens Komponensek együttműködése Rendszerteszt Minden komponens együttes tesztelése Átvételi Teszt Felhasználók végzik Kész rendszer Végső teszt Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 7 / 22

Statikus Technikák Kód átvizsgálása Hatékony Időigényes Szakértő Szakterületi, programozási ismeretek Átvizsgáló csapat Automatizált elemzők Gyors Szoftver eszköz Forráskód elemzés Inicializálás Vezérlési hibák Interface hibák Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 8 / 22

Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 9 / 22

Unit Teszt Dinamikus tesztelési technika Komponensteszt része Egyes osztályok, modulok együttes tesztelése Legkisebb tesztelési egység. Általános Java JUnit IDE támogatás Könnyen implementálható, futtatható Miden metódushoz legalább egy Unit teszt Automatizált Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 10 / 22

Unit Teszt Visual Studio Beépített automatizmusok Osztályok és metódusaik tesztelése A teszt külön projekt Solution része Csak publikus osztályokat lehet tesztelni Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 11 / 22

Tesztosztály Osztály tesztelése Egységbezárás Adott osztályhoz tartozó tesztek [TestClass] Teszteseteket fog össze Inicializálás [TestInitialize] Teszteseteket előtt fut le egyszer Megszüntetés [TestCleanUp] Teszt esetek után fut le Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 12 / 22

Teszteset Tesztelést végző metódus Egy teszteset Egy metódust Több tesztelő metódus Követelmények: [TestMethod] void visszatérési érték Üres paraméterlista [TestMethod] public void TestMethod() {... } Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 13 / 22

AAA Minta Arrange, Act, Assert Unit tesztek általános felépítése 1 Arrange: Értékek, adatok beállítása, inicializálása ami kell az adott tesztesethez. 2 Act: Tesztelt metódus meghívása. 3 Assert: Viselkedés ellenőrzése. //arrange double r1 = 1.0; double area1 = r1*r1*math.pi; Circle c1 = new Circle(new Point(0.0,0.0),r1); //act double resultarea = c1.area(); //assert Assert.AreEqual( area1, resultarea, 0.0001); Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 14 / 22

Assert Microsoft.VisualStudio.TestTools.UnitTesting Osztály Statikus metódusok AreEqual AreNotEqual AreSame AreNotSame Fail... Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 15 / 22

Assert Különböző Típusok Fő paraméterek 1 Várt érték 2 Kapott érték 3 Üzenet szövege 4 Üzenet paraméterei Egyes típusoknál tűrés Double (delta) String (ignorecase) public static void AreEqual( Object expected, Object actual, string message, params Object[] parameters ) Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 16 / 22

Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 17 / 22

Példa Készítsen egy kör osztályt. A Kört az (x,y) koordinátái és a sugara határozza meg. A körnek legyen területet lekérdező Area és kerületet visszaadó Cricurmference metódusa. Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 18 / 22

Tesztesetek Test / New Test... Basic Unit Test Wizard Windows Test View Test List Editor Test Results Test Runs... Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 19 / 22

Unit Test Wizard 1. ábra Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 20 / 22

Teszteset [TestMethod] public void TestMethodArea() { double r1 = 1; double r2 = 4.5; double area1 = r1*r1*math.pi; double area2 = r2*r2*math.pi; Circle c1 = new Circle(new Point(0.0,0.0),r1); Circle c2 = new Circle(new Point(0.0,0.0),r2); Assert.AreEqual(area1,c1.Area(),0.0001); Assert.AreEqual(area2,c2.Area(),0.0001); } Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 21 / 22

Tesztesetek Futtatása Test View Test Results Zöld Piros X Visual Studio 2010 esetén bug os lehet! A Test Pending marad! Unit Test Session működik! Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 22 / 22