Тестування програмного забезпечення. Повний гайд для нетехнічних спеціалістів

Тестування програмного забезпечення. Повний гайд для нетехнічних спеціалістів
8 хв. читання

ЯКІСТЬ В ТЕСТУВАННІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ 

Як проектний менеджер, ви вже певно знаєте, що якість програмного забезпечення (ПЗ) є ключовим фактором успіху будь-якого проекту. Неякісне ПЗ може призвести до затримок, перевитрат, проблем з безпекою та, зрештою, до розчарованих клієнтів.

Якість - це багатогранне поняття, яке може мати різне значення для різних учасників команди. Наприклад, для одного користувача якість ноутбука буде визначатися його потужністю та можливістю рендерингу відео, а для іншого - портативністю та ціною.

 

Якість продукту на проекті залежить від різних факторів, а саме:

1) Вимоги. Для стартапу, який постійно розвивається, може не знадобитися писати якісний код або підтримувати продукт у майбутньому, оскільки він буде переписаний. Але для банку - точно потрібен якісний код, який буде легко підтримуватися.

2) Ресурси. Нестача ресурсів може негативно вплинути на якість. Якщо тестувальник задіяний на трьох проектах одночасно, то чи впевнені ви, що якість тестування буде на високому рівні?

3) Маркетинг. Маркетинг може нав'язати певне уявлення про якість. 

4) Взаємодія. Якість залежить від взаємодії з замовниками та командою проекту. Важливо, щоб всі члени команди мали схоже уявлення про якість проекту.

 

Звідки знати яка має бути якість ПЗ

1) Вимоги замовника. Замовник може чітко визначити очікування щодо якості проекту, що може включати конкретні стандарти, які необхідно дотримуватися.

2) Галузеві стандарти. Для багатьох галузей існують встановлені стандарти якості, які стосуються проектів. Ці стандарти можуть бути розроблені професійними організаціями, урядовими органами або іншими зацікавленими сторонами.

3) Кращі практики. Існують приклади, на які можна орієнтуватися, щоб гарантувати високу якість проекту. Кращі практики грунтуються на досвіді успішних проектів та можуть бути адаптовані до конкретних потреб проекту.

4)  Внутрішні стандарти компанії. Деякі компанії мають власні внутрішні стандарти якості, які стосуються проектів. Ці стандарти можуть бути більш суворими, ніж галузеві стандарти, і вони повинні мати пріоритет для проектів, що виконуються для цієї компанії.

5) Очікування команди. Члени команди також можуть мати власні очікування щодо якості проекту. Важливо, щоб менеджер переконався, що ці очікування враховані.

 

ВАЖЛИВІСТЬ ТЕСТУВАННЯ

Тестування - це процес перевірки програмного забезпечення для виявлення помилок та дефектів. Це критична частина розробки програмного забезпечення, яка допомагає гарантувати, що продукт відповідає вимогам та очікуванням користувачів.

 

Тестування дає наступні переваги:

Забезпечує якість продукту: допомагає виявити та виправити помилки до того, як продукт буде випущений, завдяки чому він буде більш надійним та зручним для користувачів.

Знижує ризики: допомагає виявити потенційні проблеми, які можуть призвести до затримок, перевитрат або проблем з безпекою.

Підвищує задоволеність клієнтів: випуск якісного продукту призводить до більш задоволених клієнтів, які з більшою ймовірністю рекомендуватимуть його іншим.

Економить час та гроші: виявлення та виправлення помилок на ранніх етапах розробки дешевшим, ніж їх виправлення після випуску продукту.

 

 

МЕТОДИ ТЕСТУВАННЯ

Існують два головні методи тестування, це мануальне та автоматизоване тестування.

1) Мануальне тестування - це процес тестування програмного забезпечення, який виконується вручну тестувальником шляхом моделювання поведінки користувача в інтерфейсах продукту. Воно може бути корисним якщо ви працюєте над невеликим проектом або якщо у вас немає графічного інтерфейсу. Також воно може бути корисним у випадках, коли вимоги до продукту часто змінюються або невизначені. 

Для успішного мануального тестування інженеру потрібні чек-листи та проектна документація.

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

Цей документ (наприклад таблиця Excel) допомагає створити структурований підхід до тестування, відстежити чи всі модулі програми були відтестовані, та які перевірки з тестування були успішними, а які ні. Чек-лист має бути написаний на основі проектної документації.

 

2) Автоматизоване тестування - це процес тестування програмного забезпечення, який виконується за допомогою скриптів або програм, які перевіряють продукт автоматично. Автоматизоване тестування може бути корисним у випадках, коли ви маєте великий проект або вам потрібно перевіряти продукт за допомогою багатьох тестів. Воно дозволяє скоротити час тестування та витрати на тестувальників, оскільки для виконання тестів потрібно всього лише запустити відповідні скрипти.

Для успішного автоматизованого тестування необхідно мати людину з навичками автоматизованого тестування, та чек-лист, який допоможе змоделювати тести, які QA планує автоматизувати. 

 

 

Види тестування 

✅  Функціональне тестування.

  • Що це: перевірка того, чи програмне забезпечення відповідає всім функціональним вимогам, зазначеним у документації.
  • Як це працює: тестувальники виконують дії, які очікують від користувачів, та перевіряють, чи програмне забезпечення реагує правильно.
  • Коли це робити: протягом усього процесу розробки, та обовязково перед релізом.
  • Приклад: ви замовили нову шафу. Це тестування перевіряє, чи всі функції шафи (полиці, дверцята, шухляди) працюють так, як ви очікуєте, згідно за інструкцією.

 

✅ Смоук тестування

  • Що це: швидке тестування ключових функцій програмного забезпечення, щоб переконатися, що воно працює на базовому рівні.
  • Як це працює: тестувальники виконують короткі сценарії, які охоплюють найважливіші функції.
  • Коли це робити: перед кожним новим релізом або після внесення значних змін.
  • Приклад: ви подивилися на вашу шафу в цілому, щоб побачити, чи на ній немає явних дефектів.

 

✅ Модульне тестування

  • Що це: тестування окремих модулів програмного забезпечення, щоб переконатися, що вони працюють правильно.
  • Як це працює: тестувальники пишуть тестові кейси для кожного модуля та виконують їх.
  • Коли це робити: після того, як модуль розроблений, але до його інтеграції з іншими модулями.
  • Приклад: ви тестуєте кожну окрему полицю, шухляду та дверцята вашої шафи, щоб переконатися, що вони правильно працюють.

 

✅ Регресійне тестування

  • Що це: перевірка того, чи нові зміни в програмному забезпеченні не призвели до появи нових помилок або не вплинули на роботу існуючих функцій.
  • Як це працює: тестувальники виконують тестові кейси, які вже використовувалися для попередніх релізів.
  • Коли це робити: після внесення будь-яких змін до програмного забезпечення.
  • Приклад: після того, як ви внесли зміни до шафи (наприклад, додали нову полицю), ви проводите регресійне тестування, щоб переконатися, що ці зміни не вплинули на роботу інших частин (дверцят, шухляд) шафи.

 

✅ Навантажувальне тестування

  • Що це: перевірка того, чи програмне забезпечення може витримувати високе навантаження користувачів.
  • Як це працює: тестувальники імітують одночасну роботу багатьох користувачів, щоб перевірити, чи програмне забезпечення не "падає" і не втрачає працездатність.
  • Коли це робити: перед релізом програмного забезпечення, особливо для онлайн сервісів.
  • Приклад: тестування перевіряє, чи шафа може витримати величезну кількість одягу, яку навішаєте на перекладину шафи.

 

✅ Стрес тестування

  • Що це: перевірка того, чи програмне забезпечення може витримувати екстремальні навантаження.
  • Як це працює: тестувальники намагаються "зламати" програмне забезпечення, створюючи незвичайні умови роботи.
  • Коли це робити: після навантажувального тестування, щоб знайти "слабкі місця" програмного забезпечення.
  • Приклад: це як спроба різко вмістити в шафу більше одягу, ніж заплановано по вмістимості шафи, щоб побачити, чи вона витримає.

 

✅ Тестування локалізації

  • Що це: перевірка того, чи програмне забезпечення правильно працює з різними мовами та локалями.
  • Як це працює: тестувальники перевіряють переклади, формати даних, часові пояси та інші локалізаційні аспекти.
  • Коли це робити: перед релізом програмного забезпечення на новий ринок.
  • Приклад: це перевірка чи інструкція на іноземній мові до вашої шафи, зрозуміла для людей з інших країн.

 

✅ Тестування безпеки, penetration

  • Що це: перевірка того, чи програмне забезпечення захищене від хакерів та інших кіберзагроз.
  • Як це працює: тестувальники намагаються знайти вразливості в програмному забезпеченні, які можуть бути використані хакерами.
  • Коли це робити: протягом усього процесу розробки, особливо перед релізом.
  • Приклад: це перевірка, чи ваша шафа має надійний замок, який неможливо зламати.

 

✅ Юзабіліті тестування

  • Що це: перевірка того, чи програмне забезпечення зручне та зрозуміле для користувачів.
  • Як це працює: тестувальники виконують тести з реальними користувачами, щоб побачити, чи вони можуть легко знаходити те, що їм потрібно, та виконувати потрібні завдання.
  • Коли це робити: протягом усього процесу розробки, щоб зробити програмне забезпечення максимально зручним.
  • Приклад: перевірка чи ваша шафа має зручні ручки, полички та має зручне розташування всіх деталей для вашого одягу.

 

Тестування програмного забезпечення - це невід'ємна частина будь-якого успішного проекту. Більше про технічні процеси, в яких треба орієнтуватися проектному менеджеру, за посиланнями нижче:

 

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Tatiana 992
Приєднався: 1 рік тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід