Szoftver minőségbiztosítási útmutató

Minőségbiztosítás

A minőségbiztosítás (közismert nevén minőségbiztosítás) az az eszköz, amellyel egy fejlesztés alatt álló terméket ellenőriznek, hogy megbizonyosodjanak arról, hogy megfelelően működik. A minőségbiztosítási folyamatokban alkalmazott tényleges módszerek nagymértékben változnak a termék méretétől és jellegétől függően.

Egy személyes projektnél valószínűleg csak tesztel majd, miközben másokat kér, hogy adjon visszajelzést a megfelelő szakaszokban. Ezzel szemben a banki alkalmazásnak minden funkció minden aspektusát kimerítően ellenőriznie és dokumentálnia kell, hogy működőképes és biztonságos legyen.

Függetlenül attól, hogy a minőségbiztosítási folyamat mennyire formális vagy részletes, célja a hibák azonosítása, hogy azok a termék megjelenése előtt megoldhatók legyenek.

Módszertanok

Agilis

A fejlesztés agilis megközelítésében az a cél, hogy minden munkaciklus („sprint”) olyan működő szoftvert állítson elő, amely iteratív módon hozzáadható és javítható. Ez a minőségbiztosítási folyamatokat a fejlesztési ciklus belső részévé teszi.

A szoftverkomponensek gyártásának minden szakaszában történő tesztelésével csökkentheti annak kockázatát, hogy a hibák megjelenésekor jelen legyenek.

Terminológia

Automatizálás tesztelése

A tesztelés előre megírt szkriptekkel történik, amelyek célja a tesztek végrehajtásának ellenőrzése.

Fekete doboz

Ezek a tesztek nem a vizsgált rendszer belsejébe néznek, hanem ugyanúgy „zártként” kezelik, ahogyan a végfelhasználó is megtapasztalja.

Disszidál

Bármely eltérés az alkalmazás specifikációitól; gyakran „hibának” nevezik.

Feltáró tesztelés

A tesztelés le nem írt megközelítése, amely a tesztelő egyedülálló kreativitására támaszkodik az ismeretlen hibák felkutatása és a regressziók azonosítása érdekében.

Integrációs tesztelés

Az egyes alkatrészek / modulok együttes tesztelése annak biztosítása érdekében, hogy jól kapcsolódjanak és kölcsönhatásba lépjenek egymással.

Negatív Path Testing

Tesztelési forgatókönyv, amelynek célja egy szolgáltatás / alkalmazás hibahelyzetének előállítása és annak ellenőrzése, hogy a hibát kecsesen kezelik-e. Erre példa: egy sorszám beírása a felhasználói regisztrációs űrlap e-mail mezőjébe, és annak ellenőrzése, hogy a regisztrációt nem fogadják el, amíg meg nem adják a tényleges e-mail címet.

Regressziós teszt

A tesztelés új builden történt annak biztosítására, hogy az új funkcionalitás véletlenül ne törje meg a korábban tesztelt funkcionalitást.

Füstvizsgálatok

Minimalista megközelítés a tesztelésre, amelynek célja az alapvető funkcionalitás biztosítása, még mielőtt az alaposabb tesztelésre sor kerülne. Jellemzően a tesztelési folyamat elején fordul elő.

Próbaper

Meghatározott előfeltételek, lépések és várható eredmények, amelyekre egy minőségbiztosítási tesztelő / mérnök hivatkozik annak megállapítására, hogy egy funkció a várt módon teljesíti-e a feladatát.

Fehér doboz

Strukturális szinten, a kódalapon belül végzett tesztekre utal. A programozók azt ellenőrzik, hogy az egyes funkciók vagy összetevők bemenete és kimenete fehér dobozos tesztelés lenne-e.

Más néven „Üvegdoboz”, „Tiszta doboz”, „Átlátszó doboz”, mert a tesztelő „belenéz” a tesztelt rendszerbe.

Fő kategóriák:

  • Egységtesztek (az egyes kódegységek megteszik, amit kell)
  • Integrációs tesztek (az egységek / alkatrészek megfelelően működnek egymással)
  • Regressziós tesztek (a teszt későbbi szakaszaiban történő újbóli alkalmazás annak biztosítása érdekében, hogy továbbra is működjenek)

Három fő technika létezik:

  • Ekvivalencia particionálás (a tesztelt bemeneti értékek reprezentálják a nagyobb bemeneti adatkészleteket)
  • Határérték elemzés (a rendszert kiválasztott bemenetekkel tesztelik, ahol a viselkedésnek és ezért a kimenetnek meg kell változnia)
  • Ok-okozati grafikon (a teszteket az input-output kapcsolatok vizualizációjából tervezik)

Egyéb források

  • Hogyan kell megírni a ténylegesen működő minőségbiztosítási dokumentációt?
  • Tesztvezérelt fejlesztés
  • Egységvizsgálatok