Баги, пов’язані з міграцією

Привіт друзі! Сьогодні хочу розповісти про досить розповсюджену категорію багів, про які завжди варто пам’ятати під час тестування.

Уявіть собі ситуацію – є продукт, вже розроблений і протестований, можливо, що ним навіть користуються. Нехай для прикладу це буде магазин ігор типу Steam. І тут замовник просить додати нову супер-дупер круту фічу, щоб користуватись застосунком стало ще приємніше. Наприклад – додати в профіль гравця дату народження, щоб на його день народження дарувати нову гру 🎁 та перевіряти, чи може гравець грати в дорослі ігри 🔞

Розробники додають нове обов’язкове поле в інтерфейсі, нове поле в базі, роблять перевірки віку для ігор та аж цілу джобу, що буде перевіряти дні народження 🎂 (а також, щоб подарунки дарувались не частіше ніж раз на рік 😁)

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

Ви бігом дивитесь логи – ваша джоба, що перевіряє дні народження, очікує, що вони завжди є! Поле ж обов’язкове, логічно. Але існуючі користувачі його не вказували ¯_(ツ)_/¯

✅ коли додається нове поле – завжди цікавтесь, а яке в нього буде значення по замовчанню (default), чи як користувачам дати знати, що дані треба оновити (наприклад – одноразовий попап). Одразу питайте – хто буде робити міграцію даних?

Виправили баг, а користувачі знов не задоволені – ігри не запускаються 🤬 І дійсно, ми ж очікували, що у всіх ігор вказано рейтинг, в тестовому середовищі ми проставили. Але в продуктовому – сотні тисяч ігор!

✅ якщо змінюються хоч якісь дані чи додаються функції, зав1язані на дані – завжди питайте – звідки ті дані мають взятись і яка поведінка системи, якщо цих даних нема. Вбережете себе від багатьох неприємних багів


Вірте в ЗСУ!
Все буде Україна! 🇺🇦

Позначки:,
21 Серпня 2022
Автор: 
  • Hunting a Linux kernel bug
  • 🏆 Найбільше IT-змагання в Європі DEV Challenge оголошує реєстрацію на 19-й сезон
  • CTFL 2. Testing Throughout the Software Development Lifecycle
  • Пруфи

Залишити коментар

Залишити вiдгук