1 / 15

Tesztelés

Tesztelé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 .

boyce
Download Presentation

Tesztelés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tesztelés

  2. 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.

  3. 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.

  4. Statikus 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.

  5. Statikus 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.

  6. Dinamikus 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.

  7. Dinamikus tesztelési módszerek „Fekete 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.

  8. Dinamikus tesztelési módszerek „Fekete 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.

  9. Dinamikus tesztelési módszerek „Fehé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.

  10. Dinamikus tesztelési módszerek „Fehé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.

  11. Dinamikus tesztelési módszerek „Fehé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!

  12. Dinamikus tesztelési módszerek Speciá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?

  13. Dinamikus tesztelési módszerek Speciá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?

  14. Dinamikus tesztelési módszerek Speciá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.

  15. Köszönöm a figyelmet! 

More Related