A közelmúltban Budapesten tartott tanfolyamot a Magyar Szoftvertesztelői Tanács szervezésében Rex Black, a szoftvertesztelés nemzetközi szaktekintélye, az RBCS alapító vezérigazgatója, az International Software Testing Qualifications Board (röviden ISTQB) akkreditált oktatója. Ennek alkalmából kérdeztük a teszteléssel kapcsolatos főbb dilemmákról.
Computerworld: Óriási nyomás nehezedik a fejlesztőkre: a vezetők türelmetlenek, a lehető leggyorsabban működésben akarják látni azokat a megoldásokat, amelyek segíthetik az üzleti tevékenységet. Mennyire nehezíti meg e körülmény azok dolgát, akik a megoldások minőségéért felelnek?
Rex Black: Ha egy mobilappról van szó, például egy éttermekről tájékoztató alkalmazásról, és egy újabb funkció beépítése válik szükségessé, akkor az ilyen információs app esetében az új funkció beépítésének sebességén van a hangsúly. Ha pedig egészségügyi eszközről van szó, például egy pacemakerrel kapcsolatos informatikai megoldásról, a hangsúly remélhetőleg nem az új funkció elkészülésének gyorsaságán lesz. Vannak is szabályozások az egészségügyben erre vonatkozóan, bár szerintem nem annyira szigorúak, mint amennyire lehetnének. Szervezetről szervezetre változhat az, ahogyan a menedzsment a tesztelésre tekint. Azok a vállalatok, amelyek nemigen tudják áthárítani másokra az informatikai rendszerek hibáiból eredő károkat, mint például a bankok vagy a logisztikai vállalatok, nagyon komolyan veszik a tesztelést. Azok kevésbé, amelyeknek lehetőségük van másokra hárítani a károk következményeit.
Rex Black, az ASTQB igazgatótanácsának tagja
CW: Amikor tesztelésről beszélünk, ön mit ért alatta? A tesztelés rendkívül tágan is értelmezhető, hiszen tesztelésnek mondhatjuk azt, amit most teszünk, amikor ebédelünk és teszteljük e szálloda konyháját, de tesztelés lehet az is, amikor kerékpározunk, és vizsgáljuk, miként működik a bringa, és természetesen a szoftvereket és a hardvereket is tesztelik. Önnek mi a szakterülete?
RB: Vállalkozásom szoftverteszteléssel és hardvert is tartalmazó rendszerek tesztelésével is foglalkozik az ügyfeleknél. A tesztelésnek természetesen megvannak a határai, azonban én nem szűkíteném le a dolgot a szoftvertesztelésre. A szoftver viszont igen furcsán tud viselkedni, egy apró hiányosság is rendszerszintű következményekkel járhat.
CW: Az üzleti vezetők elvárják a fejlesztőktől, hogy a megoldások gyorsan készüljenek el. Mi lehet a tesztelői válasz e kihívásra?
RB: A tipikus válasz erre az automatizálás, ami kétségkívül képes válaszokat adni, tehát igazolhatja, hogy a rendszer azt teszi, amit az elején megmondtunk, hogy tenni fog az előzetes kívánalmak szerint, arra azonban képtelen, hogy megállapítsa, a felhasználó elégedett-e, szereti-e a megoldást.
CW: Mit gondol, mikor kell a tesztelőket bevonni a fejlesztési folyamatba? Mikor mondható tökéletesnek ennek az időzítése?
RB: Rögtön az elején, akkor, amikor az igényeket felmérik, amikor a tervezés folyik. Különféle statisztikák ismertek, amelyekből sokféle következtetést lehet levonni, de az bizonyos, hogy az igényfelmérés és tervezés során keletkezik a hibák 45-50 százaléka.
CW: Vannak olyan vezetők, akik szerint minél később kerül sor a tesztelésre, annál jobb.
RB: Klasszikusan rossz megközelítés, amikor felelős vezetők azt gondolják, hogy a tesztelők arra valók, hogy igazolják: a rendszer azt teszi, amit mondtunk, hogy tenni fog. Azt várják el a tesztelőktől, hogy mondják ki, minden a legnagyobb rendben működik, ám gyakran az az igazság, hogy nem minden működik hibátlanul. Minél hamarabb vonják be a tesztelőket a fejlesztés folyamatába, annál kevesebb lesz a hiba, és annál olcsóbb lesz a kijavításuk.
CW: A szoftverfejlesztésnél maradva, érdekes kérdés, vajon lehet-e, és ha igen, akkor hogyan lehet tesztelni egy szoftver architektúráját?
RB: Az architektúra sok mindent jelenthet, a kifejezést lehet igen lazán is értelmezni. Nagyon általánosan azt mondhatjuk, hogy az architektúra leírja, hogy a rendszerben az egyes elemek hogyan illeszkednek egymáshoz. Válaszolva a kérdésére, lehet az architektúrát tesztelni statikusan, lehet szimulációval, modellek alkalmazásával például hálózatokban tesztelhetjük a működést és a skálázhatóságot, a megbízhatóságot, beleértve az IT-biztonságot is.
CW: Ön a tesztelés széles területén itt és most a minősítési szegmenset képviseli, mégpedig az International Software Testing Qualifications Boardot. E szerepében kérdezem: mit tekintenek küldetésüknek? Miként lehetnek hatással a tesztelés világára?
RB: Küldetésünk az, hogy emeljük a tesztelésben résztvevő szakemberek szaktudását és képzettségét. Segítünk a szakembereknek, hogy tisztában legyenek azzal, hogy a pályafutásuk adott szakaszában, abban a pozícióban, amelyben éppen vannak, milyen tudással kell rendelkezniük, a vizsgákkal pedig segítünk nekik lemérni, hogy rendelkeznek-e a szükséges ismeretekkel. Nem állítjuk, hogy minden nálunk minősítést szerzett tesztelő tökéletesen végzi el a feladatát, de azt bizton állíthatom, hogy összességében a tudásszintet feljebb tolva és meghatározva a különféle pozíciókhoz tartozó minimumszinteket a tesztelés minőségének javulásához járulunk hozzá világszerte.
CW: Járva a világot, sok nemzet tesztelőivel van alkalma megismerkedni. Milyennek találja a magyar szakembereket?
RB: Nem rendelkezem szélesnek mondható kapcsolatokkal itt, nem vagyok benne itt projektekben, csupán a képzéseinken találkozom a helyi szakemberekkel. Ami a statisztikákat illeti, azt látom, hogy ha a szerzett minősítések számát az országok lakosságához vagy GDP-jéhez viszonyítjuk, Magyarország kiugró számokat produkál.
REX BLACK, A SZOFTVERMINŐSÉG PRÓKÁTORA
Szoftvermérnök, vállalkozó és számos szakkönyv szerzője a szoftvertesztelés területén. 1983-ban kezdett a szoftveriparban dolgozni, az UCLA-n 1990-ben szerzett bachelor diplomát számítógép-tudományokban. Alapítója és vezérigazgatója az RBCS szoftvertesztelési tréningeket tartó és tanácsadó cégnek. A szoftverminőség nemzetközileg ismert prókátora, aki 2005 áprilisától 2009 áprilisáig az International Software Testing Qualifications Board (ISTQB) elnökeként szolgálta a világ szoftvertesztelő társadalmát, jelenleg az egyesült államokbeli szervezet (ASTQB) igazgatótanácsának tagja.
ISTQB, HTB
A Hungarian Testing Board, vagyis a Magyar Szoftvertesztelői Tanács egyesület már tíz éve az ISTQB hazai képviselője, önkéntesekből álló, non-for-profit egyesület, amely a magyar tesztelői szakma képviseletét, összefogását és képzését tűzte ki céljául. Magyarországon az ISTQB, az IREB és a TMMi vizsgáztatás fő központja, e bizonyítványok kiállítója. Mindemellett aktívan építi a szakmai közösséget négy városban megrendezett meetup-sorozatával (Teszt és Tea), illetve HUSTEF elnevezésű, nemzetközileg is elismert háromnapos konferenciájával.