Стендап Сьогодні
📢
Канал в Telegram @stendap_sogodni
🦣
@stendap_sogodni@shevtsov.me в Федиверсі
27.11.2025
Використання ШІ для заповнення тестів
Для мене головною областю використання ШІ є, певно, ті місця, де я сам не дотягую. Тобто Ші не заміняє мою роботу, а доповнює її, часто дуже вигідно.
От взяти нещодавню ситуацію. Треба було для Сінтри щось підправити в функції форматування діапазонів дат. В нас там дуже розумна функція, яка вміє, наприклад, 20-27 листопада, якщо дати в одному місяці. Тестів на цю функцію — немає. Бо ніколи не було часу писати тести, ви що, це ж сайд-проєкт.
Поки ти таку функцію пишеш вперше, то зрозуміло, що тестуєш по всякому вручну, та знає, що вона працює. Але якщо стає задача щось додати роки потому — то ніколи не вгадаєш, який крайовий випадок зламався.
Отже… відкриваю агента, і кажу - “покрий цю функцію тестами, врахуй всі комбінації вхідних параметрів та всі розгалуження.” Ну він і нагенерував пачку тестів. Щоправда, спочатку це були не найкраще написані тести — багато було повторень. Тож попросив у матричному стилі. Повторень стало менше!
Ще ШІ чомусь почав з дуже дивних перевірок регулярними виразами, хоча функція вертає короткий рядок, який можна перевірити цілком. Ба більше, я й хотів перевіряти, що результат збережеться! Ну то теж попросив переробити на пряме порівняння.
Спочатку, зауважу, я покрив тестами код, який вже існував. Навіть спеціально вказав не змінювати реалізацію! Бо задача стояла зафіксувати поведінку такою, яка вона є. А далі вже як були тести, настав час спокійно доробляти.
Гадаю, буде цікаво подивитися, що там за тести, тож ось вони. Цей код практично повністю згенерований ШІ. Але розумієте, якби не ШІ, я б ніколи не став писати ці тести — просто код був би з помилками.

