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

Фотография

Model based testing


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

#1 ndx

ndx

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

  • Members
  • Pip
  • 30 сообщений
  • Город:Россия, Тула

Отправлено 27 мая 2005 - 15:20

Подскажите, пожалуйста, статьи, в которых описывается данный подход в лаконичной форме.
  • 0

#2 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 27 мая 2005 - 15:39

Google или Яндекс помогают просто отлично.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#3 barancev

barancev

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

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


Отправлено 27 мая 2005 - 18:53

http://www.geocities...line_papers.htm

Для начального ознакомления я бы порекомендовал следующие статьи:
Model Based Testing (Apfelbaum, Doyle) -- объяснение основных технических идей в теории и на примерах
Software Acquisition Gold Practice: Model-Based Testing (DACS) -- организационные и прочие подобные аспекты использования MBT
Model-based Software Testing (El-Far, Whittaker) -- описание и сравнение разных подходов к построению моделей
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 зритель

зритель

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

  • Members
  • Pip
  • 20 сообщений

Отправлено 30 мая 2005 - 12:07

А посоветуйте что-нибудь для дальнейшего чтения?
Тут http://www.geocities...line_papers.htm довольно много статей и среди них трудно выбрать.
  • 0

#5 barancev

barancev

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

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


Отправлено 30 мая 2005 - 12:53

А посоветуйте что-нибудь для дальнейшего чтения?
Тут http://www.geocities...line_papers.htm довольно много статей и среди них трудно выбрать.

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

Область действительно большая и разнообразная. Поэтому определитесь поточнее, в какую сторону хотите двигаться. Я же не телепат и не могу угадать, что именно Вам интересно :) Какого класса задачи предполагается решать? Какого типа модели интересуют? С какой целью -- чтобы изучать/продвигать теорию или внедрять в промышленное использование?
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 зритель

зритель

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

  • Members
  • Pip
  • 20 сообщений

Отправлено 30 мая 2005 - 12:58

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

#7 ndx

ndx

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

  • Members
  • Pip
  • 30 сообщений
  • Город:Россия, Тула

Отправлено 30 мая 2005 - 13:32

...Область действительно большая и разнообразная. Поэтому определитесь поточнее, в какую сторону хотите двигаться...

В контексте UniTesk/ZigmaTest. Хочется знать как реализован подход в этих продуктах.
  • 0

#8 ndx

ndx

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

  • Members
  • Pip
  • 30 сообщений
  • Город:Россия, Тула

Отправлено 31 мая 2005 - 07:35

Посмотреть такие статьи можно, например, здесь:
  • 0

#9 Spy

Spy

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

  • Members
  • PipPipPipPip
  • 378 сообщений
  • ФИО:Полаженко Сергей Владимирович
  • Город:Minsk, Belarus

Отправлено 31 мая 2005 - 13:07

Поэтому определитесь поточнее, в какую сторону хотите двигаться.


Моя можно спросит? А для тестирования безопасности есть заточки? Например, моделирование правил разграничения доступа в автоматизированной системе?
Я ща пытаюсь залабать такое, применяя наработки товарищей из http://www.ssl.stu.neva.ru - так енто, может я где велосипед изобретаю?

Требую немедленно поставить меня на путь истинный! :P
  • 0
Полаженко Сергей, проект "Тестирование безопасности"
IT-конференции: www.it-conf.ru
IT-тренинги в Беларуси: www.it-study.by

#10 barancev

barancev

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

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


Отправлено 05 июня 2005 - 14:16

Моя можно спросит? А для тестирования безопасности есть заточки? Например, моделирование правил разграничения доступа в автоматизированной системе?

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

Да, должен признать, что MBT развивается в основном в сторону функционального тестирования.

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

#11 Spy

Spy

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

  • Members
  • PipPipPipPip
  • 378 сообщений
  • ФИО:Полаженко Сергей Владимирович
  • Город:Minsk, Belarus

Отправлено 06 июня 2005 - 06:33

Проблема даже не в том, можно ли что-то промоделировать или нельзя. Почти наверняка ответ -- можно, и не одним способом.


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

Вопрос в другом -- как из этих моделей тесты получить?

Черти из http://www.ssl.stu.n...u/spr/index.htm предлагают описывать модель на логическом языке программирования типо Пролог (они использовали этот подход для оценки защищённости ОС и файерволов). В этом есть рация. Процесс предоставления доступа есть логическая импликация: знаешь параметры учётной записи, учётная запись имеет право -> вывод: ты имешь право и т.д.
В результате проблему безопасности можно описать на языке мат. логики предикатами первого порядка (логика Хоара - на чём собственно построен Пролог). Тогда тест -- запрос к Пролог-машинке: КТО имеет право удалить файл Х? Выполняются ли все требования политики безопасности? (политика безопасности -- набор требований НАДО и НИЗЗЯ).

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

И какого качества они будут, как оценить полноту тестирования?

Качество - в рамках имеющихся ограничений: модель полна.
Метод резольвент фактически - полный перебор всех предикатов, поэтому тестирование тоже полное.
Однако проблемы: "взрыв состояний" и возможные циклы при применении метода резольвент, т.е. метод не всегда сходится.

Модели функциональности в этом отношении гораздо лучше исследованы, чем модели безопасности.

Цитируя Высоцкого: "Разберёмся"
  • 0
Полаженко Сергей, проект "Тестирование безопасности"
IT-конференции: www.it-conf.ru
IT-тренинги в Беларуси: www.it-study.by

#12 barancev

barancev

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

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


Отправлено 06 июня 2005 - 07:39

Ага, я понял. Сергей, Вы смешиваете два понятия -- анализ моделей (model checking) и тестирование на основе моделей (model-based testing).

Анализ моделей -- это техника, цель которой состоит в моделировании какого-либо явления и изучения этой модели на полноту, непротиворечивость и т.д. Здесь действительно довольно хорошо работают методы логического программирования.

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

Чтобы понять разницу более фактурно, представьте, что Вы разработали замечательную модель, включающую всё, что Вам хочется (в том числе стихийные бедствия, пожары и т.д. :)), потом проверили, что эта модель действительно удовлетворяет всем требованиям, короче -- конфетка. А потом Ваши программисты разработали реальную программную систему, которая ЯКОБЫ реализует эти требования и ЯКОБЫ должна соответствовать модели. А как проверить, соответствует ли на самом деле? Вот этим и занимается model-based testing.
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#13 Spy

Spy

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

  • Members
  • PipPipPipPip
  • 378 сообщений
  • ФИО:Полаженко Сергей Владимирович
  • Город:Minsk, Belarus

Отправлено 06 июня 2005 - 13:05

Ага, я понял. Сергей, Вы смешиваете два понятия -- анализ моделей (model checking) и тестирование на основе моделей (model-based testing).

Ну вот, как всегда - пришёл увидеть-победить, а тебя - RTFM :rolleyes:

Лана, всё равно тема интересная, перспективы видны, горинзонты не за горами, осталось только лень побороть ;). Бум читать всё, что под руку подвернётся, а там разберёмся, что там model checking, а что там model-based testing.

Кстати, коль уж на то пошло, может про model checking есть хороший RTFM? Хотя чую, тема уж больно универсальная, так что чужой RTFM мне мало чем поможет, но вдруг...

В плане model-based testing мне бы очень хотелось как раз копнуть вариант, где "реализация трактуется как модель". Уж больно хотелось бы модель заиметь хорошую. Собственно, программную реализацию чувствую мне тоже придётся делать, мне же надо будет внедрение...
  • 0
Полаженко Сергей, проект "Тестирование безопасности"
IT-конференции: www.it-conf.ru
IT-тренинги в Беларуси: www.it-study.by


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

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