Programinės įrangos testavimas ir testuotojas

sosftware-testing
Testavimas

Programinės įrangos testavimas ir testuotojas

Programinės įrangos naudojimas yra neatsiejama mūsų kasdienybės dalis tiek buityje, tiek darbe, moksluose ar kitoje veikloje. Su programomis susiduriame įvairiose situacijose ir jų veikimo patikimumas bei kokybė tampa vis aktualesni. Norint užtikrinti programinės įrangos kokybę, reikalingas geras kokybės užtikrinimo (angl. Quality Assurance) ir programinės įrangos testavimo (angl. Software Testing) procesas. Šio įrašo tikslas – trumpai apžvelgti, kas yra ta programinė įranga, kas yra programinės įrangos testavimas ir kokias funkcijas atlieka programinės įrangos testuotojas. Įrašo gale pasidalinsiu su Jumis, nuo ko pradėti, norint tapti testuotoju.

Kas yra programinė įranga?

Programinė įranga (angl. software) yra specializuota kompiuterinė programa, kuri atlieka įvairias užduotis ar funkcijas kompiuteriuose ir kituose įrenginiuose, kaip mobiliuose telefonuose ar planšetėse. O kokios tos programos? Pavyzdžiui: mums visiems gerai žinomi teksto redaktoriai  „Microsoft Word” ar Google Docs”, elektroniniai paštai „Gmail” ar „Outlook”, skaičiavimo programos Microsoft Excel” ar Google Sheets”, kompiuteriniai video žaidimai kaip „GTA” ar „Minecraft” ir daug kitų. Kad programine įranga būtų galima naudotis, mums reikalingi ir techninės įrangos  (angl. hardware) komponentai. Techninės įrangos pavyzdžiai: procesorius, atmintis, kietasis diskas, monitorius, pelė ir daug kitų svarbių komponentų.

Kas yra programinės įrangos testavimas?

Dauguma iš mūsų esame tikrai susidūrę su programine įranga, kuri neveikė, taip kaip turėtų veikti. Pavyzdžiui, norėjom nusipirkti elektroninį bilietą, bet sistema “užlūžo”, kasoje mums įmušė ne tą kainą ar už tam tikrą produktą mums nepaskaičiavo nuolaidos. O jei laukiame svarbių medicininių tyrimų rezultatų, tačiau dėl techninės klaidos mes jų negauname? Tokios klaidos gali sukelti tam tikrų problemų, nuo paprasčiausio nepasitenkinimo, pinigų praradimo ar net iki rizikos sveikatai ir gyvybei.

Programinės įrangos testavimas (toliau bus vadinama tiesiog testavimu) yra vienas iš programinės įrangos kūrimo etapų. Tai gana sudėtingas procesas, į kurį įeina daug įvairiausių testavimo veiklų. Prieš testuojant, atliekamas testavimo planavimas, reikalavimų analizė, kuriami testavimo atvejai, paruošiami testavimo duomenys ir testavimo aplinkos. Testavimo metu yra vykdomi įvairių testavimo tipų testai (pvz. funkcionalno, saugumo, našumo, greitaveikos ir t.t.). Testuojant ieškoma klaidų, defektų, sutrikimų ir potencialių problemų. Testavimas yra atliekamas įvairiais lygiais, pradedant nuo komponentų testavimo ir baigiant priėmimo testavimu iki tol kol sistema yra išleidžiama į produkciją. Aišku, testavimas čia nesustoja, nes dauguma realiausių scenarijų įvyksta kasdien naudojant sistemas galutinių naudotojų, kurie neretai atranda ir neatrastų defektų. Kad tų defektų būtų kuo mažiau, reikalingas profesionalus testavimas, kurį atlieka apmokyti, patirties turintys profesionalūs specialistai – testuotojai.

Kas yra programinės įrangos testuotojas?

Pagal ISTQB apibrėžtą žodynėlį, testuotojas yra asmuo, atliekantis testavimą (angl. Tester – A person who performs testing). Jei žiūrėsim į testuotojo sąvoką kaip į rolę, ją gali atlikti be kuris asmuo. Pavyzdžiui: klientas užsakovas, verslo analitikas, programuotojas, sistemų architektas, projektų vadovas ir taip toliau. Dalį testavimo gali atlikti ir automatizuoti testai, kuriuos implementuoja techniniai testuotojai ar patys programuotojai. Nors ir testavimą gali atlikti daug kas, tačiau tą daryti profesionaliai ir gerai – tikrai nėra lengva. Esu daug kartų girdėjęs iš žmonių, kurie neturėjo nieko bendro su IT pasauliu ir mokslais, kad tai lengvas, nuobodus ir paprastas darbas. Jei asmuo testuoja, kaip išeina, ar gali save vadinti testuotoju? Tikriausiai gali, niekas nedraudžia, tačiau gerai testuoti reikia mokėti ir tai daryti profesionaliai bei efektyviai – kruopštus, kūrybingas ir nuolatinio tobulėjimo reikalaujantis darbas. Kadangi už kokybę yra atsakinga visa komanda, o ne tik testuotojai, komunikacijos ir kiti socialiniai įgūdžiai yra ne ką mažiau svarbūs nei analitiniai ir techniniai įgūdžiai. 

Ar kiekvienas gali tapti testuotoju?

Per pastaruosius kelis metu, tenka girdėti tokį mitą, kad vos ne kiekvienas gali tapti testuotoju. Bet ar tikrai tai tiesa? Ar visi studijantys mediciną ar teisę tampa gydytojais ir teisininkais? Taip drąsiai teigti, kad kiekvienas gali tapti profesionaliu testuotoju, negalėčiau. Daugiametė praktinė patirtis rodo, kad ne visi žmonės yra pastabūs detalėms, ne visi turi analitinį mąstymą ir ne visi sugeba dirbti efektyviai komandose. Tačiau, esu matęs daug žmonių, kurie su dideliu noru ir entuziazmu mokytis, išmoko testavimo subtilybių ir sėkmingai persikvalifikavo į testuotojo specialybę. O tie, kurie ir nepersikvalfikavo, sėkmingai pritaiko įgytas žinias kitose srityse. Tapti geru testuotoju – tikras iššūkis, nes reikia nuolatinio tobulėjimo ir domėjimosi, kas vyksta IT industrijoje. Tačiau, tai tikrai įmanoma! Testavimas, visų pirma, turi patikti ir tikti žmogui pagal asmenines savybes. Jei tik norima tapti testuotoju, dėl finansinių paskatų, tačiau pats darbas neįdomus, vargu ar žmogus bus geras testuotojas.

Nuo ko pradėti, jei norite tapti testuotoju?

Auksinio recepto nėra, kuris tiktų visiems, bet galima pradėti ruoštis keliais būdais:

  • Nusipirkti ir peržiūrėti nuotolinius kursus per tokias mokymosi platformas kaip Udemy, LinkedIn Learning, ar net Youtube.
  • Jei dirbate kompanijoje, kurioje yra testuotojų arba turite draugų ar kolegų, kurie yra testuotojai, galima mokytis iš jų šešėliaujant (angl. shadowing) arba prašant įvairių testavimo užduotėlių. 
  • Savarankiškai galima skaityti rekomenduotas testavimo knygas, testavimo tinklaraščius, studijuoti ISTQB medžiagą, užsiprenumeruoti testavimo naujienlaiškį, dalyvauti nemokamose testavimo konferencijose.
  • Išbandyti laisvai samdomo darbo “freelancing” pllatformas, pvz: uTest  ar Upwork
  • Aplikuoti į testavimo praktikas ar akademijas, kurias organizuoja įvairios IT įmonės. Tačiau, konkurencija į tokią vieną būna didelė ir be jokios patirties patekti gana sunku.

Bet iš patirties kalbant, vienas iš populiariausių, greičiausių ir efektyviausių būdų – sudalyvauti 2-4 mėnesių pradinio lygio testavimo kursuose su dėstytoju. Testavimo programa būna specialiai paruošta žmonėms, be IT išsilavinimo, su praktiniais pratimais ir patarimais. Kursų pasirinkimas tikrai platus, tačiau svarbiausia, susirasti Jums tinkamą ir gerą dėstytoją, pagal rekomendacijas. Jei domina „A Software Tester” kursas pradedantiesiems arba norintiems pasiruošti ITSQB CTFL v4.0 egzaminui, susisiekite.

APIBENDRINIMAS

Pagal įvairias atliktas apklausas ir statistikas, programinės įrangos testavimo rinka tik augs, o tai reiškia, kad testuotojo specialybė bus taip pat paklausi dar daugelį metų. Lietuvos rinkoje testuotojų nėra daug, lyginant su programuotojais ar kitais IT specialistais, tad įšokti į greitai lekiantį, IT tarptautinį traukinį, tikrai dar nevėlu. TIkiuosi, kad perskaičius šį įrašą susidarė geresnis vaizdas apie programinės įrangos testavimą, testuotojus ir variantus, nuo ko pradėti, norint tapti testuotoju. Jei turite kokių klausimų, lauksiu Jūsų žinutės per kontaktų formą.