• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Программная инженерия»

15
Ноябрь

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

2026/2027
Учебный год
RUS
Обучение ведется на русском языке
4
Кредиты
Статус:
Курс обязательный
Когда читается:
3-й курс, 1, 2 модуль

Преподаватели

Программа дисциплины

Аннотация

Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются различные методы верификации программного обеспечения. Детально изучаются классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы. Также представлены более пригодные для систем реальной сложности подходы к разработке тестов, интегрирующие разнородные методы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты, рассматриваются формальные модели различного вида и их применение для оценки качества ПО. На практических занятиях анализируются требования к ПО, изучается техника инспекции кода, осваиваются различные техники разработки тестов для простых функций, систем с состояниями и приложений, имеющих пользовательский интерфейс, включая Web-приложения. Слушатели получают базовые знания и навыки в области тестирования и знакомятся с тестированием на основе формальных моделей, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также с некоторыми практическими приложениями этого подхода.
Цель освоения дисциплины

Цель освоения дисциплины

  • Владение основными понятиями в области обеспечения качества ПО
  • Знание основных методов моделирования поведения ПО
  • Знание основных методов оценки полноты тестирования ПО
  • Знание целей, задач и основных методов разработки тестов и тестирования ПО
  • Умение проектировать и реализовывать тесты для программ различных типов
  • Умение оценивать полноту тестирования программ различных типов
  • Умение анализировать результаты выполнения тестов
  • Умение применять формальные модели при разработке тестов и оценке их полноты
  • Владение навыками решения типовых задач разработки тестов для ПО
Планируемые результаты обучения

Планируемые результаты обучения

  • Владение навыками решения типовых задач разработки тестов для ПО
  • Владение основными понятиями в области обеспечения качества ПО
  • Знание основных методов моделирования поведения ПО
  • Знание основных методов оценки полноты тестирования ПО
  • Знание целей, задач и основных методов разработки тестов и тестирования ПО
  • Умение анализировать результаты выполнения тестов
  • Умение оценивать полноту тестирования программ различных типов
  • Умение применять формальные модели при разработке тестов и оценке их полноты
  • Умение проектировать и реализовывать тесты для программ различных типов
Содержание учебной дисциплины

Содержание учебной дисциплины

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

Элементы контроля

  • неблокирующий Экзамен
  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Домашнее задание 4
  • неблокирующий Домашнее задание 5
    имеется отдельно объект для сдачи версии на другом ЯП (1193612) на аналогичную оценку, принимается один из двух
  • неблокирующий Домашнее задание 6
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 2nd module
    (Домашнее задание 1)*0.12+(Домашнее задание 2)*0.12+(Домашнее задание 3)*0.13+(Домашнее задание 4)*0.12+(Домашнее задание 5)*0.13+(Домашнее задание 6)*0.13+Экзамен*0.25
Список литературы

Список литературы

Рекомендуемая основная литература

  • Nipkow, T., Grumberg, O., Hauptmann, B. (ed.). Software Safety and Security: Tools for Analysis and Verification. – IOS Press, 2012. – 400 pp.
  • Software: Ошибки и компромиссы при разработке ПО. - Лелек Томаш, Скит Джон - Санкт-Петербург: Питер - 978-5-4461-2320-9 - 2023 - русский - https://ibooks.ru/product/335709 - iBOOKS - 335709
  • Введение в формальные методы верификации программ, Камкин, А. С., 2025
  • Качество программного обеспечения, Липаев, В. В., 1983
  • Тестирование программ, Липаев, В. В., 1986
  • Тестирование программного обеспечения : внедрение, управление и эксплуатация, Рэшка, Дж., 2013
  • Тестирование программного обеспечения, Канер, Сем, 2000
  • Тестирование программного обеспечения: контекстно ориентированный подход — (Серия «Библиотека программиста») - Кейнер Кем, Бах Джеймс, Петтикорд Брет - Санкт-Петербург: Питер - 978-5-4461-2165-6 - 2025 - русский - https://ibooks.ru/product/335305 - iBOOKS - 335305
  • Щербак, А. В.  Тестирование программного обеспечения : учебник для вузов / А. В. Щербак. — Москва : Издательство Юрайт, 2025. — 145 с. — (Высшее образование). — ISBN 978-5-534-19291-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/580604 (дата обращения: 02.07.2026).
  • Языки, автоматы и грамматики - Голубенко Д. А., Саватеев Ю. В. - Московский центр непрерывного математического образования - 978-5-4439-3775-5 - 2023 - русский - https://e.lanbook.com/book/355841 - ЛАНЬ - 355841

Рекомендуемая дополнительная литература

  • Основы тестирования и верификации программного обеспечения - Старолетов С. М. - Издательство "Лань" - 978-5-507-46773-0 - 2023 - русский - https://e.lanbook.com/book/319445 - ЛАНЬ - 319445

Авторы

  • Леднев Андрей Александрович
  • Кулямин Виктор Вячеславович