Tester je specijalista koji testira softver. Suština njegovog rada je da provjeri koliko ispravno program radi, da li ispunjava tehničke zahtjeve, da li ima slabosti, grešaka, nedosljednosti itd.
Testovi pomažu minimiziranju rizika od grešaka u kodu, postizanju visoke kvalitete, funkcionalnosti i upotrebljivosti različitih digitalnih proizvoda:
- Računalni softver;
- web stranice;
- online prodavnice ;
- mobilne aplikacije;
- igre za različite medije (računari, pametni telefoni, konzole).
Rad testera slijedi sljedeći algoritam: on prima projekat od programera, proučava specifikaciju, bira ili razvija metode verifikacije i evidentira identificirane nedostatke i ranjivosti u dokumentaciji.
Recimo vam detaljnije čime se bavi predstavnik ove profesije:
- Simulira upotrebu IT proizvoda i izvodi sve radnje koje korisnici interneta mogu izvršiti.
- Ispituje da li je ponašanje softvera u skladu sa tehničkim uputstvima.
- Procjenjuje kako web stranica ili program funkcionira na različitim operativnim sistemima i uređajima.
- Traži greške, nedostatke, kvarove, na primjer, neaktivna dugmad, pokvarene obrasce itd.
- Analizira nivo sigurnosti i performanse aplikacije kako se opterećenje povećava.
- Daje ocjenu sa stanovišta upotrebljivosti.
- Ukoliko se uoče nedostaci, projekat se vraća na doradu, au nekim slučajevima ispisuje preporuke za njihovo ispravljanje
Šta bi trebalo da bude u stanju da uradi?
Softverski tester mora prije svega poznavati teoriju testiranja: vrste, metode, alate, scenarije, dizajn testa, analizu testa itd.
Takođe treba da poseduje sledeća znanja i veštine:
- Osnove interakcije klijent-server.
- Životni ciklus razvoja softvera i fleksibilne metodologije, na primjer, Agile, Scrum, Kanban.
- Osnovno razumijevanje HTML/CSS-a , cross-browser i cross-platform izgleda.
- SQL baze podataka .
- Vještine u radu sa Git sistemom kontrole verzija i GitHub servisom.
- Strategije testiranja crne, bijele i sive kutije.
- Programi za praćenje grešaka Jira, Bugzilla itd.
- Profesionalni softver: Zephyr, JUnit, Selenium, PyTest, itd.
- Metode provjere usklađenosti sa tehničkim zahtjevima, UI, UX, ranjivosti klijenata i servera.
- Engleski za čitanje radne dokumentacije.
Specijalista koji ručno provodi testove možda ne zna programski jezik. Ali da biste automatizirali testiranje, morate biti u mogućnosti pisati skripte na Python-u , Javi ili Javascript-u .
Koje vrste testera postoje?
Postoji nekoliko klasifikacija specijalista ovisno o vrsti testiranja. Koje oblasti struke postoje:
- Ručni tester – provodi ručne testove softvera i web stranica koristeći gotove planove testiranja.
- Autotester – samostalno piše programe u programskom jeziku za automatizaciju testiranja.
- Sigurnost – analizira pouzdanost sigurnosnog sistema.
- Performanse – provjerava performanse web stranice ili softvera i performanse pod povećanim opterećenjem.
- Upotrebljivost – ispituje koliko je interfejs jednostavan i intuitivan za korisnike
U zavisnosti od veština, razlikuju se i 3 profesionalne kompetencije:
- Junior je početnik sa minimalnim iskustvom (do šest mjeseci) ili bez njega, koji može ručno testirati igru, aplikaciju ili ažuriranje softvera u skladu sa tehničkim specifikacijama, test slučajem ili kontrolnom listom.
- Srednji – tester koji radi u svojoj specijalnosti 2-3 godine, savladava tehnike ručnog i automatizovanog testiranja, poznaje programske jezike i može izraditi testnu dokumentaciju.
- Senior – profesionalac sa 3-6 godina iskustva. Često kombinuje odgovornosti vodećeg tehničkog stručnjaka i menadžera. Može voditi odjel testera, obučavati ih, razvijati strategiju, uvesti nove metode testiranja, itd.
Mjesto rada i potražnja
Profesija je tražena prvenstveno u onim industrijama koje se odnose na razvoj kompjuterskih programa i web stranica, ali ne samo u IT kompanijama.
Testeri najčešće rade u sljedećim područjima:
- Web studiji, programeri korporativnog softvera, mobilnih aplikacija, video igrica.
- Banke, finansijske, brokerske, investicione organizacije.
- Internet prodaja, online usluge za naručivanje, kupovinu, isporuku robe, sistemi za rezervacije itd.
- Usluge za korisnike sadržaja: elektronske biblioteke, onlajn bioskopi, servisi za striming muzike itd.
- Telekomunikacije.
- Online škole
Potražnja za testerima raste svake godine. Trenutno je samo na HeadHunter web stranici objavljeno više od 3.700 slobodnih radnih mjesta. Najtraženiji su stručnjaci sa 1-3 godine iskustva u Moskvi, Sankt Peterburgu, Novosibirsku, Kazanju i Jekaterinburgu. Među poslodavcima, većina je iz sektora informacionih tehnologija, finansijskog sektora, maloprodaje i sektora telekomunikacija.
Izgledi za karijeru
Na početku karijere, softverski tester obično radi kao pripravnik ili junior u velikoj IT kompaniji. Za 2-3 godine stalnog rada na jednom mjestu možete prerasti do srednjeg nivoa, a zatim do višeg specijaliste.
Mogu se razlikovati sljedeći izgledi za karijeru u struci:
- Napredna obuka za šefa odjeljenja, vođu tima, tehničkog direktora.
- Razvijanje vaših čvrstih vještina kako biste savladali složeniju i perspektivniju specijalnost – QA inženjer .
- Prelazak u drugu industriju. Testeri često postaju programeri, Scrum majstori i poslovni analitičari .
Prednosti i mane profesije
Ako želite da budete tester, trebalo bi da procenite sve prednosti i nedostatke rada u struci. Radi pogodnosti, ostavili smo sto.
Minusi | pros |
Visok rizik od profesionalnog sagorijevanja zbog iste vrste aktivnosti | Tester možete postati u bilo kojoj dobi, bez obzira na iskustvo i vještine. |
Svaki dan morate raditi dosadan, monoton, ali odgovoran posao | Specijalisti će biti traženi u narednim godinama |
Često postoje poteškoće u komunikaciji sa programerima | Možete raditi u kancelariji, na daljinu ili slobodno |
Nije najveća plata u poređenju sa drugim IT specijalnostima | Postoji mogućnost pronalaženja posla na daljinu u inostranstvu |
Nećete moći sami da savladate profesiju, morate platiti školovanje | Nekoliko opcija za razvoj karijere, kako u vašoj specijalnosti, tako iu srodnim industrijama |
Mitovi o testerima softvera
Prikupili smo najčešće stereotipe o struci testiranja i pripremili komentare.
MIT 1. Testeri su najniži nivo u IT-u.
Inženjer za testiranje je važan član tima koji je odgovoran za kvalitet cjelokupnog projekta, može identificirati neočigledne nedostatke ili ranjivosti i spriječiti ne samo pritužbe kupaca, već i finansijske gubitke.
MIT 2. Testiranje je samo pronalaženje grešaka.
Testiranje je složen proces u kojem stručnjak ne samo da traži greške u kodu, već procjenjuje i mnoge druge faktore: performanse programa, otpornost na vanjske napade, upotrebljivost itd.
MIT 3. Ovo polje se malo isplati.
Novopridošlice koji ručno provode testove zapravo zarađuju niže zarade od srednjih i viših inženjera ili programera . Ali plata se ne može nazvati malom – čak i na početku karijere možete dobiti od 50 hiljada rubalja