mit tanulunk ezen a poszton

a szoftvertesztelés a szoftver hibáinak ellenőrzése. Ez nemcsak a termék sikere szempontjából döntő fontosságú, hanem maga a fejlesztési folyamat szempontjából is. Ez azonban sok ember számára kihívást jelenthet, mivel a szoftvertesztelés más készségeket és technikákat igényel, mint a szoftverfejlesztés más területei, például a kódolás vagy az elemzés. Ez a cikk bemutatja, hogyan közelítjük meg a szoftvertesztelést a tesztelési stratégiánk összefüggésében, és hogyan követjük nyomon a teszt eredményeit.

Gondolkozott már azon, hogy szükség van-e a szoftver újbóli tesztelésére? Dehogynem! Mindannyian tudjuk, hogy a szoftverfejlesztés költsége magas lehet. Amit nem tudunk, az az, hogy milyen gyakran kell újra tesztelnünk a kódunkat, hogy megbizonyosodjunk arról, hogy továbbra is működik-e. Nos, ez a cikk elmagyarázza a szoftvertesztelés újbóli tesztelésének fogalmát, és néhány okot ad arra, hogy miért nem lehet olyan rossz ötlet a kód tesztelése minden kiadás után.

mi az újbóli tesztelés?

az Újratesztelés az a teljes folyamat, amikor valamit (ebben az esetben a szoftvert) újra tesztelnek, hogy megbizonyosodjanak arról, hogy minden a várt módon működik, és jó, ha egy alkalmazással vagy számítógépes rendszerrel kapcsolatos problémákat szeretne azonosítani. A szoftverfejlesztési ciklus során különböző módon használható, de gyakran a hibajavítás során a leghasznosabb.

a szoftver tesztelése minden kiadás után nagyon gyakori a szoftverfejlesztés világában. Ez azonban nem feltétlenül szükséges mindenki számára-különösen, ha egy kis projekten vagy egyszerű kódbázisokkal dolgozik. Végtére is, a legtöbb esetben meglehetősen egyszerű a hibák kijavítása és a meglévő funkciók javítása anélkül, hogy sok erőfeszítést igényelne: egyszerűen írjon új teszteseteket, amelyek igazolják az újonnan bevezetett funkciók helyes viselkedését, és győződjön meg róla, hogy átmennek!

előfordulhat azonban, hogy egyes tesztelési tevékenységek több időt igényelnek, mint az új tesztek megírása (sőt későbbi javítása). Ezek a helyzetek magukban foglalják a hibajavításokat, amelyeket egy olyan csapattag végez, aki még nem ismeri a kódbázist, vagy olyan új funkciókat, amelyek kiterjedt tesztelést és dokumentációt igényelnek.

Mikor Kell Újra Tesztelni?

tehát hogyan döntjük el, mikor van szükség újra tesztelésre? Először is, ez a projekt méretétől függ (és milyen elemeket érdemes tesztelni). Például: ha nagy termékcsaládja van több termék között, akkor az újbóli tesztelésnek a szokásos folyamat részét kell képeznie, mivel minden kiadás különböző módon befolyásolhatja a rendszer más részeit.

azt is vegye figyelembe, hogy minden hibajavítás további teszteket eredményez a fejlesztők által – ami azt jelenti, hogy több időt tölthetnek tesztesetek írásával, mint a hibák kijavításával. Emellett vannak olyan helyzetek, amikor még akkor is, ha magabiztos a kódbázisában, minden kiadás után újra meg kell vizsgálni a rendszer egyes részeit.

például: az új funkciók inkonzisztenciákat és váratlan viselkedéseket okozhatnak, amelyeket először nehéz felismerni, hacsak nem válnak nyilvánvalóvá a tesztelés során vagy a felhasználók visszajelzésein (és ez a minőségbiztosítási folyamat rendszeres része). Fontolja meg azokat az eseteket is, amikor a tesztautomatizálást még nem hajtották végre – ezek a tesztek csak akkor mutatják meg a problémákat, ha további erőfeszítéseket tesznek arra, hogy újra átadják őket!

ilyen helyzetekben jó ötlet az újonnan bevezetett hibákkal kapcsolatos szkepticizmus fenntartása – miért bízzunk a kódbázisunkban, ha már bebizonyosodott, hogy a tesztelés megbízhatatlan lehet?

legjobb gyakorlatok ha újra teszteli

most mi a legjobb gyakorlat, amikor eldönti, hogy újra teszteli-e, és hogyan teszi ezt?

íme néhány irányelv:

  • minden alkalommal, amikor hibajavítást hajt végre, adjon meg elegendő információt arról a helyzetről, ahol a problémát bevezették, hogy az emberek képesek legyenek reprodukálni és újra tesztelni. Ha a minőségbiztosítási csapatod több mint egy szempárral dolgozik egy problémán, gyakran gyorsabban tudják ezt megtenni, mint a fejlesztés (sőt, ne felejtsük el, hogy a fejlesztőknek saját felelősségük van – ami a legfontosabb, hogy tanuljanak a hibákból és kijavítsák a hibákat). Is, nézd meg a támogatási fórumokat olyan időkben, amikor kevesebb dolog történik bennük.
  • új vagy régi funkciók fejlesztésekor győződjön meg arról, hogy az összes teszt átment a kiadás előtt, készen áll a QA csapat tesztelésére. Ha nem – kérje meg a minőségbiztosítási csapatát, hogy tesztelje őket, és ellenőrizze, hogy a hibákat kijavították-e, ne feledje, hogy annak ellenére, hogy Ön is kijavíthatja a hibát (automatizált tesztekkel vagy kézi teszteléssel), mindig van némi esély arra, hogy hibákat kövessen el.
  • egy meglévő szolgáltatás új verziójának fejlesztésekor próbáljon meg minél több regressziós tesztet beépíteni a kódbázisába – ez legalább csökkenti a regressziók rögzítésével kapcsolatos kockázatokat, amelyeket a tetején lévő egyéb funkciók fejlesztése során végrehajtott változtatások okoznak.
  • a termék bétaverziójának kiadásakor győződjön meg arról, hogy a termék teljesen működőképes, és hogy minden hibát kijavítottak (ez különösen fontos az új funkció fejlesztése vagy tesztelése során végzett hibajavításoknál).
  • a stabil verziók kiadásakor győződjön meg arról, hogy az összes hibát kijavították. Ez különösen fontos a kiadott funkció tetején lévő egyéb funkciók fejlesztése során végrehajtott hibajavításoknál – ha nem szerepelnek a megfelelő kiadásokban, akkor amikor az emberek megpróbálják használni ezeket az új verziókat, akkor a változások által okozott problémákkal szembesülhetnek. Ha még mindig vannak fennmaradó problémák, győződjön meg róla, hogy a lehető leghamarabb kijavítják őket.

Újratesztelés vs regressziós tesztelés

először is, az újratesztelés és a regressziós tesztelés mindkét típusú szoftverérvényesítés, amelyet a fejlesztési folyamat során elvégezhet. Ők nem ugyanaz, bár: újratesztelés történik a végén egy adott szakaszában a munka, gyakran, ha van egy működő termék, de meg kell győződnie arról, hogy még mindig nem tele hibákat vagy hibákat a korai tesztelés. A regressziós tesztelés egyfajta szoftverellenőrzés, amelyet a fejlesztési folyamat különböző pontjain végeznek annak érdekében, hogy a kód bizonyos aspektusai megfelelően működjenek.

egyes esetekben az újbóli tesztelés egyszerűen elvégezhető a korábbi vizsgálati eredmények vagy jelentések elolvasásával,és az esetleges problémák ellenőrzésével. Ha még alaposabb eredményeket szeretne, egyenként ellenőrizheti a korábbi kérdéseket, hogy megbizonyosodjon arról, hogy gondoskodtak-e róluk. Az informatikai tesztelő akár olyan messzire is eljuthat, hogy tesztelje a szoftver olyan részeit, amelyeket korábban soha nem teszteltek.

más helyzetekben a regressziós tesztelés elvégezhető egy tesztterv elkészítésével, amelyet az alkalmazás minden verzióján vagy frissítésén futtatnak, kezdve a legújabbal. Ily módon meggyőződhet arról, hogy az alkalmazás minden változását megfelelően tesztelik.

egy szó a duplikált tesztelésről az ismételt teszteléssel együtt jár a duplikált tesztelés lehetősége. Ez akkor fordul elő, ha valaki teszteli a szoftver egyik elemét, és problémát talál vele, de akkor semmi sem történik annak kijavítására vagy annak biztosítására, hogy ne történjen meg újra. Annak érdekében, hogy ez ne történjen meg, létrehozhat egy adatbázist vagy ellenőrzőlistát az előzetes tesztelés során felmerülő problémákról, hogy a tesztelők könnyen használhassák azt az ismétlődő tesztelés elkerülése érdekében.

jó ötlet, ha minden szoftverterméknél van valamilyen dokumentáció; ha az emberek régebbi termékeket tesztelnek újra, megkérheti őket, hogy nézzék át az eredeti dokumentációt, és frissítsék az esetleges változásokkal.

az újratesztelés egyik legfontosabb szempontja annak nyomon követése, hogy mik voltak a problémák, hogyan találták meg őket, és mit tettek azok kijavítására. Ha egy problémát nem oldanak meg, hanem új problémákat hoznak létre egy másik probléma kijavításával, akkor Önnek vagy csapatának nehéz lesz megtudnia, mi történt rosszul.

bár az újbóli tesztelés időigényes lehet, nagyon fontos része a szoftverellenőrzésnek, és különösen hasznos, ha más tesztelési technikákkal együtt használják. Mindaddig, amíg az újratesztelés során talált problémák megoldódnak, folytathatja a régebbi termékek újbóli tesztelését, hogy megbizonyosodjon arról, hogy legújabb munkája nem okozott-e problémákat.