Главная страница « Спецкурсы «

Спецкурс «Тестирование на основе моделей»

Технологические аспекты контроля качества программных систем

Лектор: доц., канд. физ.-мат. наук Кулямин Виктор Вячеславович
Продолжительность: 32 часа (полугодовой)
Аудитория: студенты кафедр СП, АСВК и АЯ, 3-5 курсы
Страница курса на сайте ИСП РАН

Содержание курса

Новости
Информация
Преподаватели и сотрудники
Студенты и аспиранты
Научно-исследовательский семинар
Спецсеминары
Просеминар
Проекты
Ссылки
Поиск

Аннотация

Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются как классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы, так и более пригодные для систем реальной сложности интегрированные подходы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты.

Слушатели получают базовые знания в тестировании на основе моделей — новой, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также представление о практических приложениях этого подхода.

Примерное содержание курса

• Качество ПО и методы его контроля. Определение тестирования и его сравнение с другими методами контроля качества ПО. Виды тестирования.

• Основные задачи тестирования. Проблемы оракула, оценки и обеспечения полноты тестов. Анализ результатов. Управление тестами и повторное использование тестов. Регрессионное тестирование. Организация тестовых наборов. Тестовые адаптеры. Шаблоны организации тестов.

• Критерии полноты тестирования. Функциональные и структурные критерии. Покрытие потока управления - инструкций, ветвей, комбинаций логичсеких условий. Покрытие потока данных - пары определение-использование. Покрытие сценариев взаимодействия. Покрытие входных данных. Покрытие правил. Доменное тестирование.

• Модели, используемые при тестировании. Виды моделей.

• Вероятностные модели и вероятностные техники тестирования.

• Комбинаторные техники тестирования.Тестирование на основе грамматик. Покрывающие наборы. Последовательности де Бройна.

• Автоматные модели. Виды автоматов и систем переходов. Различные способы идентификации состояний конечного автомата. Методы построения тестов на основе автоматных моделей - W, D, UIO, Wp-методы. Минимизация тестовых наборов. Автоматные модели распределенных систем.

• Интегрированные подходы. Элементы технологии UniTESK. Программные контракты. Уточнение и формализация требований. Построение сценария теста на основе требований и заданного критерия полноты тестирования. Архитектура тестового набора UniTESK. Организация тестирования распределенных систем. Семантика чередования. Событийные контракты.

Основная литература

  1. В. В. Липаев. Методы обеспечения качества крупномасштабных программных средств. М., Синтег, 2003.

  2. В. В. Липаев. Тестирование программ. М., Радио и связь, 1986.

  3. Б. Бейзер. Тестирование черного ящика. СбП: Питер, 2004.

  4. Г. Майерс. Искусство тестирования программ. М.: Финансы и статистика, 1982.

  5. Г. Майерс. Надежность программного обеспечения. М : Мир, 1980.

  6. С. Канер, Дж. Фолк, Е. К. Нгуен. Тестирование программного обеспечения. М: Диасофт, 2000.

Дополнительная литература

  1. B. Beizer. Software Testing Techniques. 2-nd edition. Int. Thomson Publishing, 1990.

  2. R. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, 1999.

  3. M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, A. Pretschner (eds.) Model Based Testing of Reactive Systems. LNCS 3472, Springer, 2005.

  4. B. Marick. The Craft of Software Testing, Prentice Hall, 1995.

  5. A. P. Mathur. Foundations of Software Testing. Copymat Services, 2006.

  6. Software Engineering Body of Knowledge, 2005. http://www.swebok.org/ironman/pdf/SWEBOK_Guide_2004.pdf

  7. Э. Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004.

  8. А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002.

  9. Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. М.: Вильямс, 2002.

  

© Кафедра системного программирования ВМК МГУ.

Обновлено: 11.6.2008