T ESZTELÉS. C ÉLJA Minél több hibát találjunk meg! Ahhoz, hogy az összes hibát fölfedezzük, kézenfekvőnek tűnik a programot az összes lehetséges bemenő.

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

Oktatásszervezési változások. Mintatantervi változások.
H IBAKERESÉS, HIBAJAVÍTÁS. H IBAJELENSÉGEK Szintaktikai hiba:  Csak értelmezés esetén fordul elő, hiszen a fordítóprogramok korábban, még a fordítási.
MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE)
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Hatékonyságvizsgálat, dokumentálás
Rendszerfejlesztés gyakorlat - © Fülöp Lajos
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek 9. előadás
A webes tesztelés jövője
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Programozási alapismeretek 9. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 9. előadás2/
Logikai műveletek
C A C nyelv utasításai.
Mutatók, tömbök, függvények
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Programozás módszertan
Dr. Szalka Éva, Ph.D.1 Statisztika II. VII.. Dr. Szalka Éva, Ph.D.2 Mintavétel Mintavétel célja: következtetést levonni a –sokaságra vonatkozóan Mintavétel.
A digitális számítás elmélete
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Funkciópont elemzés: elmélet és gyakorlat
Regresszióanalízis 10. gyakorlat.
Nyíregyházi Főiskola 1 Szoftvertesztelés Előadó: Dr. Nagy Mihály Előadó: Dr. Nagy Mihály WEB: WEB:
Függvények III Logikai függvények. Hamis A HAMIS logikai értéket adja eredményül. HAMIS( ) A függvény alkalmazása helyett egyszerűen beírhatjuk a HAMIS.
Excel Hivatkozások, függvények használata
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
ETR generáció váltás Tanterv konverzió előkészítés Tanterv konverzió (ösvényesítés)
Ismétlés.
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Programtesztelés. Hibák keletkezésének okai nem egyértelmű vagy hiányos kommunikáció fejlesztés közben maga a szoftver bonyolultsága programozói (kódolási)
Az elemzés és tervezés módszertana
Szintaktikai, szemantikai szabályok
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
Algoritmus szerkezetek
Algoritmusok.
Logikai programozás 2..
Objektum orientált programozás
Funkciós blokkok A funkciós blokkok áttekintése Az alkalmazás előnyei.
Programozás III KIVÉTEL.
Programozás, programtervezés
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
Összeállította: Sashalmi Tibor
Algoritmizálás, adatmodellezés tanítása 6. előadás.
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Algoritmusok hatékonysága – lottószelvények
Programstruktúrák. Program A program utasítások olyan sorozata, amely a számítógépen önállóan képes megoldani egy feladatot. A program háttértáron futtatható.
Programozási nyelvek csoportosítása.
Programozás alapjai Készítette: Csiszár Nóra Anita
Kifejezések C#-ban.
Gépészeti informatika (BMEGEMIBXGI)
Programozási nyelvek típusossága.
Fordítás (formalizálás, interpretáció)
Compiler illetve interpreter nyelvek
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
ITERÁCIÓ.
Algoritmusok szerkezete
Informatikai gyakorlatok 11. évfolyam
A mesterséges neuronhálók alapjai
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

T ESZTELÉS

C ÉLJA Minél több hibát találjunk meg! Ahhoz, hogy az összes hibát fölfedezzük, kézenfekvőnek tűnik a programot az összes lehetséges bemenő adattal kipróbálni. Akkor tudunk a tesztelés eredményéről bármit is mondani, ha van elképzelésünk arról, hogy adott bemenő adatra milyen eredményt várunk. Teszteset: a be- és kimeneti adatok, és a feltételek együttes megadása.

A TESZTELÉS ALAPELVEI A jó teszteset az, ami nagy valószínűséggel egy még felfedetlen hibát mutat ki a programban. A teszteset nem csak bemenő adatokból, hanem a hozzájuk tartozó eredményekből is áll. (A későbbi felhasználás miatt célszerű feljegyezni.) A meg nem ismételhető teszteseteket kerüljük! A tesztelést az érvényes és az érvénytelen adatokra is el kell végezni. Minden tesztesetből ki kell „bányászni” a legtöbb információt. Fontos megállapítani, hogy miért nem valósít meg a program valamilyen funkciót amit elvárunk tőle, és azt is, hogy miért végez olyan tevékenységet is, amit nam feltételeztünk róla. A program tesztelését csak a program írójától különböző személy képes hatékonyan elvégezni.

S TATIKUS TESZTELÉSI MÓDSZEREK Azok a módszerek, amikor csak a kódot vizsgáljuk. Kódellenőrzés:  A program szövegének megvizsgálása.  Az algoritmus logikáját kell a programban végigkövetni, s megfigyelni, hogy a kettő eltér-e egymástól. Formai ellenőrzés:  Kereszthivatkozási táblázat: adatnév, típus, hivatkozási helyek azonosítása.  A program minden utasítását végre kell hajtani legalább egyszer.

S TATIKUS TESZTELÉSI MÓDSZEREK Tartalmi ellenőrzés:  Ellentmondás-keresés.  A tartalmi hibák a formailag helyes programokban fordulnak elő, de felismerhetők formális eszközökkel.  A programba valószínűleg elírás, figyelmetlenség miatt kerültek bele.  Felhasználatlan objektum, vagy változóérték.  Érték nélküli változó, függvény, vagy operátor.  Nem változtató értékadás.  Azonosan igaz (hamis) logikai formulák.  Konstans értékű kifejezések.  Végtelen ciklus.  Mellékhatással rendelkező függvény, vagy operátor.

D INAMIKUS TESZTELÉSI MÓDSZEREK A programot végre is hajtjuk. „Fekete doboz” módszer:  Adatvezérelt tesztelés.  A tesztelő nem veszi figyelembe a program belső szerkezetét, hanem a teszteseteket a feladat meghatározás alapján választja meg.  A cél az összes hiba megtalálása a programban.  Ez elvileg lehetséges, a programot ki kell próbálni az összes lehetséges bemenő adatra.  Ezzel a módszerrel mennyiségi akadályokba ütközhetünk.  Kimerítő bemenet tesztelés.

D INAMIKUS TESZTELÉSI MÓDSZEREK „ F EKETE DOBOZ ” MÓDSZER : Ekvivalencia osztályok keresése.  Minden tesztesetnek annyi bemeneti feltételt kell kielégítenie, amennyit csak lehetséges azért, hogy ezzel a lehetséges tesztesetek számát csökkentsük.  A bemeneti tartományt valamilyen módon részekre kell osztani, és ezekre a részekre jellemző teszteseteket kell választani. Ezekre a részekre (osztályokra) legyen igaz, hogy: ha egy ilyen osztályból választunk egy tesztesetet, és ezzel hibát találunk a programban, akkor az osztály más elemét választva is nagy valószínűséggel hibát találnánk.  Ekvivalencia osztályokat nem csak az érvényes, hanem az érvénytelen adatokra is létre kell hozni, és a programot azokkal is ki kell próbálni.

D INAMIKUS TESZTELÉSI MÓDSZEREK „F EKETE DOBOZ ” MÓDSZER : Határeset elemzés.  Az előzőnek bizonyos szempontból kiegészítő módszere.  Az ekvivalencia osztály kiválasztott elemének a „határokon” lévő elemeket választjuk.  Nem csak a bemeneti, hanem a kimeneti ekvivalencia osztályt is figyelembe kell venni.

D INAMIKUS TESZTELÉSI MÓDSZEREK „F EHÉR DOBOZ ” MÓDSZER :  A tesztelést a programszöveg ismeretében végezzük.  A cél a program minél alaposabb tesztelése (kimerítő út tesztelés).  Az összes lehetséges utat végigjárjuk, azaz annyi tesztesetet hozunk létre, hogy ezt elérhessük.  Probléma: viszonylag kis programok esetén is nagy lehet a tesztelési utak száma (pl. a ciklusok miatt), illetve a hiányzó utakat nem lehet felderíteni.

D INAMIKUS TESZTELÉSI MÓDSZEREK „F EHÉR DOBOZ ” MÓDSZER : Utasítások egyszeri lefedésének elve.  A program-gráf csomópontjainak lefedése.  Olyan teszteseteket választunk ki, amelyek alapján minden utasítást legalább egyszer végrehajthatunk. Döntéslefedés elve.  A program-gráf éleinek lefedése.  Minden egyes elágazás ‘igaz’, illetve ‘hamis’ ágát legalább egyszer be kell járni a tesztelés során.

D INAMIKUS TESZTELÉSI MÓDSZEREK „F EHÉR DOBOZ ” MÓDSZER : Részfeltétel-lefedés elve.  Olyan teszteseteket kell készíteni, amelyhez a döntésekben szereplő minden részfeltételt legalább egyszer ‘hamis’, illetve legalább egyszer ‘igaz’ eredménnyel értékelünk ki. Speciális tesztesetek elve.  Az előző elvek mellett válasszunk az egyes utakhoz speciális teszteseteket is!

D INAMIKUS TESZTELÉSI MÓDSZEREK S PECIÁLIS TESZTEK : Elfogadhatósági teszt.  Annak vizsgálata, hogy a specifikáció ellentmondásmentes-e, tartalmaz-e hiányosságokat, stb. Funkció teszt.  Szerepel-e az összes funkció, amit meg akarunk valósítani?  A kívánt eredmények mindegyike megjelenik-e?

D INAMIKUS TESZTELÉSI MÓDSZEREK S PECIÁLIS TESZTEK : Biztonsági teszt.  A program ellenőrzi-e a felhasználótól kapott adatokat?  Hibás adatokkal meg lehet-e zavarni a működést? Stressz teszt.  Mi történik, ha az adatok nagy sebességgel érkeznek? Volumen teszt.  Mi történik, ha sok adatot kell kezelnie a programnak?

D INAMIKUS TESZTELÉSI MÓDSZEREK S PECIÁLIS TESZTEK : Hatékonysági teszt.  Megfelelő-e a végrehajtási idő, valamint a változók helyfoglalása? Modulteszt.  Az önálló modulok egyenkénti tesztelése a többitől függetlenül. Összeépítési teszt.  Az önálló modulok összeépítésének ellenőrzése.

K ÖSZÖNÖM A FIGYELMET ! 