Професія тестувальника – один із найпопулярніших варіантів для переходу в IT. Такий фахівець потрібен практично кожній компанії, що займається розробкою. Зараз стати тестувальником не так просто, як років 10 тому, коли достатньо було прочитати книжку Савіна і піти влаштовуватися на роботу (трохи перебільшуємо, звісно). Зросла конкуренція, ПЗ стало складнішим і збільшилася кількість вимог у вакансіях для Junior QA.
Але напрям однаково залишається доволі привабливим. У тестуванні можна непогано заробляти та побудувати чудову кар’єру. Ми вирішили написати невеликий вступ до тестування ПЗ. Щоб ти міг зрозуміти, наскільки ця сфера тобі цікава.
Що таке тестування програмного забезпечення
З теорії тестування є багато книг, відео та різних статей. Визначення термінів можуть відрізнятися. Ми постараємося використовувати найзрозуміліші та найпростіші.
Тестування – це:
- Пошук невідповідностей між реальною та очікуваною поведінкою системи.
- Перевірка якості ПЗ, що здійснюється на обмеженому наборі тестів, обраних певним чином.
- Дослідження продукту з метою надати всім зацікавленим сторонам інформацію щодо його якості, а також мінімізувати кількість багів.
Можеш обрати одне з цих визначень або запам’ятати всі три. Тепер давай розберемося, що таке якість і баг.
Якість – це ступінь відповідності продукту вимогам замовника та очікуванням користувача. У якості є характеристики, серед яких:
- функціональність;
- портативність;
- ефективність;
- надійність;
- підтримуваність;
- зручність використання.
Тестувальник оцінює всі ці критерії, щоб отримати корисний і класний софт (коли вимоги реалізовано, а сервіс справно і стабільно робить те, що потрібно).
Баг – це помилка, через яку ПЗ працює не так, як задумано (невідповідність фактичного й очікуваного результату). Наприклад, гра не зберігається або персонаж починає рухатися хаотично. Виникають проблеми з розрахунком вартості поїздки в застосунку для замовлення таксі. Ми щодня стикаємося з багами (на жаль).
Також необхідно розуміти, що тестування охоплює різні активності:
- аналіз вимог;
- планування;
- тест-дизайн;
- виконання тестів;
- дослідження результатів;
- написання звітів;
- повторне тестування.
Тобто це не просто «погуляти сайтом і все поклацати», а серйозна робота. І вона для бізнесу дуже важлива.
Для чого потрібне тестування ПЗ компанії
Розробка ПЗ – складний і тривалий процес. І тут ніяк не обійтися без багів. Вони виникають з різних причин:
- Бізнес-аналітик або Project-менеджер припустився помилки в описі вимог до продукту.
- Було мало часу на розробку, тому постраждала якість.
- Складність архітектури та коду.
- Недосвідчені учасники проєкту і людський фактор (всі помиляються).
- Редагування вимог на етапі розробки ПЗ (програмісти обожнюють подібне).
- Проблеми з контролем версій.
- Непорозуміння між учасниками команд.
- Не вистачило бюджету на повноцінне тестування.
Це лише маленька частина списку потенційних джерел багів. Вони можуть виникати на різних етапах SDLC. Тому тестувальник має братися до роботи ще на стадії формування вимог, щоб перевірити їхню правильність, повноту і ясність. Що раніше ми знайдемо помилку, то простіше і дешевше її виправити. Якщо дефекти зі специфікації потраплять у розробку, то весь процес піде хибним шляхом. Не хочемо навіть думати про те, як таке переробляти.
Важливо розуміти, що баги не тільки завдають фінансових збитків компанії (наприклад, клієнт інтернет-магазину не може додати товар у кошик або оплатити замовлення), а й впливають на її репутацію. Ніхто не захоче юзати сервіс, який постійно глючить. Це ж стосується дорогих ігор категорії triple-A, які не завжди виправдовують очікування геймерів, що може обернутися абсолютним провалом для студій.
Тому бізнесу потрібно вибудувати систему управління якістю (quality management system). Вона складається з QA (забезпечення якості), QC (контролю якості) і тестування. Фахівці-початківці найчастіше займаються тестуванням і QC. QA ж більше фокусується на процесах, превентивних заходах і стратегії. Ми постараємося розповісти про це докладніше в наступних матеріалах. Тепер ти знаєш, для чого потрібні тестувальники та наскільки це відповідальна роль.

Які види тестування ПЗ існують
Є багато видів тестування ПЗ, які класифікуються за цілями, ступенем важливості, рівнем автоматизації та іншими параметрами. Ми коротко розповімо про деякі з них:
- Функціональне тестування – охоплює тести для оцінювання функцій, які має виконувати система. Дає можливість переконатися, що софт правильно справляється з усіма завданнями.
- Нефункціональне тестування – перевіряє надійність, зручність використання, продуктивність та інші атрибути, які не належать до функціональності.
- Статичне тестування – дослідження документації або коду без запуску ПЗ. Наприклад, тестування вимог.
- Динамічне тестування – проводиться на працюючій системі (із запуском коду).
- Позитивне тестування – фокусується на перевірці коректності роботи застосунку в очікуваних умовах (чи можна увійти в систему з правильними обліковими даними).
- Негативне тестування – оцінює поведінку ПЗ у нестандартних ситуаціях (користувач вводить у поле логіна тільки цифри під час спроби реєстрації).
Ще є димове, регресійне, наскрізне тестування тощо. Не будемо писати про всі види докладно. Просто хотіли дати тобі базове уявлення щодо цієї теми. На етапі знайомства з основами тестування і вибору професії тобі набагато важливіше знати те, що воно буває автоматизованим і ручним.
- Автоматизоване тестування – можемо використовувати різні інструменти для автоматизації рутинних процесів, які забирають багато часу. Пишемо автотести, які проганяють на продукті користувацькі сценарії, тестують функціонал і знаходять помилки в коді. Для цього необхідно знати мови програмування (наприклад, Python або Java).
- Ручне тестування – робимо все руками без використання засобів автоматизації (не треба писати код).
Автоматизувати все неможливо, тому потреба в мануальних тестувальниках нікуди не дінеться. Освоїти цю спеціальність можна за 3 місяці на курсах тестування від GoIT. Будемо тобі дуже раді!
Чи варто вивчати тестування програмного забезпечення
Тестування вже не можна назвати найлегшим способом входу в IT. І вакансій зараз не так багато, як нам би хотілося. Але компанії продовжують створювати софт. А люди записуються на курси тестувальників, навчаються і знаходять роботу в Україні або за її межами.
Стан ринку, зарплата і вимоги можуть змінюватися. Але незмінним залишається те, що під час вибору спеціальності важливо враховувати свої інтереси, здібності та бажання. Так у тебе з’явиться внутрішня мотивація пройти курс до кінця. А потім ти будеш усе життя отримувати задоволення від своєї роботи. Хіба не в цьому щастя?
Тепер ти знаєш, що таке тестування ПЗ і для чого воно потрібне бізнесу. Якщо хочеш стати тестувальником, але сумніваєшся у своїх силах, запишися на безплатний марафон з QA від GoIT. Перевір, наскільки цей напрям тобі підходить. Вивчай тестування разом із нами! Рішення за тобою.