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

Проверки и контракты

junior~25 мин

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

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

Тимур сделал бонусный счёт зрителя: на него падают возвраты, с него можно платить за билеты. В прошлом году похожий счёт у Глеба уходил в минус, и все тесты были зелёные. Мне нужны тесты, которые знают, что счёту можно, а что нельзя. И посмотри заодно тесты Глеба на промокоды: подозреваю, они не падают никогда.

В прошлом уроке ты резал простыню на тесты по правилам. Правила там были готовые, из спецификации. Сегодня спецификации на счёт нет, есть только код Тимура и его слова «ну там всё очевидно». Научимся сами выписывать, что функция обещает, и превращать каждое обещание в проверку.

Прокат самоката

Ты берёшь самокат напрокат. В договоре три вида пунктов.

Твои обязанности: заряд телефона больше нуля, на счёте хватает денег на первую минуту. Не выполнил, самокат не разблокируется, и прокат в этом не виноват.

Обещания проката: если ты всё выполнил, самокат разблокируется, а через минуту со счёта спишут ровно цену минуты.

И то, что верно всегда, что бы ни случилось: один самокат не может ехать под двумя людьми сразу. Ни после поездки, ни после ошибки оплаты, ни после сбоя связи.

У каждой функции есть такой же договор, даже если его никто не записал. Тестировщик его записывает и проверяет каждый пункт.

урок из курса

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

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