Термін

Автоматизоване тестування

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

Оновлено

Що це означає

Автоматизоване тестування означає, що правильність програми перевіряють програми, а не люди кліками. Тести запускаються автоматично після кожної зміни коду й одразу показують, чи не перестало щось працювати.

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

Тести є частиною CI/CD і культури DevOps. Вони дають змогу розгортати зміни часто й безпечно, бо кожна правка проходить ту саму перевірку, що й під час першого випуску.

Як це працює на практиці

Під час замовної розробки варто записати в договорі, що виконавець передає й тести, а їх покриття буде певним. Без них кожна наступна правка ризикованіша та дорожча.

Тести працюють у staging або ізольованому середовищі з тестовими даними. Якщо система працює з персональними чи фінансовими даними, тестові дані мають бути анонімізовані.

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

На що звернути увагу

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

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

Потрібно пояснити термін на вашій конкретній ситуації? Консультації від 55 € / година без ПДВ, залежно від теми та складності.