Čelit novým výzvám a učit se novým věcěm je každodenním chlebem testerů. Jaké hard a soft skills by tester měl být, aby v tomto boji ustál?
Soft skills
Komunikatívnosť
Ako software quality engineer (SQE) sa budete pohybovať niekde medzi programátormi a manažmentom. Každá strana preferuje iný typ komunikácie. Zatiaľ čo manažment zaujíma stav produktu, aktuálne problémy alebo plán vydania produktu, programátorov zaujímajú viac technické špecifiká. Ako sa má produkt správať a ako v žiadnom prípade nie, na akých miestach sa má zmena prejaviť a za akých podmienok. V prípade chyby (bugu) pak kedy a ako nastala.
Je dôležité aby SQE vedel odfiltrovať/preložiť informácie pre každého člena tímu tak, aby s nimi vedel narábať čo najefektívnejšie. SQE by mal vedieť o produkte, ktorý testuje čo najviac ako je možné. Tieto informácie ale často nedostane a nesmi sa báť pokladať otázky aj viac krát ale inak sformulované.
Zodpovednosť
Zodpovedný by mal byť každý člen tímu, nikto by sa nemal spoliehať len na SQE. Avšak SQE je často ten posledný, kto pracoval s nejakou funkcionalitou alebo zmenou najviac do hĺbky. Musí si uvedomovať že má veľký podiel na tom akým smerom sa bude vývoj uberať a ako to môže ovplyvniť zákazníka.
Na SQE je na konci bežného vývojového cyklu (sprint, release) kladený veľký tlak. Niekedy musí predlžiť vývoj alebo oponovať celému tímu za účelom dosiahnutia kvality produktu. Musí mať skôr kritické alebo pesimistické myslenie.
Keď si to zhrnieme, SQE si musí byť istý, že urobil maximum toho, čo bolo v jeho silách aby zabezpečil čo najvyššie pokrytie testom. Prípadne vy-komunikoval všetky hrozby počas vývoja ešte pred jeho započatím.
Zvedavosť
Zvedavosť je v úlohe SQE veľmi dôležitá. V prípade že, nejaká funkcionalita funguje správne, nesmieme predpokladať že funguje správne v akejkoľvek konfigurácii.
Napríklad: Máme e-shop v ktorom môžeme objednať tovar. Prejdeme si bežný proces objednávky od vloženia do košíka po potvrdenie na email. To, že sme na žiadnu chybu nenarazili neznamená, že tam nemôže byť nejaká iná. SQE by malo zaujímať, čo sa stane, ak nevyplní adresu, zadá nepovolené znaky do mena, uskutoční celý nákup na inom prehliadači alebo zariadení.
Každý SQE by mal byť zvedavý a pýtať sa alebo skúšať. Vďaka jeho zvedavosti je možné že sa odhalí problém ešte pred tým, ako sa začne na produkte pracovať .
Prezentovanie
Už z predchádzajúcich vlastností nám môže byť jasné že, SQE bude musieť vedieť správne podať svoju myšlienku. Je v tíme často braný ako oponent a ak chce svoj názor presadiť, musí ho správne podať. Každému členovi teamu musí byť jasná pointa, a prečo by sa týmto mali zaoberať. To ale niekedy nestačí, SQE v tíme čelí vždy početnej presile, musí svoj názor prejaviť rázne alebo pútavo.
Hard skills
Angličtina
Angličtina je v dnešnej dobe často braná ako samozrejmosť. Bohužiaľ sa ale stále môžeme stretnúť s tým, že technicky aj osobnostne zdatný človek neovláda anglický jazyk, čo ho posiela do veľmi nevýhodnej pozície. Ako ste si mohli všimnúť, už v predošlých odstavcoch sa občas používajú anglické výrazy. Sú to zaužívané výrazy ktoré sa neprekladajú. V prípade že, je niekto v IT nový, bude sa mu ťažšie adaptovať pretože si nebude vedieť tieto výrazy preložiť.
Problém začína už na pohovore. Aj keď firma, pre ktorú chcete pracovať, interne nekomunikuje v angličtine, je možné že časť dokumentácie alebo zákazník komunikáciu v angličtine preferuje. Z tohoto dôvodu sa vám zatvoria dvere na mnohé zaujímavé projekty!
Základy programovania a práca s databázu
To, že SQE nemusí vedieť o programovaní nič, je mýtus alebo veľmi zastaralé tvrdenie. Základné znalosti programovania vám môžu veľmi pomôcť pri tvorbe testovacieho scenáru. Keď viete aspoň približne, ako asi vývojár implementoval zadanie, ktoré testujete, ste schopný vytvoriť väčšie pokrytie testom. V neposlednom rade si môžete aj ušetriť čas a nebudete testovať zbytočne navyše. Vývojár takúto znalosť takisto ocení keď k reportovanému bugu s postupom dostane aj info z logov, ktorým vďaka základom programovania rozumiete.
Ako SQE môžete testovať napríklad ako sa ukladajú dáta. Alebo si v databáze pre webovú aplikáciu potrebujete zapnúť niečo, čo bežný užívateľ nevidí. Môže sa vám často stať aj, že dostanete čas a dátum a musíte zistiť kto v tom čase bol prihlásený a aké operácie vykonával.
Databáze sa v dnešnej dobe vyhne len málo SQE. Na internete je mnoho kurzov alebo tutoriálov a je veľmi jednoduché sa naučiť základné operácie. Chápanie, na akom princípe komunikujú medzi sebou dáta v aplikacii, ktorú testujete, vám umožní lepšie reportovanie bugov, implementovanie testovacích scenárov alebo lepšie pochopenie diskusie pri zadávaní novej funkcionality.
Pokročilé znalosti OS
Ako software SQE budete na dennej bázy pracovať s vašim počítačom. Základné znalosti práce na počítači časom stačiť nebudú. Ako SQE musíte vedieť, ako spravovať operačný systém na vašom počítači, aby vám neovplyvňoval výsledky testov. Budete často používať rozšírenia alebo pracovať na virtuálnych operačných systémoch.
Z pohľadu bezpečnosti si musíte zaistiť maximálnu ochranu aby vám omylom neunikli citlivé informácie. Odporúča sa používať nástroj na správu hesiel, napr. KeePass.
Zálohovanie je takisto dôležité. V prípade zdrojových kódov je ideálne zálohovať pomocou systému GIT alebo na bezpečné zálohové úložisko – v mnoho prípadoch je to firemný server.
Na záver by som rád zhrnul, ako by mal vyzerať profil SQE alebo sa mu aspoň trochu priblížiť. SQE je človek ktorý sa nebojí prejaviť svoj názor. Musí sa správať zodpovedne a sebaisto. Mal by sa pýtať kým mu nebude absolútne všetko jasné. Zmysel pre poriadok a dodržiavanie pravidiel je určite na mieste. Je nutné aby mal aspoň základné technické zručnosti z oblasti IT alebo aspoň záujem sa ich naučiť. Jeho cieľom nie je otestovať každú možnosť funkcie. Cieľom SQE je zaistiť, aby bolo percento vzniku chýb čo najnižšie.