Бакалавриат
2024/2025





Обеспечение качества и тестирование
ID 791717
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Кильдишев Денис Степанович,
Кулямин Виктор Вячеславович,
Махов Александр Михайлович,
Черток Никита Дмитриевич,
Щукин Владислав Евгеньевич
Язык:
русский
Кредиты:
4
Программа дисциплины
Аннотация
Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются различные методы верификации программного обеспечения. Детально изучаются классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы. Также представлены более пригодные для систем реальной сложности подходы к разработке тестов, интегрирующие разнородные методы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты, рассматриваются формальные модели различного вида и их применение для оценки качества ПО. На практических занятиях анализируются требования к ПО, изучается техника инспекции кода, осваиваются различные техники разработки тестов для простых функций, систем с состояниями и приложений, имеющих пользовательский интерфейс, включая Web-приложения. Слушатели получают базовые знания и навыки в области тестирования и знакомятся с тестированием на основе формальных моделей, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также с некоторыми практическими приложениями этого подхода.
Цель освоения дисциплины
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение проектировать и реализовывать тесты для программ различных типов
- Умение оценивать полноту тестирования программ различных типов
- Умение анализировать результаты выполнения тестов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Владение навыками решения типовых задач разработки тестов для ПО
Планируемые результаты обучения
- Владение навыками решения типовых задач разработки тестов для ПО
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение анализировать результаты выполнения тестов
- Умение оценивать полноту тестирования программ различных типов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Умение проектировать и реализовывать тесты для программ различных типов
Содержание учебной дисциплины
- Качество программного обеспечения и методы его контроля
- Методы верификации ПО
- Цели и задачи тестирования ПО
- Организация тестовых наборов
- Модели поведения ПО
- Модели ситуаций и критерии полноты тестирования
- Основные методы построения тестов. Вероятностные и нацеленные методы
- Комбинаторные методы построения тестов
- Автоматные методы построения тестов
- Интегрированные технологии построения тестов
Элементы контроля
- Экзамен
- Тест по материалам семинаров 3
- Домашнее задание 8
- Активность на семинарахПредставляет собой ежесеминарную оценку активности студентов на семинарах.
- Домашнее задание 2
- Тест по материалам семинаров 1
- Тест по материалам семинаров 2
- Домашнее задание 6имеется отдельно объект для сдачи версии на другом ЯП (1193612) на аналогичную оценку, принимается один из двух
- Домашнее задание 3Имеет упрощенную версию на 8 баллов 1162265
- Тест по материалам семинаров 4
- Домашнее задание 1
- Домашнее задание 4имеется также упрощенная версия задания в виде 1165620
- Домашнее задание 5
- Домашнее задание 7
Промежуточная аттестация
- 2024/2025 4th module((Домашнее задание 1-8)*0.7+(тест по материалам семинаров)*0.2+(Активность на семинаре)*0.1)*0.75+Экзамен*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