Обеспечение качества и тестирование
Кулямин Виктор Вячеславович, к.ф.-м.н., доцент. Курс читается для студентов ФКН ВШЭ.
Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются как классические техники построения тестов на основе разбиения ситуаций на классы эквивалентности, а также использующие конечные автоматы и комбинаторные схемы, так и более пригодные для систем реальной сложности интегрированные подходы.
Примерное содержание курса
Качество ПО и методы его контроля. Определение тестирования и его сравнение с другими методами контроля качества ПО. Виды тестирования.
Основные задачи тестирования. Проблемы оракула, оценки и обеспечения полноты тестов. Анализ результатов. Управление тестами и повторное использование тестов. Регрессионное тестирование. Организация тестовых наборов. Тестовые адаптеры. Шаблоны организации тестов.
Критерии полноты тестирования. Функциональные и структурные критерии. Покрытие потока управления – инструкций, ветвей, комбинаций логических условий. Покрытие потока данных – пары определение-использование. Покрытие сценариев взаимодействия. Покрытие входных данных. Покрытие правил. Доменное тестирование.
Модели, используемые при тестировании. Виды моделей.
Вероятностные модели и вероятностные техники тестирования.
Комбинаторные техники тестирования.Тестирование на основе грамматик. Покрывающие наборы. Последовательности де Бройна.
Автоматные модели. Виды автоматов и систем переходов. Различные способы идентификации состояний конечного автомата. Методы построения тестов на основе автоматных моделей – W, D, UIO, Wp-методы. Минимизация тестовых наборов. Автоматные модели распределенных систем.
Интегрированные подходы. Элементы технологии UniTESK. Программные контракты. Уточнение и формализация требований. Построение сценария теста на основе требований и заданного критерия полноты тестирования. Архитектура тестового набора UniTESK. Организация тестирования распределенных систем. Семантика чередования. Событийные контракты.
Курс группы
Технологии программирования
Перейти к учебным курсам ИСП РАН