Считается ли этот сценарий функциональным тестированием или какой-либо другой формой тестирования? - PullRequest
0 голосов
/ 13 ноября 2009

Я пишу тесты, которые проверяют, что внешний сервис предоставляет данные инвентаризации (на их тестовом сервере), с которыми я могу проверить, а также отменить. Это тестирование в мире путешествий / отелей, и мне нужно сделать предварительный заказ, а затем отменить его.

Я делаю следующие шаги: 1) поиск инвентаря (номер в гостинице) на 90 дней в будущем 2) получить первый результат и сделать с ним пробную проверку 3) отменить заказ и подтвердить, что я получаю номер отмены 4) подтвердить, что соответствующие записи базы данных выполнены

Это тестирование касается самых разных частей системы, и у меня (в настоящее время) нет механизмов для изоляции каждой из них. Поэтому я не рассматриваю это модульное тестирование. Однако это можно назвать функциональным тестированием или чем-то еще?

В качестве продолжения это, вероятно, поможет изолировать и написать тесты для каждой из подсистем, с которыми я взаимодействую. С чего бы вам, ребята, начать процесс изоляции?

1 Ответ

0 голосов
/ 13 ноября 2009

Каждый из перечисленных вами шагов является хорошим кандидатом на изоляцию:

  1. Получить инвентарь
  2. Выезд
  3. Отмена
  4. Получить отмену #

Объединение их вместе, как вы делаете сейчас, является функцией каждого из них, так или иначе работающих индивидуально.

В настоящее время вы тестируете функциональность (хорошо!), Но вы не упомянули о надежности.

Я бы сделал набор данных для каждой функции (как я перечислил), который попытался бы разбить ее и исследовать угловые случаи. Попробуйте выполнить бронирование в прошлом, попробуйте перезаписать данные POST, попробуйте перезаписать комнату, попробуйте одновременно забронировать одну и ту же комнату дважды и т. Д. Все это сохраняется как входные параметры в тесте, который вы написали только для одного изолята. вашего заявления.

Разные изоляты будут иметь разные данные, которые полезны / значимы для тестирования, но с каждым изменением / фиксацией / сборкой вы сможете запускать тестовые данные для каждой функции и иметь правильные результаты (т.е. вы возвращаете запрос, проверить номер, отменить бронирование или получить отмену #)

...