Тести з телефону, разом із критеріями покриття
Шість рівнів тестів, критерії покриття від інструкцій до MC/DC і чому мати результати в телефоні — перевага.
Вкладка Проєкт → Тести — це не лише перелік того, що падає. Це місце, де ви замовляєте тести, читаєте їхню історію і переходите від невдалого випадку до того, що він насправді перевіряє — і все це з телефону, без жодного рядка промпту.
Рівні
Тести поділені на шість рівнів: модульні, інтеграційні, системні, E2E, продуктивність UI і продуктивність бекенду. Вони перемикаються вгорі і кожен тримає власну історію Запусків.
Цей поділ не косметичний. Невдалий модульний тест означає щось інше, ніж невдалий E2E — а коли ви бачите обидва в одному списку, ви втрачаєте саме ту інформацію, для якої рівні існують.
Критерії покриття — і чому взагалі
Коли ви замовите тести реченням «напиши тести», ви отримаєте тести. Питання в тому, що вони перевіряють — і відповіді на це немає, доки щось не впаде на продакшні.
Критерій покриття — це правило, яке каже, коли тестів достатньо. Це не відсоток; це речення, яке можна перевірити:
- Покриття інструкцій
- Кожна інструкція виконується хоч раз. Найдешевше і найслабше — код запустився, але про його гілки це не каже нічого.
- Покриття гілок
- Кожна умова один раз виходить істинною і один раз хибною. Саме тут тести починають знаходити помилки.
- MC/DC
- Для кожної часткової умови показано, що вона сама змінює результат. Дорого, але для складених умов це єдиний спосіб дізнатися, що одна з них зайва.
- Pair-wise
- Кожна пара значень із різних характеристик сходиться хоч в одному тесті. Частка комбінацій, більшість помилок.
У застосунку ви обираєте критерій під час замовлення тестів і бачите, наскільки він вимогливий — раніше, ніж Агент почне працювати. Це та різниця від «напиши тести»: ви знаєте, що отримаєте, а Агент знає, коли зупинитись.
Огляд критеріїв для вашого проєкту нехай складе Агент. Він додасть, наскільки вимогливий кожен саме тут — для парсера це одне, для форми інше.
Чому мати це в телефоні — перевага
- Результати читаються і без з'єднання. Запуски завантажені, тож копатися в них можна й у літаку.
- Від невдалого випадку є перехід до його опису в документації і до знімка екрана з моменту падіння. Не до сотні рядків журналу.
- Історія через Запуски показує нестабільний тест — той, що раз проходить, а наступного разу ні. У терміналі ви його пам'ятаєте, тут його видно.
- Виміряні значення в тестах продуктивності мають перебіг через Запуски. Одне число про вимірювання не каже нічого, напрямок — так.
- Замовити наступні тести — це кілька дотиків, а не писання промпту. Обирається рівень і критерій, решту зробить Агент.
Звідки беруться результати
Застосунок читає JUnit XML, тобто формат, який уміє видати майже кожен інструмент тестування. Агент записує його в проєкт, а телефон завантажує разом із дзеркалом — жодної служби між ними, жодного завантаження кудись.
Вигляд, у якому записуються результати, задає прикладний skill. Skill'и додаються в проєкт із вкладки Проєкт, розділ Прикладні skill'и; без них ви побачите лише те, що в проєкті вже є.
Застрягло десь інде, ніж тут написано? Напишіть на support@coden-app.com.