Тестирование методом серого ящика

cat-in-gray-box

При тестировании методом серого ящика (gray-box testing) мы имеем некоторое представление о внутренней структуре приложения, но, как и в случае с тестированием методом чёрного ящика (black-box testing), опираемся в основном на спецификацию.

Например, мы можем получить доступ к схеме базы данных, чтобы провести дополнительные проверки или обнаружить несоответствия требованиям ещё на этапе изучения документации.

Базы данных будут рассмотрены позже тут.


Задача

Изучите требования и схему базы данных. Проведите тестирование методом серого ящика. Известно, что сервер при получении запроса обновляет в базе данных значение поля name сущности cat.


Форма для отправки HTTP-запроса

Требования к API:

  • URL адрес запрашиваемого ресурса: /hello-gray-box-server (в данном случае используем только окончание адреса, т.н. эндпоинт)
  • HTTP метод, соответствующий обновлению данных на сервере
  • Заголовок с типом контента application/json (указывает на то, что данные будут переданы в JSON формате)
  • Тело запроса должно содержать ключ name с любым строковым значением в JSON формате

Ключ Тип Обязательность Ограничения
name строка + от 1 до 30 символов


Схема данных сущности cat
database-schema

Состав полей сущности cat в базе данных:

  • name - столбец, содержащий имя
  • age - столбец, содержащий возраст
  • id - идентификатор записи

Также на поля в базе данных наложены ограничения типов:

  • varchar(16) - строка длиной до 16 символов
  • integer - число

Что-то подобное мы уже делали в задаче из раздела про API. На этот раз наша цель - найти баг, опираясь на требования и дополнительные знания о схеме базы данных.