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

Техники локализации плавающих дефектов
онлайн, начало 19 апреля
Тестирование безопасности
онлайн, начало 21 апреля
Тестирование мобильных приложений
онлайн, начало 21 апреля
Автоматизатор мобильных приложений
онлайн, начало 21 апреля
Фотография

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


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

#1 Hooter

Hooter

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

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

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

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

#2 barancev

barancev

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

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


Отправлено 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 853 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 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


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн



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

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

Яндекс.Метрика
Реклама на портале