Основанные на модели стратегии тестирования

Какие стратегии вы использовали при тестировании на основе моделей?

  • Используете ли вы его исключительно для интеграционного тестирования или распространяете его на другие области (проверка устройства / функционала / системы / спецификации)?
  • Вы строите сфокусированные «запечатанные» модели или со временем вырабатываете сложные модели Onibus?
  • Когда в производственном цикле вы инвестируете в создание MBT?
  • Какие библиотеки базовых тестов вы создаете исключительно для MBT?
  • Какую разницу вы вносите в свои функциональные базовые тестовые библиотеки для лучшей поддержки MBT?

25.08.2008 13:57:42
4 ОТВЕТА

Мы не делали много-много I & T и почти исключительно используем модульное тестирование, приправленное небольшим тестированием системы. Но мы сосредоточены на модульном тестировании. Я довольно строг в отношении API, которые мы создаем / предоставляем, поэтому предполагается, что, если он работает сам по себе, он будет работать совместно, и в этом пока что не было много ошибок.

Наши модели ориентированы на одну цель / модуль с как можно меньшими зависимостями.

Фокус всегда должен начинаться как можно раньше (TDD-своего рода), но, к сожалению, мы не всегда добираемся до этого. Проблема в том, что вы всегда должны продавать это руководству, и тогда это сложно, потому что в то время как тестирование повышает стабильность (общий контроль качества), люди извне (вне технологии) не могут по-настоящему относиться к тому, что это значит, пока что-то плохое не произошло.

Поскольку мы используем PHP, мы используем PHPUnit для модульных тестов. В общем, мы делаем CI с помощью различных инструментов. :)

1
25.08.2008 17:19:50

[Есть несколько очерков, которые стоит прочитать по этому вопросу. Переполнение стека не позволит мне публиковать более одного сообщения, поэтому я собрал их в блоге, ссылка на который есть в конце этого ответа.]

Сначала краткая заметка об условиях. Я склонен использовать определение «Тестирование» Джеймса Баха как «Опросить продукт, чтобы оценить его». Все тесты основаны на / mental / моделях тестируемого приложения. Однако термин «тестирование на основе моделей» обычно используется для описания программирования модели, которую можно изучить с помощью автоматизации. Например, можно указать несколько состояний, в которых может находиться приложение, различные пути между этими состояниями и определенные утверждения о том, что должно происходить при переходе между этими состояниями. Затем можно заставить сценарии выполнять полуслучайные перестановки переходов внутри модели состояния, регистрируя потенциально интересные результаты.

Здесь есть реальные затраты: создание полезной модели, создание алгоритмов для ее изучения, ведение журналов систем, которые позволяют просочиться на интересные сбои и т. Д. Независимо от того, являются ли затраты разумными, во многом зависит от того, какие вопросы вы хотите отвечать? В общем, начните с «Что я хочу знать? И как мне лучше узнать об этом? вместо того, чтобы искать использование интересной техники.

Все это говорит о том, что некоторые отличные тестеры прошли долгий путь от автоматических тестов на основе моделей. Иногда у нас возникают важные вопросы о тестируемом приложении, которые лучше всего анализировать с помощью автоматических полуграндомизированных тестов большого объема. Гарри Робинсон (один из ведущих теоретиков и сторонников тестирования на основе моделей) описывает один очень яркий пример, когда он обнаружил много интересных ошибок в направлениях движения Google, используя тест на основе моделей (написанный с помощью библиотеки Watir в ruby). 1

Робинсон успешно использовал MBT в таких компаниях, как Bell Labs, Microsoft и Google, и написал несколько полезных статей. [2]

Бен Симо (еще один великий мыслитель и писатель по тестированию) также написал несколько полезных статей о тестировании на основе моделей. [3]

Наконец, несколько предостережений: чтобы правильно использовать стратегию, нужно изучить как ее сильные, так и слабые стороны. С этой целью Джеймс Бах отлично рассказал о границах и проблемах тестирования на основе моделей. Этот пост в блоге содержит ссылки Баха на его часовую беседу (и соответствующие слайды). [4]

Я закончу запиской о том, что Борис Бейзер называет парадоксом пестицидов: «Каждый метод, который вы используете для предотвращения или поиска ошибок, оставляет след от более тонких ошибок, против которых эти методы неэффективны». Скриптовые тесты (независимо от того, выполняются ли они компьютером или человеком) особенно уязвимы для парадокса пестицидов, они стремятся находить все меньше и меньше полезной информации при каждом выполнении одного и того же скрипта. Люди иногда обращаются к тестированию на основе моделей, думая, что это решает проблему пестицидов. В некоторых контекстах тестирование на основе моделей вполне может обнаружить гораздо больший набор ошибок, чем данный набор тестов с использованием сценариев ... но следует помнить, что он все еще принципиально ограничен парадоксом пестицидов. Помня о его ограничениях - и начиная с вопросов, которые MBT хорошо решает - он может стать очень мощной стратегией тестирования.

Ссылки на все упомянутые выше эссе можно найти здесь: http://testingjeff.wordpress.com/2009/06/03/question-about-model-based-testing/

14
3.06.2009 16:59:56

Лучший способ - попробовать самостоятельно инструмент для тестирования на основе моделей. Это лучший способ узнать, адаптировано ли тестирование на основе моделей в вашем контексте. И какие стратегии являются хорошими.

Я советую вам инструмент "MaTeLo" All4Tec (www.all4tec.net)

«MaTeLo - это генератор тестовых случаев для функционального и системного тестирования черного ящика. В соответствии с подходом тестирования на основе моделей MaTeLo использует цепочки Маркова для моделирования теста. Это дополнение для статистики позволяет систематически проверять продукты. Эффективность достигается за счет сокращения необходимых людских ресурсов, увеличение повторного использования модели и повышение релевантности стратегии тестирования (из-за цели надежности). MaTeLo является независимым и удобным для пользователя, предлагает действия по валидации перейти от сценариев тестирования к реальному тестированию инжиниринг и сосредоточиться на реальной добавленной стоимости тестирования: планы тестирования »

Вы можете запросить пробную лицензию и попробовать самостоятельно.

Вы можете найти некоторые примеры здесь: http://www.all4tec.net/wiki/index.php?title=Tutorials

0
1.09.2009 16:38:56

Гарри Робинсон, автор MBT-книг и много работал с ним, например, в Google, и у Microsoft есть этот сайт с отличной информацией и техническими документами.

http://www.geocities.com/model_based_testing/

1
30.03.2010 13:21:09