Перейти к содержимому

Фотография

Stubbing - что это такое?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Hooter

Hooter

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • Город:Ростов-на-Дону

Отправлено 24 августа 2005 - 06:35

При работе с AdaTEST и Cantata++ столкнулся с понятием stubbing?
Кто-нибудь сталкивался?
Что это такое? Как лучше использовать? В каких случаях?
  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 29 августа 2005 - 17:08

Stubbing -- это разработка "заглушек" (по-английски stub), которые временно заменяют несуществующую или ненужную функциональность, эмулируя ее некоторым способом.

Используется это при тестировании (а часто и при отладке тоже) для того, чтобы "разорвать" зависимости между частями системы и тестировать их (или отлаживать) независимо друг от друга.

Конкретный пример. Разрабатывается приложение над БД, формочки уже готовы, можно начинать делать тесты, но бизнес-логика реализована неполностью, БД не готова. Что делать? Заменить в бизнес-слое неработающие функции, которые должны обращаться к БД, заглушками, которые, скажем, читают данные из файла, или возвращают какие-то "правдоподобные" случайно сгенерированные данные, а то и просто всегда одно и то же значение. И используете эту "заглушку" при модульном тестировании и для отладки тестовых сценариев. А когда появится реализация, пригодная для интеграционного тестирования -- вот они и тесты, тут как тут, готовые и отлаженные.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#3 Hooter

Hooter

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • Город:Ростов-на-Дону

Отправлено 30 августа 2005 - 11:26

И используете эту "заглушку" при модульном тестировании и для отладки тестовых сценариев. А когда появится реализация, пригодная для интеграционного тестирования -- вот они и тесты, тут как тут, готовые и отлаженные.


То есть, стаб-процедуры - это временное явление в наборе тестов?
Или они "живут" до самого конца?
  • 0

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 871 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 30 августа 2005 - 13:12

И используете эту "заглушку" при модульном тестировании и для отладки тестовых сценариев. А когда появится реализация, пригодная для интеграционного тестирования -- вот они и тесты, тут как тут, готовые и отлаженные.


То есть, стаб-процедуры - это временное явление в наборе тестов?
Или они "живут" до самого конца?

Просмотр сообщения

Раз на раз не приходится. Иногда после интеграционного тестирования их можно выкинуть. Иногда имеет смысл оставить, если модульное тестирование переходит в разряд регрессионного. А иногда без них вообще нельзя обойтись, если тестируется система принципиально незамкнутая. Например, при тестировании слоя в стеке протоколов всегда приходится писать заглушки сверху и снизу, чтобы тестировать этот слой отдельно от остальных и иметь полный контроль над формированием данных (сетевых пакетов).
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#5 dlg99

dlg99

    Специалист

  • Members
  • PipPipPipPipPip
  • 609 сообщений
  • ФИО:Andrey Yegorov
  • Город:Redmond, WA

Отправлено 30 августа 2005 - 14:44


То есть, стаб-процедуры - это временное явление в наборе тестов?
Или они "живут" до самого конца?

Раз на раз не приходится. Иногда после интеграционного тестирования их можно выкинуть. Иногда имеет смысл оставить, если модульное тестирование переходит в разряд регрессионного. А иногда без них вообще нельзя обойтись, если тестируется система принципиально незамкнутая.

Просмотр сообщения


Например, для тестирования систем оплаты кредитыми картами (e-stores etc.) просто поставляется stub симулирующий credit card processing.
Иначе пришлось бы с настоящих кредиток деньги снимать при тестировании
:good:
  • 0
Andrey Yegorov. Изображение

#6 serega

serega

    Опытный участник

  • Members
  • PipPipPipPip
  • 355 сообщений
  • Город:Москва

Отправлено 30 августа 2005 - 15:08

При разработке/тестировании фич для новых моделей сотовых телефонов, производитель предоставляет разработчку программный эмулятор телефона. Это была супер заглушка на моей памяти:)
  • 0

#7 Hooter

Hooter

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • Город:Ростов-на-Дону

Отправлено 31 августа 2005 - 04:43

Я понял. Спасибо всем.
  • 0

#8 PavelB

PavelB

    Постоянный участник

  • Members
  • PipPipPip
  • 169 сообщений
  • Город:Санкт-Петербург

Отправлено 21 сентября 2005 - 14:32

И, наверное, если такое используется, то кроме всего прочего, надо будет проверить, что все эти заглушки в рабочей версии были успешно заменены на нормальный код
  • 0

#9 Hooter

Hooter

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • Город:Ростов-на-Дону

Отправлено 12 октября 2005 - 10:25

2PavelB: Я думаю, что эта проблема достаточно легко решается с помощью тестирования покрытия функционального кода. По крайней мере, я именно так вижу решение этой проблемы.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных