Як стати тестувальником:
усе про Manual Software Testing
Блискавичний старт в ІТ, популярна професія, зарплата 3000$ та можливість працювати в міжнародних компаніях – це все про Manual Software Test Engineering. Простіше – тестування. Від цієї галузі залежить якість, а значить, успіх продукту серед тисячі подібних на ринку. Ви ж не станете користуватися, наприклад, додатком, який працює зі збоями та часто «зависає»? Отож-бо. Щоб уникнути цього, є команда тестувальників.
Разом з Олександром Горшковим, Technical Lead of QA/Software Testing Department у CHI Software, розкажемо, хто такий тестувальник, що він робить, які знання повинен мати, а також розвіємо п’ять розповсюджених міфів про тестувальників.
Хто такий тестувальник?
Тестувальник – це ІТ-спеціаліст, який перевіряє ПЗ (програмне забезпечення) на помилки, виявлені під час розробки, і допомагає розробнику усунути їх. Тобто є продукт (наприклад, сайт чи додаток), який створює команда розробників. А тестувальник виявляє, вказує й документує помилки, які заважають нормальній роботі продукту.
Часто тестувальників плутають із такими фахівцями як QA (*Quality Assurance – забезпечення якості) або QC (*Quality Control – контроль якості). Це три різні позиції, хоч і де в чому схожі. Щоб детальніше зрозуміти різницю між ними, коротко окреслимо задачі кожної:
Фахівець QA слідкує за процесами забезпечення якості розробки ПЗ та його функціонального тестування ще на етапі планування. QA не тестує продукт, а слідкує за дотриманням якості проекту на етапах розробки. Це превентивний процес, що дозволяє не допустити дефектів із початкового етапу розробки продукту до його релізу та виведення на ринок.
Фахівець QC оцінює якість продукту та рівень готовності до випуску, звітує щодо результатів тестування, пише тест-стратегію, контролює процес виправлення дефектів.
Тестувальник – це вузька спеціальність у полі QA/QC. Цілі тестування на кожному етапі розробки різні, але одна з основних – пошук багів (*bug (баг) – помилки) в розробці продукту. Тестувальники документують баги та перевіряють їх виправлення розробниками. Тестують усе, що потребує уваги – від функцій додатку до його інтерфейсу.
Чому ці три позиції часто плутають? Тому що в українських ІТ-компаніях часто це одна особа – QA Engineer. Втім розмежовувати ролі потрібно.
Що робить тестувальник?
Глобально, в основі роботи тестувальника лежить процес Root Cause Analysis (*аналіз основної причини). Це особливий підхід виявлення причин, що допомагають визначити, чому стався той чи інший баг. Втім перш ніж дістатися до помилок, тестувальник вивчає вимоги до продукту.
Посередником між замовником та тестувальником часто стає бізнес-аналітик. Він детально описує, що замовник хотів би бачити в майбутньому продукті: яким чином здійснюватиметься вхід та реєстрація, перелік основних і допоміжних функцій, вимоги до дизайну інтерфейсу та інше. Відповідно до цих вимог тестувальники формують тестову документацію (тест-план, тест-стратегію, чек-листи, текст-кейси тощо), за якими проводиться виявлення та усунення помилок у проєкті.
Тож підсумуємо задачі. Тестувальник повинен:
- З’ясувати та вивчити вимоги замовника
- Сформувати тестову документацію
- Написати сценарії тестування, враховуючи види тестів
- Ідентифікувати помилки в продукті, їх задокументувати та протестувати ще раз після усунення дефекту розробниками
- Проаналізувати результати тестування
- Підготувати фінальну документацію по закриттю скоригованих помилок
Тестування кожного продукту має свій життєвий цикл – розглянемо обов’язки тестувальника детальніше на кожному етапі.
Планування й контроль (Planning & Control)
Отримавши від бізнес-аналітика вимоги замовника до проєкту, тестувальники розпочинають планування: визначають стратегію тестування, об’єм робіт, дедлайни, відповідальних за окремі задачі, критерії початку та завершення тестування. За створеним планом, його виконанням потрібен контроль – спостереження за всіма показниками, аби бути певними, що проєкт та обрані методі й техники працюють ефективно.
Аналіз і дизайн (Analysis & Design)
Наприклад, маємо протестувати додаток для публікації фотоконтенту. Зважаючи на вимоги, тестувальники перевіряють, як користувач може зареєструватися, застосувати фоторедактори, отримати вподобання, надіслати комусь фото. На етапі аналізу тестувальники визначають рівні тестування, відповідність вимогам, проєктні ризики, досвід команди тощо.
На прикладі з додатком для фото, треба виокремити техніки тест-дизайну – прописати в текстовому форматі, як саме тестуватиметься, наприклад, форма входу чи реєстрації. Також тестувальник обирає для перевірки продукту різні види тестів. Щоб визначити, як додаток реагує на велику кількість одночасних користувачів, команда проведе тестування навантаження.
Імплементація й виконання (Implementation & Execution)
На цьому етапі тестувальники створюють тестову документацію у вигляді тест-кейсів і чек-листів, визначають інструменти управління задачами й дефектами, готують тестові дані. Процес виконання – це безпосередньо реалізація тест-кейсів, створення умовних користувачів, виявлення помилок, їх тестування та детальний опис для подальшого виправлення розробниками.
Оцінка критеріїв виходу й звітність (Evaluating Exit Criteria & Reporting)
Основна ціль етапу – отримати результати тестування та відзвітуватися про знайдені помилки. Тестувальники мають переконатися, що помилки були виправлені та протестовані повторно, всі заплановані тести виконані й не залишилося відкритих дефектів. Цей процес називається “ретестинг” – перевірка, чи вдалося позбутися багу.
Наприклад, тестувальник виявив, що кнопка входу у фотододаток синього кольору, а має бути зеленого. Спеціаліст описує цей баг та передає інформацію розробнику. Опис потрібен, щоб розробник розумів, в якій саме частині коду сховався дефект. Після цього тестувальник проводить регресію – перевіряє, чи не стався під час виправлення помилки з кнопкою збій в інших пов’язаних функціях.
Проєкт або його частина завершується генеральною перевіркою. Після цього продукт готовий до презентації замовнику.
Що потрібно знати тестувальнику?
Щоб увійти в ІТ тестувальником, треба мати щонайменше такі технічні знання про:
- Типи й види тестування;
- Життєвий цикл тестування продукту та його етапи;
- Системи баг-трекінгу;
- Основи ведення тестової документації.
- Обов’язковим є знання англійської не нижче рівня Intermediate.
Для ефективного тестувальника важливі й особистісні риси. Тестувальник має бути:
Усидливим та уважним. Щоб знайти всі помилки в продукті, тестувальникам треба мати терпіння та тримати фокус – від цього залежить якість роботи..
Допитливим та зацікавленим. «А що буде, якщо…?» – питання, яке найчастіше виникає в спраглого до роботи тестувальника.
Схильним до аналітичного мислення. Тестувальник працює з тестовими даними, створенням тест-кейсів, описом помилок, а значить треба вміти їх аналізувати дефекти та пов’язати з роботою продукту чи поведінкою користувачів.
Як стати тестувальником?
Досить просто, якщо справді зацікавилися позицією та готові вдосконалювати свою майстерність. Вивчити методики тестування можна самостійно за допомогою інтернету, блогів, тематичних ресурсів або експертних каналів на YouTube. З пошуком інформації точно проблем не виникне, втім систематизувати всі знання, якісно їх освоїти допоможуть досвідчені ментори.
На курсі «Manual Software Testing» від CHI Academy, Олександр Горшков, Technical Lead QA/Software Testing відділу у CHI Software та Олексій Станкевич, QA Manual Lead у CHI Software, вчать розрізняти види й рівні тестування, створювати коректні баг-репорти (*bug report – документ, що містить інформацію про знайдені баги), працювати з техніками тест-дизайну, а також застосовувати практики мобільного тестування. Всього за три місяці ви маєте шанс влаштуватися на стажування в ІТ-компанію й незабаром отримати запрошення на роботу.
Ще один варіант для практики тестувальників-початківців – це платформи з краудтестингу. Такі майданчики, як uTest чи Crowdtesting, пропонують протестувати продукт на певному пристрої чи операційній системі (ОС). Плата символічна, але в обмін тестувальник отримує цінний досвід.
5 міфів про тестувальників: розвіюємо разом із Олександром Горшковим,
Technical Lead відділу QA/Software Testing у CHI Software
Тестувальники повинні знати мови програмування
Тестувальники не перевіряють написаний розробниками код, а перевіряють сам продукт. Отже вміти кодити вони не мають. Однак знати, як влаштовані мови програмування, на яких пишуть розробники продукту, – обов’язково. Мінімум треба знати JavaScript. А також мати базу по HTML і CSS.
Тестування – це нудно
Вести тестову документацію досить рутинна робота, це правда. Та вже після написання тест-кейсів, починається улюблена частина. Власне тестування продукту завжди пов’язане з пошуком нових рішень та генерацією ідей. Тестувальники обмірковують будь-які стандартні й нестандартні рішення для кращої роботи сервісу.
Без тестувальників можна обійтися
Ні, не можна. Без якісного тестування не обходиться жодна ІТ-компанія. Замовники здебільшого знають, що тестувальник – гарант якості проєкту та зекономленого часу. Ті, хто колись допустили помилку й вирішили обійтися без тестувальника, ризикували репутацією та несли збитки через несправний продукт.
Тестувальники починають роботу тільки наприкінці проєкту
Тестова команда з початку розробки проєкту має знати всі нюанси та вимоги замовника, після чого проаналізувати їх і налагодити подальшу роботу з виявлення багів. Це означає, що тестувальники залучені до роботи ще з етапу планування.
Тестувальники найменше заробляють в ІТ
На старті кар’єри, можливо. Але ріст у тестувальників значно швидший, ніж навіть у розробників. То скільки заробляють тестувальники? За даними DOU.ua, заробіток фахівців залежить від місця посади в ієрархії та має діапазон в середньому від 700$ до 3500$+. Детальніше ознайомитися з останніми даними щодо заробітної плати тестувальників в Україні можна за посиланням.
Готові увійти в ІТ тестувальником? Тоді натискайте тут, заповнюйте форму й чекайте дзвінка від адміністратора CHI Academy. Вдалого старту!
курси, які можуть тебе зацікавити
Павло
Чому зараз розвелося так багато курсів по айті, зокрема по QA. Це необхідність чи черговий етап заробляння грошей. Дякую.