KAŽDÝ ROBÍ CHYBY...PRETO MÁME TESTEROV

Similar documents
AKO ČELIŤ NÁSTRAHÁM V MENŠÍCH PROJEKTOCH

Zvolenie vhodných podporných prostriedkov pre riadenie softvérového projektu

Dynamický proces vytvárania matice zodpovednosti

VYUŽITEĽNOSŤ PLÁNOVANIA V MALÝCH PROJEKTOCH

Aplikovanie koncepcie spoločenskej zodpovednosti firiem v praxi a porovnanie vybraných firiem

KEDY PODPOROVAŤ ĽUDSKÉ ZDROJE

Etický kódex Náš spôsob práce 3. vydanie

Koho trápi kvalita v projektoch? Peter Varga, MyGoodProject.com

Prieskum stavu informačnej bez pečnosti vo verejnej správe v Slovenskej republike

Reporting v Power BI, PowerPivot a jazyk DAX

Ronald Nelson: Recept na úspech? Zaobchádzať s ľuďmi s rešpektom. Recipe for success? Treat people with respect.

NEWS. family news NOVINKY. Trochu iný pohľad na rodinný deň Different perspective on Family Day

Databázové systémy. Dátové modelovanie

Kössler... mení vodu na energiu. A Voith and Siemens Company PPT-Anleitung Uwe Gobbers

Politika spoločnosti BlackBerry v oblasti ochrany osobných údajov

KOMUNIKÁCIA SO ZÁKAZNÍKOM A JEJ VÝZNAM PRI PREDAJI PRODUKTOV V KONTEXTE SPOKOJNOSTI ZÁKAZNÍKA

ZOBRAZENIE MRAVNÉHO SUBJEKTU V DIELE JONATHANA SWIFTA

marec 2017 GDPR ČO BUDE PRE VÁŠ BIZNIS ZNAMENAŤ NOVÉ NARIADENIE NA OCHRANU OSOBNÝCH ÚDAJOV? Viac informácií na tému GDPR sifrovanie.eset.

ekonomika>>> 40>

Edícia ISBN

VIRTUÁLNY PROJEKTOVÝ MANAGEMENT

Kia family september / September

Alternatívne palivá / Alternative fuels

Štruktúra používateľskej základne sociálnej siete Facebook

leaseplan magazín SK ročník 5 leto rokov LeasePlanu 33 CallCentrum vám uľahčia život

VYUŽITIE MOTIVAČNÍCH NÁSTROJOV V LETISKOVEJ SPOLOČNOSTI

Astronomické projekty na internete a ich využitie vo vyučovaní fyziky a prírodovedných predmetov

Výročná správa NESS Slovensko, a.s.

Filozofické a etické vymedzenie konceptov zdravia a choroby

EURÓPA PRE OBČANOV PREVÁDZKOVÉ GRANTY

POWERSHIFT DIFFERENTIAL TRANSMISSION WITH THREE FLOWS OF POWER

Sales Brochure +44 (0) Quality in Every Language +44 (0)

spektrum Vysoko presné rezanie laserom

Road Data &Services. Projekt EuroGeographics Road Data & Services 1

VYUŽITÍ PREDIKTIVNÍHO MODELOVÁNÍ PRO DETEKCI ÚNAVY ŘIDIČE UTILIZATION PREDICTIVE SIMULATION FOR DETECTION REACTION OF DRIVER

WELLSTAR MARKETINGOVÝ PLÁN TÉMY

leaseplan magazín SK ročník 6 LeTO Podrobná analýza Cash Allowance versus operatívny leasing 15. výročná LeasePlan párty Bezchybná

Grundfos Blueflux Pokročilá technológia motora, ktorá znižuje spotrebu energie čerpadiel

Normy obchodného správania. Prísľub zlatých oblúkov

Lightweight Casters Design for Ambulatory Transportation Technology

Nové Daily Euro 6, podnikateľský inštinkt: ten najlepší partner pre rozvoj dopravy s revolučnou aplikáciou DAILY BUSINESS UP

Analýza rizik vybraného start-up projektu. Matúš Bohunický

Analytické chemické meranie, skúšobníctvo a riadenie kvality

PRESKÚMANIE MANAŽMENTOM

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

Hrozné zlo a jeho dopad na kresťanské chápanie Boha (Konferencia Olomouc) Lubos Rojka

MLÁDEŽ V AKCII

COMPANY CHEMOSVIT BTS CHEMOSVIT

Kódex správania. Záväzok integrity: pre zamestnancov spoločnosti Air Products a jej pridružených spoločností

CELOSVETOVÝ KÓDEX SPRÁVANIA ZAMESTNANCOV A FIREMNÉHO SPRÁVANIA

Fakulta Matematiky, Fyziky a Informatiky. Univerzity Komenského. Bratislava

20 ROKOV TECHNOLÓGIÍ TEMPEST

K svojmu heslu sa správajte ako k zubnej kefke. S nikým ho nezdieľajte a každých 6 mesiacov vymeňte za nové.

CONVATEC ZÁSADY OCHRANY OSOBNÝCH ÚDAJOV 11. máj 2018

Vyhlásenie o ochrane súkromia a používania súborov cookies

Sú to vaše údaje prevezmite kontrolu

500 NA JPOUŽÍVANEJŠÍCH ANGLICKÝCH SLOV

handcarwash&detailingcafé

Poznámky k formuláru žiadosti o konverziu

Smart Solutions. Powerful Products. PNEUMATIC ACTUATOR SERIES 227

Declaration of Conformity

Zhodnotenie relevantnosti cieľov Operačného programu Výskum a vývoj z hľadiska ich plnenia

Kia Family News. november / November číslo issue 22. Magentis získal najvyššie hodnotenie za bezpečnosť Magentis earns the highest safety rating

Pri reprodukcii časti textu je potrebné uviesť okrem organizácie aj názov štúdie. Za poskytnuté údaje ďakujeme Ministerstvu financií SR.

ZÁSADY OCHRANY OSOBNÝCH ÚDAJOV A POUŽÍVANIA COOKIES

Bakalárska štátna skúška Manažment verejnej správy platné od AR 2017/2018. Tézy k predmetu Štátna skúška z manažérskeho fungovania verejnej politiky

TECHNICAL AND ORGANIZATIONAL ASSUMPTIONS FOR MODULAR PLATFORM TO DECONTAMINATION

Osobný rast a príbuzné pojmy

Európa pre občanov programová príručka verzia platná od roku 2014

Efektívne pou itie údajov centrálnych registrov v informačných systémoch.

24h komfortnej jazdy s

metallurgy power industry mechanical engineering chemical industry paper industry smart software solutions Company presentation

Pripojenie k Operačnej konzole

TECHNICKÉ ODPORÚČANIA RENAULT TRUCKS PRE AUTORIZOVANÝCH PREDAJCOV A SERVISY (2012)

ZÚČASTNENIE SA V HRE A PRAVIDLÁ HRY.

Australian owned and manufactured. Australian Made and Manufactured

Počítačové simulácie v procese vývoja brzdového strmeňa

V prípade, že sa potrebujete na nás obrátiť v priebehu spracovania údajov, môžete tak urobiť om:

Nové trendy a smery vo vývoji akumulátorov pre elektromobily

Výročná správa. Allianz - Slovenská poisťovňa, a.s.

Termíny otvorených kurzov v roku 2018

Výročná správa Annual report. Slovak Hygienic Paper Group

KONCEPTUÁLNA ANALÝZA V ANALYTICKEJ FILOZOFII

leaseplan magazín SK ročník 5 zima mýtov o operatívnom leasingu 16 Operatívny leasing aj pre segment SME

Príručka pre žiadateľov 2. výzva na predkladanie návrhov

RIADENIE TECHNOLOGICKÝCH PROCESOV

VÝROČNÁ SPRÁVA ANNUAL REPORT. Výročná správa 2014

Odmeňovanie zamestnancov kapitálovou účasťou v akciovej spoločnosti

Zásady ochrany osobných údajov služby InControl Posledná aktualizácia: 25. máj 2018

Univ. prof. ThDr. ALEXANDER SPESZ KATOLÍCKA MRAVOUKA VYDAL SPOLOK SV. VOJTECHA V TRNAVE

Všeobecné obchodné podmienky pre sprostredkovanie predaja leteniek Cestovnej kancelárie TUI ReiseCenter Slovensko s.r.o.

SÚHLAS SO SPRACOVANÍM OSOBNÝCH ÚDAJOV.

DETERMINANTY ROZVOJA BYTOVÉHO TRHU NA SLOVENSKU PO ROKU 2000

SK Predvstupová pomoc EÚ pre Turecko: doteraz len skromné výsledky. Osobitná správa. (podľa článku 287 ods. 4 druhého pododseku ZFEÚ)

ako utvarat a posilnovat komunitu

WELLSTAR MARKETINGOVÝ PLÁN TÉMY

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE FAKULTA SOCIÁLNYCH VIED A ZDRAVOTNÍCTVA BAKALÁRSKA PRÁCA Ján Debnár

SLOVENSKÁ HOLSTEINSKÁ ASOCIÁCIA. miniinfo. apríl 2018

Populačný vývoj v Slovenskej republike

DOPRAVNÝ SYSTÉM AIO 1 1/2017

Transcription:

KAŽDÝ ROBÍ CHYBY...PRETO MÁME TESTEROV Priatelia sa neboja poukázať na svoje chyby. Adam Pomothy Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava adam.pomothy[zavináč]gmail[.]com Abstrakt. Testeri sa často považujú za jednorazových a dočasných zamestnancov, ktorým sa dajú k dispozícii len testovacie scenáre a pravidlá, ako hlásiť nájdené chyby. V skutočnosti ale tvoria rovnocenných partnerov vývojárskeho tímu so spoločným cieľom doručiť zákazníkovi kvalitný produkt. Pre tieto dva tímy je najdôležitejšia vzájomná komunikácia. Keď sa však pre každý projekt najímajú noví testeri, ktorí nemajú s vývojármi žiadny vzťah a sú v úplne neznámom kolektíve, je táto komunikácia veľmi formálna a neefektívna. Preto je dôležité mať statický tím testerov, rovnako ako to býva v prípade vývojárov. Dobré vzťahy a kolegialita majú za následok výrazné zlepšenie spolupráce. Na dosiahnutie čo najlepšej komunikácie medzi tímom vývojárov a testerov je tiež dôležité zvoliť vedúce osobnosti oboch tímov, ktoré budú koordinovať ostaných členov tímu, budú mať prehľad o aktuálnom dianí v tíme a komunikovať s okolitým svetom v mene celého tímu. Kľúčové slová: testovanie, vývoj, vzťahy, spolupráca, komunikácia, zodpovednosti Úvod Softvér je produkt ako každý iný je to výsledok snahy viacerých ľudí. V prípade softvéru to zahŕňa softvérových architektov, inžinierov, analytikov alebo vývojárov, pričom celý proces vývoja môže trvať aj roky. Cieľ tejto snahy je jasný zisk. Ten je možné dosiahnuť (z dlhodobého hľadiska) len ak je zákazník spokojný. Zákazník je spokojný, ak je produkt, Manažment projektov softvérových a informačných systémov, 2011, s. 1-5

2 Adam Pomothy ktorý si objednal/kúpil kvalitný. Inými slovami cieľom celého vývoja softvéru je doručiť zákazníkovi kvalitný softvér. Čo je to vlastne tá kvalita a ako sa dá dosiahnuť? Kvalita výrobku označuje, do akej miery daný výrobok spĺňa požiadavky zákazníka. V svete softvéru má na kvalitu vplyv viac faktorov. Jedným z najdôležitejších je testovanie softvéru. Je veľmi dôležité zvoliť vhodnú metódu testovania pre daný produkt, určiť kto, čo a kedy bude testovať. No je tu ešte jeden faktor, o ktorom sa príliš nediskutuje komunikácia medzi vývojármi a testovacím tímom. Nevhodná, zle zorganizovaná komunikácia medzi týmito dvoma tábormi môže mať v najlepšom prípade za následok výrazne pomalší vývoj/opravu zistených chýb, v najhoršom až zníženú kvalitu výsledného produktu. Vzťahy, komunikácia a iné drobnosti Dôležitosť dobrých vzťahov v tíme Ak sa v kontexte softvérového vývoja spomenie komunikácia, každý má na mysli komunikáciu so zákazníkom, prípadne komunikáciu medzi členmi programátorského tímu. No z vlastnej skúsenosti viem, že rovnako dôležitá je aj komunikácia medzi vývojárskym a testerským tímom. Predstava vymieňania informácií medzi týmito skupinami zahŕňa najmä zaznamenanie nájdenej chyby do systému na zaznamenávanie chýb zo strany testera a následné opravenie chyby zo strany vývojára. Prvá veľká chyba takéhoto strojového prístupu je neosobnosť. Vývoj softvéru je práca ako každá iná čím lepšie vzťahy na pracovisku a väčšia súdržnosť, tým väčšia spokojnosť pracovníkov, tým lepšia morálka tímu a najmä lepšie pracovné výsledky [3]. Priateľský vzťah medzi testerom a vývojárom je dôležitejší než akékoľvek iné vzťahy. Je to spôsobené už samotnou nepriateľskou podstatou ich prác [4]. Jeden hľadá chyby vo výtvore toho druhého. No ak je ich vzťah na priateľskej úrovni, akékoľvek nepriateľstvo odpadá a jeden druhého berú viac ako partnera s rovnakým cieľom než tvorcu problémov. Vývojár sa potom nebojí priamo poukázať na nejakú vlastnosť, ktorú treba pretestovať (čím sa dá ušetriť drahocenný čas v budúcnosti chyba vyjde skôr či neskôr najavo) a tester dokáže popísať chybu spôsobom, ktorý je pre vývojára ľahko pochopiteľný aj za cenu zníženej formálnej stránky opisu chyby. Taktiež s vývojárom zdieľa aj svoje testovacie taktiky, čo vývojárovi umožňuje rýchlejšie pochopenie chyby [4]. Aj preto je veľmi dôležité, aby mala firma stály testerský tím. V dnešnej dobe je totiž veľmi populárny prístup, pri ktorom sa na každý nový projekt volajú noví testeri [5]. Toto riešenie je samozrejme najjednoduchšie/najlacnejšie a je výsledkom podcenenia dôležitosti zohratosti medzi vývojármi a testermi. Veľmi živo si spomínam na príchod nových testerov do našej firmy. Väčšia časť aplikácie bola naimplementovaná a otestovaná bola zatiaľ iba vývojármi. Preto bolo vhodné začať fázu testovania. Zatiaľ čo vývojársky tím mal za sebou už aj team-building stretnutia, testeri nepoznali ani jeden druhého. Aj napriek tomu, že mali skúsenosti s testovaním, stále to boli iba vystrašení vysokoškolskí študenti v novom prostredí. Spolupráca bola veľmi profesionálna minimum osobnej komunikácie, každá chyba zapísaná podľa pravidiel. No identifikovanie a opravovanie chýb išlo veľmi pomalým

Každý robí chyby...preto máme testerov 3 tempom. Keď mal vývojár nejasnosti v nahlásenej chybe, radšej zvolil komunikáciu cez nástroj na zaznamenávanie chyb ako osobný kontakt. Tento prístup dodržuje vnútro firemné osnovy, no je primárne určený pre veľké firmy, kde veľakrát nie je osobný styk ani možný. No naša firma je pomerne malá. Jedna z výhod malých firiem je flexibilita spôsobená malým počtom ľudí, zainteresovanými do takmer všetkých oblastí vývoja. A práve táto výhoda bola vytlačená nedostatkom komunikácie spôsobenej slabými vzťahmi. Všetko sa zlepšilo už v priebehu niekoľkých týždňov. Komunikácia bola menej strojená, uvoľnenejšia. Testeri už nemali strach poukázať aj na tie najmenšie nedostatky, ktoré neboli explicitne obsiahnuté v testovacích scenároch - vedeli že to vývojári nezoberú v zlom. Záznamy o chybách obsahovali menej formálne poznámky a aj interné pomenovania jednotlivých procesov a komponentov aplikácie. Pre vývojára to znamenalo okamžité pochopenie chyby. Veľakrát sa dokonca stalo, že tie najmenšie chyby ohlásili testeri priamo vývojárovi (ešte pred zaznamenaním do nástroju), ktorý ich okamžite dokázal opraviť. Výsledkom tohto priameho opravovania chýb, založenom na úzkej spolupráci a priamej diskusii o chybách bolo výrazné zefektívnenie celého procesu debugovania. Navyše, po istom čase začali testeri pomerne dobre chápať štruktúru aplikácie, lebo sa nebáli vývojárov pýtať na detaily. Tých zdatnejších zaujímali často aj implementačné detaily. Dôsledkom bolo, že veľakrát cielene odbočili od testovacieho scenára, lebo tušili možný výskyt chyby ich podozrenie sa v niektorých prípadoch ukázalo ako opodstatnené, čím sa ušetrilo veľa času a nákladov v budúcnosti (čím neskôr sa chyba odhalí, tým je jej oprava náročnejšia a drahšia [6]). Správne rozdelenie moci Aj napriek výraznému zlepšeniu komunikácie sa čoskoro objavil ďalší problém. Ako som už spomínal, testeri sa často berú len ako spotrebné zbožie zavolajú sa keď je to potrebné, testujú dokedy je čo testovať a hneď na to ich poslanie vo firme končí. Podobne to prebiehalo aj u nás. V testerskom tíme nebola vytvorená žiadna hierarchia. Rozdelenie zodpovednosti bolo realizované len pridelením istého počtu scenárov na testovanie každému testerovi. Počet testerov postupne vzrástol na 6 členov a taktiež naplno začala fáza opravovania chýb. Tá zahŕňa aj pridelenie opravenej chyby na pretestovanie jednotlivým testerom prostredníctvom systému na správu chýb. Toto pridelenie mal na starosti samotný vývojár, ktorý po oprave chyby zmenil jej stav v systéme na opravenú. Vývojári ale nemali prehľad, ktorí testeri sú k dispozícii, či momentálne nepracujú na niečom zložitejšomm/dôležitejšom a veľakrát sa muselo zbytočne dlho čakať na pretestovanie, kvôli prideleniu požiadavky nesprávnemu testerovi. To všetko bolo výsledkom podcenenia situácie, spôsobeného nedostatkom skúsenosti manažmentu s väčšími projektmi. Podobné problémy sa riešia jasne definovanými rolami v rámci tímov [1]. Skupina ľudí s rovnakým cieľom a schopnosťami, vďaka ktorým je možné tento cieľ dosiahnuť sa nazýva tím [2]. Pre každý tím je veľmi dôležité mať člena, ktorý bude mať za úlohu koordinovať ostatných členov tímu. Táto osoba sa nazýva líder tímu (angl. team leader). Líder tímu musí mať neustále prehľad o aktuálne vykonávaných činnostiach v jeho tíme, má za úlohu prideľovať úlohy a najmä má na starosti komunikáciu s okolitým svetom [7]. Vo vývojárskom tíme bol líder tímu od samého počiatku implementácie, nakoľko sa implementácii po dokončení modelovania

4 Adam Pomothy aplikácie venovala najväčšia pozornosť. No v tíme testerov sa na vedúcu osobu vôbec nemyslelo pôvodne mal všetko zvládať projektový manažér. Čoskoro sa ale ukázalo, že projektový manažér nemá dostatočne podrobný prehľad o dianí v testerskom tíme. Našťastie sa tomuto nedostatku v našom testerskom tíme venovala pozornosť dostatočne skoro. Manažment určil jedného z testerov za lídra tímu. Následne vývojári všetky otázky ohľadom nahlásených chyb adresovali práve jemu. V systéme na manažovanie chýb sa po opravení chyby pridelila požiadavka na pretestovanie opäť lídrovi testerského tímu. Ten mal najlepší prehľad o aktuálnej vyťaženosti testerov a taktiež vedel priradiť jednotlivým hláseniam o chybách a opravených chybách správnu prioritu. Vývojárom sa výrazne zjednodušila práca s hlásením požiadaviek na pretestovanie a svoj čas mohli venovať dôležitejším veciam. Záver Na vlastnej koži som zažil dôsledky podcenenia dôležitosti testerov vo vývoji softvéru. Testeri prispievajú k výslednej kvalite produktu minimálne rovnakým dielom ako samotní vývojári. Je dôležité, aby vývojári a testeri tvorili jeden celok s rovnakým cieľom a nepozerali sa navzájom na seba ako nepriatelia (aj keď podstata práce testerov je hľadať chyby vývojárov). Na to je dôležité mať utužené vzťahy medzi týmito dvoma tábormi. Jedným zo spôsobov ako dosiahnuť tento stav, je mať statický tím testerov a nemeniť ich pri každom projekte (čo je v súčasnosti v móde). Ďalším dôležitým faktorom je správne rozdelenie zodpovednosti v tíme testerov. Ako každý iný tým, aj tím testerov potrebuje osobu, ktorá bude koordinovať činnosť ostatných členov a bude mať na starosti komunikáciu s okolitým svetom (v tomto prípade najmä s vývojárskym tímom). To umožní výrazne zefektívniť spoluprácu týchto dvoch skupín a zefektívni celý proces opravovania chýb. Takéto rozdelenie moci je úplne bežné pre tím vývojárov, ale v prípade jednorazových testerov sa na dôležitosť podobnej zodpovednostnej hierarchie často zabúda. Použitá literatúra 1. Addison, T., Vallabh, S.: Controlling software project risks: an empirical study of methods used by experienced project managers. In: Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology. Republic of South Africa, 2002. 2. DuBrin, A.J.: Essentials of Management. 6th ed. Peterborough, Ontario, Thomson South-Western, 2003. 3. Patil, T.: What is the Best Way to Make Developer and QA Relationship Healthy?, 2010. 4. Shammi, M.: Relationship between a developer and a tester/qa. 2008. 5. Soundararajan, P.: What is the Best Way to Make Developer and QA Relationship Healthy?. 2010.

Každý robí chyby...preto máme testerov 5 6. Turbyfill, C.: Risk-Based Metrics for Software System Design, Development, and Test. IEEE-USA Today s Engineer, 2011. 7. Yujian Y., Xuelin N., Xiao X.: Three Level Competencies of Entrepreneurial Team: Team Leader, Member Level and Team Level. In IEEE International Conference on Management of Innovation and Technology, 2006. Annotation Everyone makes mistakes that s what testers are for Nowadays, testers are usually considered to be temporary one-shot employees. They are given only test scripts and rules, how to report found errors and they are supposed to do their jobs. However, testers are equivalent to a development team. They have the same goal to deliver a high quality product to a customer. The communication is crucial for these two teams. However, if new testers are hired for every project, they have no relationship to developers and they are also in brand new environment. As a result, their communication is too formal and inefficient. That is the reason, why it is important to have a static team of testers as it is in case of developers. Good relationships or friendships result in much better cooperation. To achieve as effective communication as possible, it is also important to choose team leaders of both teams (it is common in case of developers, but not in case of testers). Team leaders coordinate other members of team, they are aware of current tasks and they communicate with external world in the name of whole team.