Тестирование на основе моделей

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

Копия странички курса (иногда сайт ИСП РАН медленно загружается).

Лектор: к.ф.-м.н. В. В. Кулямин

Осенью 2016 года проводится под названием "Тестирование ПО" на факультете ВМК МГУ по четвергам, с 8 сентября, в 10:35 в аудитории 582, и под названием "Обеспечение качества и тестирование ПО" на факультете Компьтерных наук ВШЭ по понедельникам, с 5 сентября, в 13:40 в аудитории 317.

На ВМК контрольная работа по курсу будет 08.12.2016 в 10:35 в аудитории 582, экзамен - 15.12.2016, в 10:35 в аудитории 582.

Спецкурс предназначен для студентов 3-5 курсов, приглашаются все, интересующиеся затрагиваемыми в нем вопросами .

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

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

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

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

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

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

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

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

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

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

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

Варианты экзаменационных вопросов

В этом документе перечислены варианты заданий контрольной работы.
В этом документе перечислены варианты заданий экзамена.

Результаты экзаменов

Дата Ссылка
2016 год, весенний семестр (19.05.2017, 23.06.2016, добавлена пересдача 03.10.2016) Результаты
2015 год, осенний семестр (11 декабря 2015, 8:45, ауд. 613) Результаты
2014 год, осенний семестр (9 декабря 2014, 8:45, ауд. 504) Результаты
2013 год, осенний семестр (5 декабря 2013, 16:20, ауд. 523) Результаты
2013 год, весенний семестр (25 апреля 2013, 8:45, ауд. 790) Результаты
2012 год, весенний семестр (27 апреля 2012, 8:45, ауд. 707) Результаты
2011 год, весенний семестр (25 апреля 2011, 16:20, ауд. 653) Результаты
2009 год, осенний семестр (30 ноября 2009, 16:20, ауд. 613) Результаты
2009 год, весенний семестр (5 мая 2009, 8:45, ауд. 607) Результаты
2008 год, весенний семестр (5 мая 2008, 16:20, ауд. 713) Результаты
2007 год, весенний семестр (8 мая 2007, 16:20, ауд. 606)
Результаты

Лекции

Эти документы представляют базовый материал курса, который может как-то перераспределяться между реальными лекциями.

Название Ссылка
Качество программного обеспечения и методы его контроля Lecture01.pdf
Основные задачи и виды тестирования Lecture02.pdf
Критерии полноты тестирования Lecture03.pdf
Виды моделей и техники, используемые для построения тестов Lecture04.pdf
Комбинаторные методы построения тестов Lecture05.pdf
Автоматные методы построения тестов. Основные понятия Lecture06.pdf
Автоматные методы построения тестов. Продолжение Lecture07.pdf
Основы технологии разработки тестов UniTESK Lecture08.pdf
Основы технологии разработки тестов UniTESK. Продолжение Lecture09.pdf
Все лекции сразу  

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

  1. Б. Бейзер. Тестирование черного ящика. СбП: Питер, 2004.
  2. В. В. Липаев. Методы обеспечения качества крупномасштабных программных средств. М., Синтег, 2003.
  3. В. В. Липаев. Тестирование программ. М., Радио и связь, 1986.
  4. Г. Майерс. Искусство тестирования программ. М.: Финансы и статистика, 1982.
  5. Г. Майерс. Надежность программного обеспечения. М : Мир, 1980.
  6. С. Канер, Дж. Фолк, Е. К. Нгуен. Тестирование программного обеспечения. М: Диасофт, 2000.
  7. B. Beizer. Software Testing Techniques. 2-nd edition. Int. Thomson Publishing, 1990.
  8. R. Binder. Testing Object-Oriented Systems: Models, Patterns, and Tools. Addison-Wesley, 1999.
  9. M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, A. Pretschner (eds.) Model Based Testing of Reactive Systems. LNCS 3472, Springer, 2005.
  10. B. Marick. The Craft of Software Testing, Prentice Hall, 1995.
  11. A. P. Mathur. Foundations of Software Testing. Copymat Services, 2006.

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

  1. Software Engineering Body of Knowledge, 2005.
    http://www.swebok.org/ironman/pdf/SWEBOK_Guide_2004.pdf.
  2. А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002.
  3. Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. М.: Вильямс, 2002.
  4. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного обеспечения. М.: Мир, 1991.
  5. ISO/IEC 9126-1:2001. Software engineering - Software product quality - Part 1: Quality model.