Раздел 43 · Автотестирование с нуля

Таблицы решений, состояния и pairwise

junior~25 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Вера Ланская · лид QA, #qa-antrakt

Тимур нашёл в логах заказ, который вернули, не оплатив. Покупатель получил на карту 5000 рублей, которых не платил. Нарисуй, через какие статусы проходит заказ, и скажи, какие переходы мы проверяем, а каких вообще не должно быть.

В прошлом уроке мы проверяли одно поле: подаёшь число, смотришь ответ. С заказом так не выйдет. Он живёт несколько дней: его создают, оплачивают, по нему приходит билет, иногда его возвращают. Одно и то же действие «вернуть» в одном статусе законно, а в другом дарит покупателю 5000 рублей. Значит, проверять нужно не только вход, но и то, в каком состоянии система его получила.

Посылка на почте

Вспомни, как идёт посылка: «принята», «в пути», «в пункте выдачи», «выдана». Каждый статус разрешает свои действия. Посылку в пункте выдачи можно забрать или вернуть отправителю. Посылку в пути забрать нельзя, её ещё нет на полке. Выданную посылку нельзя выдать второй раз.

Если почта вдруг выдаст посылку, которая ещё едет, это баг. И найти его можно, не читая ни строчки кода: хватит выписать все статусы, все действия и спросить про каждую пару «а так можно?».

Заказ в «Антракте» устроен так же.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.