Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Team Se@Msi: Meranie v softvérovom inžinierstve. - FIIT STU ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
58 Eseje<br />
naštudovať problém do istej hĺbky, aby bol schopný realizovať<br />
špecifikáciu. Otázkou je, do akej hĺbky sa dostal a či mu neunikli nejaké<br />
skryté súvislosti, ktoré nemuseli byť viditeľné na prvý pohľad. Na druhej<br />
strane, ak je testerom človek, ktorý má s danou problematikou už isté<br />
skúsenosti, je schopný takéto záludnosti včas odhaliť.<br />
Pekným príkladom je nasledujúca situácia. Pred časom som pracoval<br />
v istej firme, ktorá vyrába ovládacie zariadenia na tlačiarenské stroje. Ako<br />
pracovník vývoja som sa oboznámil s činnosťou tlačiarenského stroja<br />
a začali sme vyvíjať nový produkt. Program, ktorý točil motorčekmi<br />
ovládajúcimi prítlačné nože v požadovanom intervale. Spravil som<br />
program, ktorý bol funkčný a odovzdal som ho. Potom za mnou prišiel<br />
tester, že tento program by zničil celý stroj, lebo dva nože vedľa seba<br />
nemôžu mať posun väčší ako nejaké x. Nebolo to v špecifikácii pretože to<br />
bolo považované za samozrejmosť. Na jednej strane je to chyba<br />
špecifikácie, ale tá nie je skoro nikdy úplná ani jednoznačná, ale hlbšie<br />
znalosti testera o danej problematike zachránili stroj od prípadného<br />
zničenia. Takže, kto by mal testovať produkt Mal by to byť tester<br />
nezávislý od programátora a ak je to možné, mal by mať prehľad o oblasti<br />
činnosti, pre ktorú sa daný produkt vyvíja. Tester by mal byť schopný<br />
dostatočne pochopiť oblasť, v ktorej bude daný produkt aplikovať.<br />
Ako už s predchádzajúceho príkladu vyplýva, je rovnako dôležitá<br />
spolupráca medzi testerom a programátorom. Tester do istej miery môže<br />
ovplyvniť celkový vzhľad a činnosť produktu, hlavne ak má informácie čo<br />
sa v danej oblasti požaduje a čo zákazník očakáva. Najmarkantnejšia je<br />
táto schopnosť ovplyvniť produkt u produktov, kde je veľká konkurencia<br />
a kde o kúpe alebo nekúpe rozhoduje individuálny vkus používateľa.<br />
Typickým takýmto produktom sú počítačové hry. Pri ich testovaní často<br />
dochádza k prehodnoteniu jednotlivých postupov riešenia za účelom<br />
zvýšenia hrateľnosti.<br />
Tieto a iné vlastnosti požadované od testera jasne ukazujú, že<br />
testovanie nie je len rutinná činnosť, ale požaduje sa pri ňom aj<br />
inteligencia, iniciatíva je to skrátka tvorivá činnosť. Ako poznamenal<br />
James Bach ‚Je potrebné opraviť zažitú predstavu, že testovanie je len<br />
nejaký druh automatizovaného procesu [Bach99].<br />
Ako dlho má trvať testovanie<br />
V praxi sa stretávame s problémom, ktorý má podstatu v tom, že ako to<br />
správne vistihol pán F.P. Brooks: ‚Všetci programátori sú optimisti’<br />
[Brooks95]. Na základe prílišného optimizmu a taktiež nepostačujúcich,<br />
alebo lepšie povedané nedostatočne presných nástrojov na odhad času<br />
potrebného na vývoj, sa často vypracuje plán, ktorý sa nedá splniť. Aj keď<br />
existujú isté postupy riešiace túto situáciu (uvedené napríklad v<br />
[Brooks95]), predsa len sa to väčšinou končí tak, že keď nastane čas<br />
odovzdania zákazníkovi jednoducho sa zoberie to, čo je hotové a odovzdá<br />
sa produkt dostatočne neotestovaný. Potom sme svedkami vydávania<br />
opravných doplnkov tesne po uvedení do predaja v prípade generických