QA

QA-спеціаліст відповідає за якість продукту. QA охоплює контроль відповідності продукту усім стандартам, аналіз даних і поліпшення якості. А також планування і створення тестів, здійснення тестування та документування знайдених багів і помилок (QC, Quaity Control). У невеликих компаніях QA часто виконує обов'язки тестувальника (що наближено до QC). Іноді ці професії не розрізняють. Маючи перелік обов'язків, притаманних для професії тестувальника, вакансія може мати назву «QA-інженер».

Також є фахівці з QA Automation, які автоматизують тести і перевірку результатів за допомогою програмних засобів.

Обов'язки QA-фахівців

Тестувальник:

  • проходження тест-кейсів і чек-листів;
  • документування знайдених багів і дефектів;
  • розроблення тестової документації;
  • повторне тестування виправленої програми.


QA (додатково до завдань тестування):

  • робота над поліпшенням якості продукту, оптимізація процесів тестування;
  • аналіз результатів тестування і виявлення причин дефектів;
  • планування тестування, написання тест-кейсів, позитивних/негативних сценаріїв;
  • комунікація з розробниками;
  • відстеження життєвого циклу помилок.


Automation QA:

  • автоматизація тест-кейсів;
  • налаштування тестових оточень, підготовка даних;
  • написання, виконання і підтримка працездатності автотестів, тестових скриптів;
  • інтеграція з системами CI/CD;
  • розроблення фреймворку для автоматизації.

 

QA тестувальники: основні скіли

  • Уміння складати тестову документацію: тестові сценарії, тест-план, тест-кейси, чек-листи.
  • Знання видів тестування і умов застосування кожного з них.
  • Робота з системою відслідковування помилок – баг-трекером (наприклад, Bugzilla, Mantis або універсальніші системи управління проєктами Redmine, Jira).
  • Проєктування тестів завдяки технікам тест-дизайну (поділ на класи еквівалентності, аналіз граничних значень, діаграми перехідних станів, таблиця можливих розв’язань).
  • Знання баз даних і написання базових запитів до них.

 

Для Automation QA додатково необхідні знання мови програмування (обмеження щодо конкретної мови залежить від мови на проєкті) і такі навички:

  • використання фреймворків розроблення та інструментів автоматичного тестування (Selenium, UFT, Ranorex, Katalon Studio);
  • робота з системами контролю версій (Git, SVN, Mercurial) і репозиторіями коду;
  • робота з системами безперервної інтеграції (Jenkins, TeamCity).