Авторитетность издания
Добавить в закладки
Следующий номер на сайте
Управляемое тестами имитационное моделирование
Аннотация:
Abstract:
Автор: Щетинин Д.В. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
Количество просмотров: 10175 |
Версия для печати Выпуск в формате PDF (2.31Мб) |
Представленная около пяти лет назад методология управляемой тестами разработки сейчас достаточно широко и успешно применяется на практике при создании программного обеспечения в различных предметных областях (см.: К. Бек. Экстремальное программирование. Разработка через тестирование. СПб. 2003). Однако существует ряд приложений, где эффективность, да и сама возможность ее использования неочевидны и требуют отдельных исследований, например, в задачах разработки пользовательского интерфейса, визуализации данных, хранения и обработки больших объемов информации, компьютерного имитационного моделирования. Источниками проблем, потенциально ограничивающими возможности применения методологии управляемой тестами разработки, здесь могут стать: · стохастическое поведение моделируемой системы (результаты выполнения тестов должны быть детерминированными); · моделирование динамических систем (тесты должны отражать не только конечный результат, но и ожидаемые изменения состояния системы); · большие объемы данных, значительно повышающие трудоемкость создания тестов. Таким образом, можно говорить о необходимости разработки метода управляемого тестами имитационного моделирования, обеспечивающего требуемую степень гибкости при создании моделей сложных систем. Метод обоснован методологически и прошел практическую апробацию. На основе полученного опыта были выработаны рекомендации по применению метода управляемого тестами имитационного моделирования. Случайности. Наличие случайных величин не оказывает серьезного влияния на процесс управляемой тестами разработки. Представление определенных факторов как случайных является отказом от их детального моделирования, поэтому структура соответствующего программного модуля обычно проста и представляет собой генерацию случайной величины по заданному закону. Создание направляющих тестов и их реализация в этом случае не представляют особых трудностей. Тем не менее, этим тестам следует уделить достаточное внимание, поскольку в ходе развития модели может возникнуть необходимость перехода к более детальному моделированию процессов, стоящих за случайными факторами. Динамика. Тесты, отражающие изменения в системе, могут быть построены на базе одного из следующих подходов. · Проверка факта возникновения события. Подход реализуется на базе механизмов оповещения (например, Announcements в современных средах Smalltalk) и удобен для описания отдельных событий в системе. · Анализ протокола. Подход более удобен для описания сложных процессов, включающих в себя множество событий. Задействованные объекты должны протоколировать (сами или с помощью специального компонента) интересующие разработчика события. Проверка осуществляется путем сравнения протоколов, представленных в виде набора объектов, характеризующих отдельные события. · С помощью техники фиктивных (mock-) объектов, когда рассматриваемый процесс оказывается слишком сложным для описания в рамках одного теста. В этом случае выделяется подсистема, чье поведение будет тестироваться. Остальные объекты (контекст) заменяются фиктивными объектами, моделирующими поведение реальных. За счет этого удается более точно выделить тот аспект системы, поведение которого описывается данным тестом. Большие объемы тестовых данных. Эта проблема в первую очередь связана с динамикой, так как при создании тестов требуется описать состояние системы для значительного количества моментов модельного времени. Ограничить рост объемов данных, требующихся при создании модульных тестов, можно за счет правильного применения методов управляемой тестами разработки в сочетании с принципом объектно-ориентированного дизайна. Существенное внимание необходимо уделять процессу рефакторинга системы. Если удается поддерживать разбиение системы на множество несложных компонент с небольшим количеством связей между ними, модульные тесты обычно не требуют подготовки и описания слишком больших объемов данных. Важную роль здесь также играет использование техники mock-объектов. Однако при создании приемочных тестов, описывающих поведение достаточно больших подсистем в модели, избежать проблемы часто не удается. Одним из возможных путей решения здесь является разработка средств визуального описания тестовых случаев. Метод управляемого тестами имитационного моделирования и представленные рекомендации по его применению были успешно апробированы на практике при разработке имитационной модели наземного движения воздушных судов, а также на примере ряда более простых имитационных моделей. |
Постоянный адрес статьи: http://swsys.ru/index.php?id=352&page=article |
Версия для печати Выпуск в формате PDF (2.31Мб) |
Статья опубликована в выпуске журнала № 3 за 2007 год. |
Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Правовая охрана программного обеспечения с точки зрения международного сотрудничества стран-членов СЭВ
- Интеллектуальная система для моделирования затрат-потерь и распределения ресурсов по графическим образам
- Анализ российского и зарубежного рынков программных продуктов
- Опыт разработки и эксплуатации системы управления базами данных (DBS/R)
- Система автоматизации процессов рабочего проектирования сложного изделия
Назад, к списку статей