Позиція тестувальника вважається одним з найпростіших способів швидко ввійти в галузь ІТ. Ходять чутки, що цю професію легко освоїти, робота у тестувальника - не бий лежачого, та й платять фахівцеві з тестування програмного забезпечення майже як програмісту. Наскільки ця інформація достовірна? Давайте розбиратися.
Хто такий тестувальник ПЗ?
Тестувальник програмного забезпечення планує і виконує тестування додатків, налагоджує код, покращує юзабіліті програм.
Часто до назви професії додають латинські букви q і a: qa тестувальник. QA походить від англійських слів quality assurance - забезпечення якості. Це частина розробки, яка управляє якістю продукту. QA - широке поняття, а робота над забезпеченням якості починається задовго до написання першого рядка коду майбутньої програми. В ідеальному світі інженер з якості працює над продуктом якщо не на етапі генерації ідей, то на етапі дослідження ринку і вивчення потреб цільової аудиторії.
У широке поняття QA входить ще один напрямок діяльності: QC, quality control або контроль якості. Інженери QC контролюють продукт на етапі розробки і підтримки. Тестування програмного забезпечення - один з інструментів контролю якості. Тобто тестувальник перевіряє додаток в рамках заходів з контролю якості (QC), які входять в комплекс робіт по забезпеченню якості (QA).
У широкому сенсі тестувальники беруть участь у створенні корисного для користувачів програмного забезпечення. Якщо конкретизувати, тестувальники контролюють якість додатків, над якими працює організація.
QA-фахівці - це ті, хто бачить всю картину.
Для розуміння всіх взаємозв'язків продукту, без якого легко пропустити в продакшн серйозні баги, потрібні час, знання, увага і досвід. Згодом у QA виробляється інтуїція, яка необхідна, оскільки повна перевірка всіх можливих сценаріїв занадто трудомістка та іноді попросту неможлива. Це означає, що робота тестувальника не може бути обмежена механічним виконанням тест-плану.
У разі, коли проблеми проявляються на стадії специфікацій, особливо у взаємодії різних модулів, тільки QA мають можливість помітити їх на цьому етапі і запобігти марнуванню часу на введення в дію заздалегідь невдалих рішень.
Чим займається тестувальник
Як сказано вище, тестувальники перевіряють програмне забезпечення. Розберемося, як вони працюють.
Є ручне і автоматизоване тестування ПЗ. Відповідно, фахівці з ручного тестування перевіряють додатки вручну, а фахівці з автоматизованого тестування працюють за допомогою програм.
- Спеціаліст по ручному тестуванню по суті вручну імітує дії користувача програми. Він переконується, що програма працює як очікується в різних сценаріях взаємодії. При плануванні поведінкових тестів фахівець враховує технічні вимоги до програмного забезпечення. Приклад: в специфікації зазначено, що після реєстрації нового користувача додаток відправляє лист з підтвердженням на вказану електронну адресу. Тестувальник реєструється в додатку і перевіряє, чи надійшов відповідний лист.
Ручне тестування - найпростіший спосіб оцінки якості програми. Тестувати додаток вручну - «дорога» операція, так як швидкість і точність перевірок обмежена можливостями тестувальників.
- Автоматизоване тестування має на увазі перевірку додатків за допомогою програмного забезпечення.
Ось приблизний опис роботи експерта з автоматизованого тестування. В першу чергу він вибирає тест-кейси або функції програми, які потрібно перевірити.
Зазвичай для автотестів вибирають критичні для роботи ПЗ функції, наприклад, обробку платежів, збереження призначених для користувача даних. Автотестування підходить, коли тести повторюються неодноразово або для перевірки функції програми потрібно використовувати великі обсяги даних. Потім тестувальник вибирає інструменти, планує і реалізовує дизайн перевірки. На цьому етапі фахівець готує дані для тестів, налаштовує інструменти, встановлює розклад тестування. Тести запускаються, результати тестування автоматично фіксуються. Спеціаліст аналізує отримані дані і передає інформацію розробникам.
Автоматизація тестів економить ресурси організації. Вона дозволяє з мінімальними зусиллями повторно тестувати програми, вимагає менше часу в порівнянні з ручними тестами, скорочує кількість помилок.
Проміжний підсумок: тестувальники контролюють якість програмного забезпечення. Ця діяльність входить в комплекс робіт по QA - забезпечення якості додатків.
Скільки заробляють тестувальники ПЗ?
Тестувальники трудяться в командах, які займаються розробкою програмного забезпечення. Це зазвичай середні і великі компанії, які роблять власний продукт або працюють за моделлю аутсорсингу.
QA-інженерів і QC-тестувальників часто залучають команди, які використовують DevOps. В таких командах розробка, тестування і підтримка ПЗ виконується циклічно з використанням підходів Agile або Scrum.
Стосовно зарплати - новачки на старті можуть розраховувати на $ 500-600 за місяць. Зарплата фахівців середнього рівня становить від 600 до 1500 доларів, досвідчені фахівці отримують від 1500 до 2300 доларів. Експерти по автоматизації тестування екстракласу можуть розраховувати на зарплату від 2300 доларів на місяць (дані станом на листопад 2020 року одного із ресурсів по розміщенню вакансій)
Що повинен знати і вміти тестувальник?
В першу чергу фахівець повинен вивчити основи тестування. Класифікація тестування, методи та інструменти, створення сценаріїв тестування - ось базовий набір знань, з якого майбутні QA-інженери починають знайомство з професією.
Знадобляться знання основ програмування, протоколу HTTP, вміння працювати з базами даних і системами контролю версій, хоча б базове знання HTML і CSS.
Тестувальник повинен вміти працювати з командним рядком, знати браузери і інструменти розробників. Також знадобиться вміння працювати з інструментами автоматичного тестування, наприклад, HP-UFT (колишній QTP), Selenium, Sahi і так далі.
Фахівці називають різні софт-скіли, якими повинні володіти тестувальники. До специфічних для цієї професії м'яких навичок можна віднести уважність до дрібниць, критичне мислення, вміння аналізувати інформацію.