Тестування з AI-підтримкою

Просунуте AI‑асистоване програмування для розробників

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Продовжуємо з Atlas

Розробник переглядає код із щитом безпеки

 

  • Інтегруємо Atlas у Wayfarer Labs
  • ✅ Потрібно, щоб код був протестований, безпечний і стійкий
  • 🤖 AI прискорює оцінку й тестування невідомого коду
Просунуте AI‑асистоване програмування для розробників

Навіщо тестування з AI?

 

  • Виявити нетестовані шляхи
  • Знайти граничні випадки
  • Виявити потенційні вразливості

 

🤖 Почніть з прохання до AI оцінити зрілість тестування коду

Лупа, що досліджує код із іконками багів

Просунуте AI‑асистоване програмування для розробників

Оцінка зрілості тестування

Ви старший інженер QA і архітектор ПЗ.

Оцініть, наскільки добре протестована кодова база, і визначте найризикованіші прогалини. Оцініть за шкалою 0–5:

  • Покриття критичних шляхів
  • Обробку граничних випадків
  • Захист від регресій
  • CI/CD‑автоматизацію

Додатково визначте наявні типи тестів: unit, інтеграційні, end‑to‑end, регресійні, property або fuzz‑тести.

Просунуте AI‑асистоване програмування для розробників

Результати зрілості тестування

оцінки coverage

Просунуте AI‑асистоване програмування для розробників

Формуємо базовий рівень

команди для coverage

Просунуте AI‑асистоване програмування для розробників

Аналіз результатів coverage

профіль coverage

Просунуте AI‑асистоване програмування для розробників

Стратегії тестування

 

Схема стратегій тестування

 

  • Дослідницьке → зрозуміти поведінку
  • Функціональне → перевірити виходи
  • Регресійне → захистити наявну поведінку
  • Автоматизоване → швидкий, повторюваний зворотний зв'язок
Просунуте AI‑асистоване програмування для розробників

Побудова test suite

 

Що таке test suite?

👉 Структурований набір тестів, даних, інструментів і правил, що забезпечує сталість поведінки системи з часом.

🤖 Підказка для test suite:

Ви старший інженер ПЗ. Згенеруйте unit- і інтеграційні тести для критичних шляхів цього коду. Включіть:

  • Звичайні випадки
  • Граничні випадки
  • Сценарії відмов
  • Чіткі твердження (assertions) і фікстури

Також надайте список усіх згенерованих тестів і однореченний опис кожного.

Просунуте AI‑асистоване програмування для розробників

Перевірка покращення coverage

Список тестів, згенерованих AI:

ai-generated-tests2.png

Новий coverage коду:

new-coverage2.png

Просунуте AI‑асистоване програмування для розробників

Runtime‑захисти

 

Інʼєкція кастомних даних як вхідних ➡ Atlas ❗

🤖 Підказка з runtime‑захисту:

Під час інʼєкції або обробки кастомних даних додайте runtime‑захисти:

  • Валідуйте вхідні дані перед обробкою (типи, обовʼязкові поля, неочікувані значення)
  • Перевіряйте схеми на кожній межі конвеєра; не припускайте, що дані з апстріму чисті
  • Повертавайте чіткі повідомлення про помилки з вказанням, що і де зламалося
  • Застосовуйте безпечні значення за замовчуванням для необовʼязкових полів, а не залишайте їх невизначеними
Просунуте AI‑асистоване програмування для розробників

CI-автоматизація

ci-coverage.png

Просунуте AI‑асистоване програмування для розробників

Перейдемо до практики!

Просунуте AI‑асистоване програмування для розробників

Preparing Video For Download...