Szoftvertesztelés
A Wikipédiából, a szabad enciklopédiából.
A szoftvertesztelés (angol: software testing) a szoftverminőség-biztosítás (angol: SQA, Software Quality Assurance) és így a szoftverfejlesztés (angol: software development) részét képezi. A tesztelés egy rendszer vagy program kontrollált körülmények melletti futtatása, és az eredmények kiértékelése. A hagyományos megközelítés szerint a tesztelés célja az, hogy a fejlesztés során létrejövő hibákat minél korábban felfedezze, és ezzel csökkentse azok kijavításának költségeit.
Jelenleg a tesztelői munka egyre inkább eltolódik a fejlesztők és a döntéshozók információkkal való támogatásának irányába. Fontos szerepek még a fejlesztés állapotának pontos és egzakt mérése (angol: software metrics), és a kockázatkezelés és -becslés (angol: risk management and assesment). Különösen így van ez az Agile Programming projektek esetén, ahol klasszikus tesztelésről a specifikáció hiánya miatt nem beszélhetünk.
Tartalomjegyzék |
[szerkesztés] Bevezetés a szoftvertesztelésbe
[szerkesztés] A szoftvertesztelés definíciói
[szerkesztés] A szoftverminőség definíciói
- Felhasználói szemszög: "Alkalmasság a felhasználó által szánt célra."
- Programozói szemszög: "Egyezés a specifikációval."
- Tulajdonosi szemszög: "A minőség attól függ, miért fizet a vevő."
[szerkesztés] A szoftvertesztelés célja
A klasszikus szoftvertesztelés célja a szoftverhibák felfedezése (angol: failure, fault). A fejlesztésnek minél korábbi szakaszában derül fény egy hibára, annál olcsóbb annak korrigálása. Újabb keletű elvárás a szoftverminőség mérése (angol: software metrics). Főleg az Agile Programming módszertanával futó projektek esetén a tesztelés a kockázatok becslését és menedzselését (angol: risk assesment and management) is magába foglalja.
[szerkesztés] A szoftvertesztelés alapfogalmai
A tesztelési folyamat ezen egyszerűsített modelljében a megrendelő (angol: business) felállítja a szoftverrel szemben támasztott elvárásait (angol: business requirement). Ezen elvárásokat a megrendelő megbízottja (angol: business analyst, BA) tolmácsolja a fejlesztők (angol: developers) felé a fejlesztő csapat vezető programozójának (angol: architect) műszaki segítségével. Ezen munka eredménye a megvalósíthatósági tanulmány (angol: feasibility study), mely az adott üzleti problémára javasol műszaki megoldásokat.
A létrejövő programot elkészültekor fejlesztők átadják (angol: handover) a tesztelő csapatnak (angol: testing team). Az átadásban segíthet az tesztkörnyezet felállításáért felelős csapat (angol: environment team) és az új szoftver régi környezethez illesztéséért felelős csapat (angol: integration team). Az átadás része a funkcionális specifikáció (angol: functional specification, FUS) és a technikai specifikáció (angol: technical specification, TES). Black-box testing-hez és a megrendelő elvárásainak teljesülését ellenőrző teszteléshez (angol: User Acceptance Testing) elegendő a FUS, white- és grey-box system testing-hez szükséges a TES is.
A tesztelő csapat az átadott dokumentáció alapján elkészíti a tesztelési tervezetet (angol: test plan), valamint becslést (angol: estimation) ad a tesztelés idő- és munkaerőigényéről. Ezek elfogadása esetén létrehozza a teszt szkripteket, (angol: test script) melyek az adott és elvárt mértékben fedik le (angol: test coverage) a tesztelendő funkcionalitásokat. A teszt szkriptek vagy más néven teszt esetek (angol: test case) összessége a test suite, ezek összessége a tesztkampány (angol: test campaign).
[szerkesztés] A szoftvertesztelés története
[szerkesztés] A szoftvertesztelés gyakorlata
[szerkesztés] A szoftvertesztelés módszertani felosztása
[szerkesztés] A szoftvertesztelés szintjei
[szerkesztés] A kockázat és kezelése
A kockázat (angol: risk) a veszteség valószínűsége, és ennek mértéke. A kockázatkezelés (angol: risk management)a kockázati tényezők azonosítása, besorolása, priorizálása, és életciklusuk követése.
[szerkesztés] Lásd még
[szerkesztés] Források
[szerkesztés] Külső hivatkozások
Angolul:
Magyarul