JavaRush /Blog Java /Random-PL /Jest taki zawód - sprawdzanie oprogramowania. Jak zostać ...

Jest taki zawód - sprawdzanie oprogramowania. Jak zostać inżynierem kontroli jakości

Opublikowano w grupie Random-PL
Kontynuując cykl materiałów o zawodach poszukiwanych w branży IT i związanych z tworzeniem oprogramowania, dzisiaj porozmawiamy o inżynierach QA. Jest taki zawód - sprawdzanie oprogramowania.  Jak zostać inżynierem ds. kontroli jakości - 1A więc Inżynier Zapewnienia Jakości: kim jest, czym się zajmuje, w jakich miejscach mieszka? Na początek kilka podstawowych informacji. Do głównych obowiązków QA Engineera, czyli inżyniera ds. zapewnienia jakości oprogramowania, należy monitorowanie każdego etapu procesu tworzenia oprogramowania, aby produkt finalny spełniał wszystkie najwyższe standardy firmy deweloperskiej, lub przynajmniej po prostu funkcjonował mniej więcej przyzwoicie, bez doprowadzania użytkowników na skraj palenia się błędami i niedociągnięciami. Zadaniem inżyniera QA, mówiąc ogólnie o funkcji tego specjalisty w zespole programistów, jest monitorowanie jakości podejścia do rozwoju. Osoba odpowiedzialna za zapewnienie jakości ma także obowiązek upewnić się, że oprogramowanie działa prawidłowo przed jego wypuszczeniem i udostępnieniem ogółowi społeczeństwa. Tym samym inżynier ds. kontroli jakości bierze udział we wszystkich etapach tworzenia oprogramowania: od pisania kodu źródłowego po testowanie i zarządzanie wydaniami, a nawet bezpośrednio na nie wpływa.

Inżynier Jakości jako kariera – perspektywy i oczekiwania

Z punktu widzenia perspektyw czysto zatrudnienia, QA można zdecydowanie uznać za bardzo, bardzo obiecujący zawód i co najmniej dobry wybór do kariery w IT. Przewiduje się, że w ciągu najbliższych lat liczba stanowisk dla specjalistów w tej dziedzinie wzrośnie o około 4-5%. Jak wynika z szeregu badań zatrudnienia w branży IT, zawód QA Engineer w ostatnich latach znajduje się w czołówce luki pomiędzy liczbą wolnych stanowisk a liczbą specjalistów na rynku, czyli zapotrzebowaniem na QA specjalistów znacznie przewyższa podaż (z wyjątkiem stanowisk juniorskich, gdyż kandydatów na nich jest prawie zawsze więcej niż wolnych stanowisk).

Poziom wynagrodzenia

W przypadku specjalistów QA Engineer poziom wynagrodzeń jest wysoki w porównaniu do średniej we wszystkich zawodach i generalnie odpowiada wskaźnikom wynagrodzeń w branży IT. Tak więc, według raportu US Bureau of Labor Statistics z 2017 r. , w Stanach Zjednoczonych średnia pensja inżyniera ds. kontroli jakości wynosi 88 510 dolarów rocznie, czyli 42,56 dolarów za godzinę . Jednak 10 procent najlepiej opłacanych specjalistów w tej dziedzinie zarabia 139 390 dolarów rocznie, czyli 67,02 dolarów za godzinę, podczas gdy 10 procent najniższych zarabia 46 240 dolarów rocznie, czyli 22,23 dolarów za godzinę. W naszym regionie wynagrodzenia inżynierów ds. kontroli jakości w liczbach wyglądają mniej imponująco, ale nadal imponująco w porównaniu z ogólnymi statystykami: średnia miesięczna pensja specjalistów ds. kontroli jakości wynosi około 1700 dolarów miesięcznie na Ukrainie, 110 tysięcy rubli (około 1630 dolarów) miesięcznie w Rosji i 1000 dolarów na Białorusi. Jest taki zawód - sprawdzanie oprogramowania.  Jak zostać inżynierem ds. kontroli jakości - 2

Obowiązki inżyniera kontroli jakości

Chociaż ogólnie inżynier ds. kontroli jakości to dość ogólna definicja zawodu, która obejmuje szereg stanowisk w zespole programistów o bardziej szczegółowej specjalizacji, istnieje szereg zadań, które w większości przypadków wchodzą w zakres obowiązków inżyniera kontroli jakości . Warto również zauważyć, że inżynierów QA dzieli się najczęściej na dwa główne „podgatunki” – testerów manualnych i specjalistów ds. automatyzacji QA. Różnice między tymi dwoma stanowiskami są dość duże (więcej na ten temat poniżej), podobnie jak wymagania dotyczące umiejętności kandydatów na te stanowiska.
  • Dokumentacja przypadków testowych.
  • Przeprowadzanie i dokumentowanie analizy ryzyka.
  • Dokumentuj postęp i wyniki testów.
  • Przygotowanie testów automatycznych.
  • Opracowywanie standardów i procedur w celu określenia jakości produktu i gotowości do wydania.
  • Wykrywanie błędów w oprogramowaniu.
  • Wprowadzaj innowacje i optymalizuj ogólne procesy testowania.
  • Identyfikowanie, lokalizowanie i śledzenie błędów podczas testowania.
  • Zidentyfikuj potencjalne problemy, które mogą napotkać użytkownicy.
  • Przeprowadzanie testów ręcznych i automatycznych.
  • Badania i analiza cech badanych produktów.
  • Poszukiwanie nowych narzędzi, technologii i procesów testowych.
  • Przeglądanie interfejsów użytkownika pod kątem spójności i funkcjonalności.

Poszedłbym do kontroli jakości i pozwoliłby mi uczyć. Jak dostać się do zawodu?

Należy od razu zaznaczyć, że tzw. próg wejścia do zawodu QA Engineer uważany jest za jeden z najniższych w IT, czyli całkiem możliwe jest zostanie inżynierem QA bez specjalistycznego wykształcenia w jednej ze specjalności IT i nawet bez wcześniejszego doświadczenia zawodowego w tej dziedzinie. Jednak oczywiście nie zatrudnią do takiej pracy kogoś z ulicy. Aby zakwalifikować się na stanowisko inżyniera ds. kontroli jakości, należy posiadać przynajmniej podstawową wiedzę na temat testowania oprogramowania i środowisk programistycznych, a także cykli życia oprogramowania. Dobrym pomysłem będzie również wykształcenie wyższe, a najlepiej nadają się absolwenci posiadający stopnie naukowe w specjalnościach takich jak tworzenie oprogramowania, projektowanie oprogramowania czy informatyka. Jest taki zawód - sprawdzanie oprogramowania.  Jak zostać inżynierem ds. kontroli jakości - 3Poniżej znajduje się kilka wskazówek, jak dostać się do tego zawodu dla osób zainteresowanych tą konkretną ścieżką.
  • Kształcić się

    W Internecie można znaleźć aż nadto ogólnych informacji, przewodników i podręczników na tematy, które inżynierowie kontroli jakości muszą znać. Można zacząć od zapoznania się z podstawami dyscyplin wchodzących w skład informatyki , gdyż wiedza ta tworzy podstawę do dalszego kształcenia w specjalnościach informatycznych.

  • Znajdź sobie mentora

    Dobra rada, którą dość często można znaleźć w zasobach anglojęzycznych, ale tutaj nie jest zbyt popularna. Niemniej jednak rada jest naprawdę wartościowa. Poproś jednego z doświadczonych „cueerów”, aby pomógł Ci w nauce zawodu, udzielił rad i rekomendacji, a potem być może znalazł pierwszą pracę.

  • Zdobądź certyfikat ISTQB

    ISTQB (International Software Testing Qualification Board) to międzynarodowa organizacja non-profit oferująca szereg certyfikatów dla testerów. ISTQB opracowało program testujący o nazwie ISTQB Certified Tester, który jest obecnie uważany za najbardziej autorytatywny w dziedzinie testowania oprogramowania. Certyfikacja ISTQB jest dostępna w ponad 100 krajach, w tym na Ukrainie, w Rosji, Białorusi i Kazachstanie. Obecność takiego certyfikatu potwierdzi pracodawcy posiadanie wiedzy teoretycznej, a przygotowanie do egzaminu będzie wymagało nabycia tej wiedzy poprzez przestudiowanie materiałów edukacyjnych.

  • Weź udział w QA Bootcamp

    Bootcamp to format programów edukacyjnych, które trwają zwykle około kilku miesięcy i są dedykowane szkoleniu specjalistów IT z różnych dziedzin. Udział w takim programie pomoże Ci szybko i skutecznie przygotować się do pracy na stanowisku inżyniera kontroli jakości, szczególnie jeśli posiadasz już wiedzę teoretyczną i/lub doświadczenie w programowaniu i rozwoju. Dodatkowo udział w QA Bootcamp powinien pomóc Ci stać się częścią tłumu i zdobyć kontakty, które przydadzą się w poszukiwaniu pracy.

  • Praktyka

    Cóż, kolejnym dość skutecznym sposobem na opanowanie wszystkich zawiłości pracy w QA może być staż w jednej z firm zajmujących się tworzeniem oprogramowania i cieszących się solidną reputacją zawodową. Przez te same kilka miesięcy można nauczyć się od specjalistów pracujących w tej dziedzinie nie tylko teorii, ale także praktycznych cech zawodu, o których nie omawia się na szkoleniach.

Jest taki zawód - sprawdzanie oprogramowania.  Jak zostać inżynierem ds. kontroli jakości - 4

Narzędzia do pracy na stanowisku inżyniera kontroli jakości

W swojej pracy, w zależności od zadań i specjalizacji, „cueerzy” muszą posługiwać się dość szeroką gamą narzędzi. Przyjrzyjmy się pokrótce najpopularniejszym kategoriom narzędzi pracy inżyniera kontroli jakości.
  1. Ręczne narzędzia do testowania

    Tak zwani testerzy manualni, czyli specjaliści, którzy ręcznie testują i wyszukują błędy, opierając się na ludzkiej percepcji, muszą posługiwać się całym zestawem narzędzi, nie licząc mobilnych i stacjonarnych systemów operacyjnych oraz przeglądarek, w których należy sprawdzić działanie programu osobno.

    • Narzędzia do zarządzania testami (TMT)

      Narzędzia do zarządzania testami mają na celu uporządkowanie procesu wyszukiwania błędów oraz ułatwienie tworzenia i przechowywania raportów i innej dokumentacji. Do najpopularniejszych TMT należą: Test Manager, SpiraTest, HP-ALM (QC) i inne.

    • Narzędzia do śledzenia defektów lub DTT

      Korzystając z DTT, inżynierowie ds. kontroli jakości śledzą defekty znalezione w programie i generują raporty o błędach, aby przekazać je zespołowi programistów. Przykłady popularnych narzędzi do zarządzania defektami: BugZilla, Mantis, IBM Rational ClearQuest.

    • Narzędzia do zarządzania projektami

      Инструменты для проджект-менеджмента, которые повсеместно используются в Agile-проектах и включают в себя набор стандартных функций, таких Jak тайм-трекинг, списки задач, wiki-dokumentацию и т.д., нужно знать и QA-щикам. Наиболее популярным инструментом менеджмента проектов считается Jira. Среди альтернатив популярностью пользуются Redmine, YouTrack и Backlog.

    • MS Excel и SQL-клиенты

      MS Excel по-прежнему достаточно широко используется для описания результатов масштабных тестирований и последующего их импортирования в средства управления процессом тестирования. Более удобной и современной альтернативой MS Excel-у является программа Test Studio. SQL-клиенты применяются в тех случаях, когда QA-инженеру нужно подключиться к базе данных.

  2. Инструменты автоматического тестирования

    QA-автоматизатор (QA Automation engineer) — это другая базовая специальность, являющаяся составной частью профессии QA-инженера. В отличие от “мануальщика,” который тестирует продукты вручную, QA-автоматизатор занимается написанием скриптов для автоматического тестирования программ и проверки результатов такого тестирования. Соответственно, QA-автоматизаторы в своей работе используют собственные инструменты.

    • Инструменты для автоматизации тестирования

      Наиболее популярными инструментами автоматизации тестирования являются: Selenium, TestComplete, Katalon Studio и Ranorex.

    • Фреймворки автоматизированного тестирования

      Вместо создания сложных сред автоматизации с нуля QA-автоматизаторы также могут пользоваться готовыми библиотеками, такими Jak Serenity (фреймворк на основе Java), Cypress, RedwoodHQ и ряд других.

    • IDE для программирования

      VSCode, Visual Studio, IntelliJ IDEA и другие.

    • CI/CD-инструменты

      Jenkins, TeamCity, Gitlab CE и другие.

Мнения, советы и инсайты бывалых

I na koniec kilka cytatów doświadczonych inżynierów QA, którzy szczerze wyrażają opinie na temat zalet i wad tego zawodu, a także porady oparte na osobistym doświadczeniu. „Musisz zrozumieć, że wiele osób szybko nudzi się pracą przy kontroli jakości/testowaniu oprogramowania. Po dość krótkim czasie przestaje oferować złożone zadania wymagające szkolenia i samorozwoju. Kolejną kwestią wartą wspomnienia jest to, że 95% inżynierów ds. kontroli jakości (nie licząc testerów manualnych i analityków ds. kontroli jakości) zarabia znacznie mniej, chociaż wykonują zadania o tej samej złożoności, a czasem bardziej złożone, co pracownicy Dev i DevOps. Różnica w wynagrodzeniach jest bardzo duża i moim zdaniem niesprawiedliwa” – stwierdziła Charitha Kankanamge, menedżer ds. jakości oprogramowania w Amazon. „Stanowiska kontroli jakości mogą być dobre lub złe, w zależności od tego, jak poważnie firma traktuje błędy i wady oprogramowania. Firmy tworzące oprogramowanie o znaczeniu krytycznym, od którego często zależy życie ludzi, naturalnie bardzo poważnie podchodzą do błędów w swoich produktach i dużo inwestują w ich wykrywanie. Praca w takich firmach oznacza dobre stanowiska kontroli jakości. Firmy, które starają się jak najszybciej wypuszczać swoje produkty i aktualizacje, ponieważ mają nowe funkcje i możliwości, które zostały już reklamowane i obiecane użytkownikom, zwykle traktują kontrolę jakości bez należytej uwagi, umożliwiając użytkownikom samodzielne znajdowanie błędów. To są złe stanowiska kontroli jakości. Unikaj pracy dla firm, które mają krótkoterminowe cele, są nastawione wyłącznie na zysk, nie zwracają wystarczającej uwagi na specyfikacje i nie cenią kontroli jakości. Niestety, obecnie jest to większość” – powiedział Brad Harrison, doświadczony programista i autor tutoriali programistycznych. „Dobry inżynier ds. kontroli jakości powinien być programistą i dokładniej rozumieć specyfikę tej pracy, niekoniecznie na najgłębszym poziomie. Moja rada dotycząca kariery w kontroli jakości brzmi: znajdź swoją niszę. Na przykład wybrałem dla siebie niszę pracy z systemami operacyjnymi, zwłaszcza mobilnymi i otwartymi systemami operacyjnymi. Pamiętaj jednak, że kontrola jakości to bardzo, bardzo szeroka dziedzina, więc nie powinieneś skupiać się tylko na swojej niszy. Czytaj i ucz się jak najwięcej, staraj się opanować wiedzę we wszystkich obszarach QA, takich jak automatyzacja testów, rozwój i zarządzanie testami itp. To klucz do sukcesu” – radzi Brendan Donegan, inżynier ds. kontroli jakości w firmie Canonical.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION