2008-08-25 2 views
12

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

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

ответ

1

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

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

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

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

14

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

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

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

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

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

Ben Simo (еще один отличный мыслитель и писатель) также написал немало, чтобы прочитать о тестировании на основе моделей. [3]

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

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

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

0

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

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

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

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

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

1

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

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

Смежные вопросы