Джерело
QA Co-pilot | Недільний челендж: AI написав тест на логін. Знайдіть 3 проблемиПопрос...
22 Охват/переглядів
2026-10-18 08:30
Повідомлення №402
🧩 Недільний челендж: AI написав тест на логін. Знайдіть 3 проблеми
Попросив AI-асистента «напиши тест, що логін працює». Ось що він видав (код на картинці 👆).
Тест зелений. Але спокійно спати з ним не можна 😅
Подивіться уважно на рядки 5, 6 і 7 і спробуйте знайти проблеми самі, перш ніж відкривати відповіді.
Відповіді:
1️⃣ Рядок 7 — `expect(page).toBeTruthy()` нічого не перевіряє. Сторінка існує завжди, навіть якщо логін зламаний. Краще: `await expect(page).toHaveURL('/dashboard')` або перевірити ім'я користувача в шапці
2️⃣ Рядок 6 — `waitForTimeout(3000)` — пряма дорога до flaky-тесту: на повільному CI 3 секунд не вистачить, на швидкому — марно чекаємо. Playwright сам чекає в `expect`, тож цей рядок просто видаляємо
3️⃣ Рядок 5 — `click('button')` клікне по першій кнопці на сторінці. Додадуть кнопку «Показати пароль» — і тест натисне не те. Краще: `getByRole('button', { name: 'Увійти' })`
Бонус: пароль прямо в коді. Для тестового акаунта це не катастрофа, але краще тримати його в змінних оточення
Висновок тижня в одному тесті: AI швидко пише тест, який проходить. Наша робота — щоб він ще й перевіряв 😉
👇 Скільки проблем знайшли до того, як відкрили спойлери? Голосуйте у вікторині нижче!
Попросив AI-асистента «напиши тест, що логін працює». Ось що він видав (код на картинці 👆).
Тест зелений. Але спокійно спати з ним не можна 😅
Подивіться уважно на рядки 5, 6 і 7 і спробуйте знайти проблеми самі, перш ніж відкривати відповіді.
Відповіді:
1️⃣ Рядок 7 — `expect(page).toBeTruthy()` нічого не перевіряє. Сторінка існує завжди, навіть якщо логін зламаний. Краще: `await expect(page).toHaveURL('/dashboard')` або перевірити ім'я користувача в шапці
2️⃣ Рядок 6 — `waitForTimeout(3000)` — пряма дорога до flaky-тесту: на повільному CI 3 секунд не вистачить, на швидкому — марно чекаємо. Playwright сам чекає в `expect`, тож цей рядок просто видаляємо
3️⃣ Рядок 5 — `click('button')` клікне по першій кнопці на сторінці. Додадуть кнопку «Показати пароль» — і тест натисне не те. Краще: `getByRole('button', { name: 'Увійти' })`
Бонус: пароль прямо в коді. Для тестового акаунта це не катастрофа, але краще тримати його в змінних оточення
Висновок тижня в одному тесті: AI швидко пише тест, який проходить. Наша робота — щоб він ще й перевіряв 😉
👇 Скільки проблем знайшли до того, як відкрили спойлери? Голосуйте у вікторині нижче!