Обеспечение качества и тестирование


Обеспечение качества и тестирование

Кулямин Виктор Вячеславович, к.ф.-м.н., доцент. Курс читается для студентов ФКН ВШЭ.

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

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

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

    Технологии программирования

    Перейти к учебным курсам ИСП РАН