Manuális tesztelés

A manuális tesztelés a szoftverek manuális tesztelésének folyamata a hibák feltárására. A tesztelőnek a végfelhasználó szerepét kell játszania, és az alkalmazás legtöbb funkcióját kell használnia a helyes viselkedés biztosítása érdekében. A tesztelés teljességének garantálása érdekében a tesztelő gyakran követ egy írásos teszttervet, amely végigvezeti a fontos teszteseteken.

Áttekintés szerkesztés

A folyamat egyik legfontosabb lépése a szoftver helyes viselkedésének tesztelése a végfelhasználók számára történő kiadást megelőzően.

Kis léptékű mérnöki erőfeszítéseknél (beleértve a prototípusokat) elegendő lehet a feltáró tesztelés. Ennél az informális megközelítésnél a tesztelő nem követ szigorú tesztelési eljárást, hanem inkább az alkalmazás felhasználói felületét vizsgálja meg a lehető legtöbb funkciót felhasználva, és a korábbi tesztek során szerzett információkat felhasználva intuitív módon további teszteket vezet le. A feltáró manuális tesztelés sikere nagymértékben függ a tesztelő szakértelmétől, mivel a tudás hiánya a tesztelés hiányosságaihoz vezet. Az informális megközelítés egyik legfontosabb előnye, hogy intuitív betekintést nyerhetünk abba, milyen érzés használni az alkalmazást.

A manuális szoftvertesztelésre támaszkodó nagyméretű mérnöki projektek szigorúbb módszertant követnek, hogy maximalizálják a fellelhető hibák számát. A szisztematikus megközelítés előre meghatározott tesztesetekre összpontosít, és általában a következő lépéseket foglalja magában:[1]

  • Kiválaszt egy magas szintű tesztelési tervet, amelyben kiválasztják az általános módszertant, meghatározzák és beszerzik az erőforrásokat, például az embereket, a számítógépeket és a szoftverlicenceket.
  • Részletes tesztesetek írása, a tesztelő által végrehajtandó világos és tömör lépések azonosítása, a várt eredményekkel együtt.
  • A tesztesetek kiosztása a tesztelőknek, akik manuálisan követik a lépéseket és rögzítik az eredményeket.
  • A tesztelők megállapításait részletező tesztelési jelentés készítése. A jelentést a menedzserek arra használják, hogy eldöntsék, kiadható-e a szoftver, és ha nem, akkor a mérnökök arra, hogy azonosítsák és kijavítsák a problémákat.

A szigorú, teszteseteken alapuló megközelítés gyakran hagyományos a vízesésmodellt[2] követő nagy szoftverfejlesztési projektek esetében. Legalább egy nemrégiben készült tanulmány azonban nem mutatott drámai különbséget a hibák felderítésének hatékonyságában a feltáró tesztelés és a teszteset-alapú tesztelés között.[3]

A tesztelés történhet fekete-, fehér- vagy szürkedobozos teszteléssel. A fehérdobozos tesztelés során a tesztelő a forráskódon keresztül az utasítások végrehajtásával foglalkozik. A feketedobozos tesztelés során a szoftver futtatása a hibák ellenőrzése céljából történik, és kevésbé foglalkozik azzal, hogy a bemenet feldolgozása hogyan történik. A fekete dobozos tesztelők nem férnek hozzá a forráskódhoz. A szürke dobozos tesztelés a szoftver futtatásával foglalkozik, miközben ismeri a forráskódot és az algoritmusokat.

Statikus és dinamikus tesztelési megközelítés is alkalmazható. A dinamikus tesztelés a szoftver futtatását foglalja magában. A statikus tesztelés magában foglalja a követelmények, a kód szintaxisának ellenőrzését és minden más olyan tevékenységet, amely nem foglalja magában a program kódjának tényleges futtatását.

A tesztelés tovább osztható funkcionális és nemfunkcionális tesztelésre. A funkcionális tesztelés során a tesztelő ellenőrzi a számításokat, az oldalon lévő bármely linket vagy bármely más mezőt, amely adott bemenet esetén kimenetet várhat. A nem funkcionális tesztelés többek között a tesztelt rendszer teljesítményének, kompatibilitásának és alkalmasságának, biztonságának és használhatóságának vizsgálatát foglalja magában.

Fázisok szerkesztés

Több szakasz létezik. Ezek a következők:

Unit tesztelés (Egységtesztelés)

A tesztelésnek ezt a kezdeti szakaszát általában a kódot író fejlesztő végzi, néha pedig egy kolléga a fehér dobozos tesztelési technikával.

Integrációs tesztelés

Ezt a szakaszt kétféleképpen végzik, teljes csomagként vagy a korábbi csomag kiegészítéseként. Legtöbbször fekete dobozos tesztelési technikát alkalmaznak. Néha azonban a fekete és fehér dobozos tesztelés kombinációját is alkalmazzák ebben a szakaszban.

Rendszertesztelés

Ebben a szakaszban a szoftvert minden lehetséges dimenzióból tesztelik az összes tervezett célra és platformra. Ebben a szakaszban általában fekete dobozos tesztelési technikát alkalmaznak.

Felhasználói elfogadási tesztelés

Ezt a tesztelési szakaszt a kész termék ügyfél általi jóváhagyása érdekében végzik. Az ebben a szakaszban elért "megfelelés" azt is biztosítja, hogy az ügyfél elfogadta a szoftvert, és az készen áll a használatra.

Kiadási vagy üzembe helyezési tesztelés

A helyszíni csapat az ügyfél helyszínére megy, hogy telepítse a rendszert az ügyfél által konfigurált környezetbe, és a következő pontokat ellenőrzi:

  • Fut-e a SetUp.exe vagy sem
  • Vannak-e egyszerű képernyők a telepítés során
  • Mennyi helyet foglal el a rendszer a HDD-n
  • Teljesen eltávolították-e a rendszert, amikor a rendszerből történő eltávolítás mellett döntöttek

A kézi tesztelés előnyei szerkesztés

  • Alacsony költségű működés, mivel nem használnak szoftvereszközöket
  • A legtöbb hibát kézi teszteléssel meg lehet találni
  • Az emberek jobban figyelnek és ítélnek, mint az automatizált eszközök

Összehasonlítás az automatizált teszteléssel szerkesztés

A teszt automatizálás képes lehet csökkenteni vagy megszüntetni a tényleges tesztelés költségeit. A számítógép gyorsabban képes követni a rutinszerű lépéssorozatot, mint egy ember, és képes a teszteket éjszakára lefuttatni, hogy reggelre bemutassa az eredményeket. A tényleges teszteléssel megtakarított munkaerőt azonban a tesztprogram felügyeletével kell tölteni. A tesztelendő alkalmazás típusától és a választott automatizálási eszközöktől függően ez több munkát igényelhet, mint a manuális megközelítés. Ezenkívül egyes tesztelési eszközök nagyon nagy mennyiségű adatot mutatnak be, ami potenciálisan időigényes feladatot jelenthet az eredmények értelmezésében.

Az olyan dolgokat, mint az eszközillesztők és a szoftverkönyvtárak, tesztprogramok segítségével kell tesztelni. Ezenkívül a nagyszámú felhasználó tesztelését (teljesítménytesztelés és terheléses tesztelés) jellemzően szoftverben szimulálják, nem pedig a gyakorlatban végzik el.

Ezzel szemben a gyakran változó elrendezésű grafikus felhasználói felületeket nagyon nehéz automatikusan tesztelni. Léteznek tesztelési keretrendszerek, amelyek a felhasználói felületek regressziós tesztelésére használhatók. Ezek a billentyűleütések és egérmozdulatok sorozatainak rögzítésére, majd ezek lejátszására és annak megfigyelésére épülnek, hogy a felhasználói felület minden alkalommal ugyanúgy reagál-e. Sajnos előfordulhat, hogy ezek a felvételek nem működnek megfelelően, ha egy gombot áthelyeznek vagy átcímkéznek egy későbbi kiadásban. Az automatikus regressziós tesztet is becsaphatja, ha a program kimenete jelentősen változik.

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a Manual testing című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

  1. ANSI/IEEE 829-1983 IEEE Standard for Software Test Documentation
  2. Craig, Rick David. Systematic Software Testing (2002). ISBN 1-58053-508-9 
  3. Juha Itkonen (2007). „Defect Detection Efficiency: Test Case Based vs. Exploratory Testing”. First International Symposium on Empirical Software Engineering and Measurement, 61–70. o. [2016. október 13-i dátummal az eredetiből archiválva]. (Hozzáférés: 2022. január 11.)