Опишите тест кейс для отсутствующего города в API
Что проверяют
Отличаете ли вы «города нет в справочнике» от «параметр не передан» и «параметр пустой», и умеете ли описать проверку так, чтобы её повторил другой человек без вас. Заодно смотрят, проверяете ли вы хоть что-то кроме кода ответа.
Как отвечать
Начните с уточнения: что здесь считается отсутствующим городом. Валидное по формату, но несуществующее значение, пустая строка, полное отсутствие параметра, опечатка, другой регистр или язык. Это разные проверки с разными ожиданиями, одним кейсом они не закрываются.
Дальше каркас: название, предусловия (стенд поднят, справочник в известном состоянии), тестовые данные, шаги, ожидаемый результат, постусловие. Ожидаемый результат берётся из спецификации, а не угадывается. Типовая семантика такая: для поиска несуществующий город это 200 с пустой коллекцией, для получения ресурса по идентификатору 404, для пропущенного обязательного параметра 400.
Проверяйте не только статус: тело по схеме, машиночитаемый код ошибки, заголовок Content-Type, отсутствие внутренних деталей в сообщении, время ответа и то, что в системе ничего не создалось.
Где спотыкаются
Пишут в ожидаемом результате «400 или 404». Такой кейс не может упасть, значит он не проверяет ничего. Если в спецификации дырка, это дефект документации, его и заводят, а в кейсе фиксируют одно согласованное значение.
Второе: смотрят только код ответа. Сервис отдаёт 404 со стектрейсом в теле или 200 с полем ошибки внутри, и автотест спокойно красит такой прогон зелёным.
Третье: забывают про негативные данные и локаль. Очень длинная строка, спецсимволы, иной алфавит, пробелы по краям, регистр. Отдельно стоит убедиться, что ответ на мусорный ввод не раскрывает запрос к базе и не пишет персональные данные в общие логи.