Smoke Testing та Sanity Testing

Smoke Testing та Sanity Testing — це два типи поверхневого тестування, які використовуються для швидкої перевірки стабільності та готовності програмного продукту до подальшого (глибшого) тестування. Вони дуже схожі, але виконуються в різних ситуаціях і з різною метою.

Smoke Testing (Димове тестування)
Що це?
Це початкове базове тестування програми після нового білду, щоб перевірити, чи основні функції працюють, і чи взагалі є сенс проводити подальше тестування.
Назва походить з апаратного тестування: якщо пристрій “не димить” після увімкнення, з ним можна працювати далі.
Коли виконується?
Після отримання нового білду, перед будь-яким глибшим тестуванням.
Мета:
Перевірити, що критичні функції (логін, навігація, запуск основних модулів) працюють, і продукт не «падає» одразу.
Визначити, чи взагалі білд придатний для подальшого тестування.
Характеристики:
Високорівневе тестування
Покриває всю систему поверхнево
Автоматизоване або ручне
Швидке: займає кілька хвилин до години
Sanity Testing (Тестування працездатності)
Що це?
Це поверхневе тестування конкретної частини програми, зазвичай після виправлення багу або незначної зміни, щоб переконатися, що ця зміна працює як очікується, і не зламала нічого критичного поруч.
Коли виконується?
Після невеликих змін у коді, наприклад:
Виправлення багів
Локальні зміни в логіці
Невеликі UI-оновлення

Мета:
Перевірити, що нововнесені зміни працюють і що ключова пов’язана функціональність не порушена.
Характеристики:
Низькорівневе, вузьконаправлене тестування
Фокусується на одній функціональності або модулі
Зазвичай ручне
Виконується швидко (але може бути частиною регресії)

Основні відмінності

ХарактеристикаSmoke TestingSanity Testing
МетаПеревірити стабільність системи загаломПеревірити логіку після конкретної зміни
Коли використовуєтьсяПісля кожного нового білдуПісля фіксу або малої зміни
ПокриттяШироке, поверхневеВузьке, глибше в рамках однієї фічі
ФокусОсновні функції програмиКонкретна зміна чи баг
АвтоматизаціяЧасто автоматизованеПереважно ручне
Чи продовжувати тестування?Якщо пройдено — запускається повне тестуванняЯкщо пройдено — можна не запускати повну регресію

Висновок

  • Smoke Testing — це питання: “Чи система взагалі працює?”
  • Sanity Testing — це питання: “Чи конкретна зміна не зламала щось важливе?”

Обидва типи тестування важливі для економії часу та ресурсів команди, бо дозволяють швидко відсіювати непридатні білди або невдалі фікси.

Leave a Reply

Your email address will not be published. Required fields are marked *