21.01.2015 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!