Тестувальник ПЗ, або Quality Assurance tester – людина, яка шукає (і знаходить!) баги у програмному продукті після його впровадження. Він не формує процеси тестування на етапі розробки програми або сайту – цим займається QA інженер (engineer) – але теж прискіпливо вивчає його, допомагаючи програмістам створити якісний продукт, а користувачам – працювати з ним без помилок. Про те, як QA розшифровується, чим займаються тестувальники сайту, і як ними стають з нуля – в нашій статті.
ЩО ТАКЕ QA ТЕСТУВАННЯ? ВИДИ ТЕСТУВАННЯ
QA, або Quality Assurance – це комплекс заходів для забезпечення якості ПЗ. Цей комплекс включає аналіз всіх умов, які можуть позначитися на якості розробки та готового продукту.
QA тестування буває функціональним та нефункціональним:
- Функціональним. Перевіряє роботу всіх функцій мобільного/десктопного додатку або сайту та аналізує взаємодію системи, що розробляється, з іншими програмними продуктами. Функціональне тестування показує, наскільки програма продуктивна, наскільки зручно користуватися інтерфейсом, встановлювати його. Ці тести перевіряють захищеність та надійність системи, її сумісність.
- Нефункціональним. Ці тести досліджують характеристики програми чи сайту, які можна виміряти. Такі тести демонструє “ЯК”, наскільки добре працює програма.
Також тестувальники займаються:
- Тестування продуктивності. Навантажувальні тести показують, чи справляється програмне забезпечення зі стандартним навантаженням і допомагають визначити максимально можливе навантаження на систему. Стрес-тести вивчають роботу програми або сайту при нестандартних навантаженнях.
- Регрес-тестами. Перевіряють, наскільки позначаються нові опції програми та відкориговані помилки на функціональності програми.
- Модульними тестами. Окрема перевірка модулів для знаходження тих, які викликають проблему.
- Тестування безпеки. Перевірка захищеності програмного продукту від вірусів, хакерів, крадіжки конфіденційної інформації.
- Перевірка локалізованих версій програми. Тести показують, наскільки коректним є переклад інтерфейсу, що видаються користувачеві повідомлень, пояснювальної документації.
- Usability-тестуванням. Тестування зручності роботи з додатком/сайтом для користувачів, його зрозумілості та простоти. Такі дослідження дозволяють виявити проблеми з навігацією, основним та додатковим функціоналом.
Словом, QA фахівець – це людина, яка перевіряє програмний продукт вздовж та впоперек. Тестувальник з’ясовує, як ПО поведеться при очікуваному або відмінному від очікуваного поведінки користувача. Вивчає, що відбувається з додатком, коли з ним працює людина, яка знає або не знає систему – тестування «білої скриньки» і «чорної скриньки» відповідно.
ОБОВ’ЯЗКИ ТЕСТУВАЛЬНИКА ПО (ЩО ЗІМАЄТЬСЯ ТЕСТУВАЧ?)
QA фахівець займається вирішенням таких питань:
- вивчає технічні документи;
- уточнює побажання замовника;
- визначає можливі ризики;
- пише тестові документи та описує ідеї щодо підвищення якості продукту ( т.зв., тест-кейси);
- займається, власне, тестуванням програми;
- знаходить вразливі місця, документує обговорює їх з програмістами;
- тестує продукт після того, як програмісти виправили баги;
- оптимізує тестувальний процес;
- пише автоматичні тести (automation tests).
КВАЛІФІКАЦІЯ QA ТЕСТУВАЛЬНИКІВ буває різною:
- стажер Trainee;
- новачок Junior зі стажем 1-6 місяців, знайомий з базовими поняттями QA (тест-планами та тест-кейсами, дефектами Severity та Priority), що вміє виконувати прості операції в SQL;
- середній рівень Middle з досвідом до 3 років, що вміє тестувати продукти самостійно та навчати стажистів/новачків;
- вищий рівень Senior, здатний справлятися з технічно складними завданнями та тестувати програми різними методами .
Зверніть увагу! Senior QA engineer це людина, яка досконало опанувала професію, може рухатися у напрямку QA team lead – QA-manager – Head of QA department та стати начальником відділу. Або трохи змінити спеціальність, ставши розробником чи аналітиком.
ЩО ПОТРІБНО ЗНАТИ, ЩОБ СТАТИ ТЕСТУВАЛЬНИКОМ QA?
QA-тестеру належить:
>- вільно читати англійською;
- вміти працювати з баг-трекером JIRA, Redmine, YouTrack або подібними;
- знати мову запитів SQL, щоб писати запити до баз даних;
- тому, хто збирається тестувати сайти, необхідно освоїти HTML/CSS верстку, JavaScript, jQuery та HTTP, а тому, кому подобається працювати з мобільними додатками – системи Genymotion, VirtualBox та iOS Simulator;
- володіти прийомами тест-дизайну;
- знати особливості клієнт-серверної взаємодії.
Це не все, що потрібно освоїти тестувальнику-початківцю: для успішного розвитку в професії він повинен мати певні навички (Soft skills):
- аналітичний та критичний склад розуму, схильність до перфекціонізму;
- уміння мислити стратегічно;
- відповідальність і наполегливість;
- здатність моделювати ситуації та абстрагуватися від них;
- комунікабельність, необхідна для обговорення спірних питань з програмістами та замовниками та пошуку компромісів;
- уважність та посидючість;
- вміння миттєво перемикатися від завдання до завдання .
Важливо! Перед тим, як стати QA тестувальником і заглибитися в цю спеціальність, бажано прочитати книгу «Тестування дотком» Романа Савіна, Software Testing Рона Паттона та «Тестування програмного забезпечення» Сема Канера. Ці видання – не новинки, але вони допоможуть скласти уявлення про професію та сформувати деякі важливі навички тестувальника.
З Телеграм-каналів для новачків будуть корисними QA_ru (російськомовний чат тестерів), QA Channel (загальна різнопланова інформація для QA фахівців) та Серйозний тестувальник (цікаві статті та забавні гіфки на тему). Українські QA фахівці та консультанти ведуть канали automation-remarks.com, BigQueryInsights та CatOps.
ПЛЮСИ ТА МІНУСИ ПРОФЕСІЇ ТЕСТУВАЧА ПО
Запитуючи, хто такий тестувальник сайтів та мобільних додатків, і приймаючи рішення про початок навчання, варто співвіднести переваги та недоліки спеціальності.
ПЛЮСИ
- Доведеться постійно підвищувати кваліфікацію, і це буде цікаво! IT-галузь розвивається динамічно і не дає фахівцям деградувати інтелектуально.
- Зарплата тестувальника з досвідом висока та наближається до зарплати програміста.
- QA тестери та інженери – люди затребувані, і спад популярності цієї професії не спостерігається. У тому числі в періоди економічних криз.
МІНУСИ
- Робота тестувальника – рутинна. Особливо, якщо йдеться про ручне проведення тест-кейсів та написання документації. Ця робота підходить для людей з відповідним мисленням.
- Доведеться багато сидіти за комп’ютером і окремо займатися підтримкою фізичної форми.
- Важливо навчитися приходити до компромісу з великою кількістю людей, які мають різні побажання до програмного продукту. Думки програмістів, замовників та користувачів можуть не співпадати, і ці проблеми часто доведеться вирішувати тестувальнику.
ЯК СТАТИ ТЕСТУВАЛЬНИКОМ QA?
Ідеальний варіант для того, щоб стати тестувальником – здобути вищу освіту за напрямом “Програмна інженерія”. Це допоможе зробити знання системними та мати корисні знайомства.
Викладачі курсів QA – практикуючі інженери та розробники програмних продуктів. Це означає, що їхні знання є актуальними, і слухачі зможуть застосовувати їх у роботі відразу після закінчення навчання.
Увага! Щоб влаштуватися на роботу QA інженером або тестером, необхідно грамотно скласти резюме тестувальника . У резюме необхідно внести тільки ту освіту та досвід роботи, які мають відношення до професії. Курси тестувальників – рядок, який значно підвищує рівень фахівця в очах роботодавця.
ПЕРСПЕКТИВИ ПРОФЕСІЇ ТА ЗАРПЛАТУ ТЕСТУВАЛЬНИКА
З’ясувавши, якими якостями повинен володіти QA тестувальник, щоб бути успішним у своїй професії, варто дізнатися, які щаблі розвитку його очікують у наступні роки.
Senior QA Engineer може стати тимлідом, менеджером проекту або керівником відділу. Якщо в процесі роботи він освоїть нові мови програмування або візьметься навчанням додатково, з’являється шанс стати розробником мобільних/десктопних додатків або сайтів, керівником розробників.
Також можна буде поєднувати основну роботу тестувальника з викладанням – вважається, що займатися навчанням та підтримкою новачків престижно.
За даними порталу DOU, статистика зарплати тестувальників в Україні на грудень 2021 року така:
У Києві зарплати таких фахівців – найвищі. Так, Senior QA отримає у Києві 2700$, це +200$ якщо порівнювати його зарплату зі Львовом та Харковом, водночас найвища зарплата в Одесі – 3000$.
Крім того, Senior Automation QA отримує приблизно на 2000$ більше, ніж зарплата Junior QA, зайняті іншими роботами в цій галузі