Бакалавриат
2022/2023
Обеспечение качества и тестирование
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Кильдишев Денис Степанович,
Кулямин Виктор Вячеславович,
Лебедев Михаил Сергеевич,
Смолов Сергей Александрович,
Черток Никита Дмитриевич
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются различные методы верификации программного обеспечения. Детально изучаются классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы. Также представлены более пригодные для систем реальной сложности подходы к разработке тестов, интегрирующие разнородные методы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты, рассматриваются формальные модели различного вида и их применение для оценки качества ПО. На практических занятиях анализируются требования к ПО, изучается техника инспекции кода, осваиваются различные техники разработки тестов для простых функций, систем с состояниями и приложений, имеющих пользовательский интерфейс, включая Web-приложения. Слушатели получают базовые знания и навыки в области тестирования и знакомятся с тестированием на основе формальных моделей, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также с некоторыми практическими приложениями этого подхода.
Цель освоения дисциплины
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение проектировать и реализовывать тесты для программ различных типов
- Умение оценивать полноту тестирования программ различных типов
- Умение анализировать результаты выполнения тестов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Владение навыками решения типовых задач разработки тестов для ПО
Планируемые результаты обучения
- Владение навыками решения типовых задач разработки тестов для ПО
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение анализировать результаты выполнения тестов
- Умение оценивать полноту тестирования программ различных типов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Умение проектировать и реализовывать тесты для программ различных типов
Содержание учебной дисциплины
- Качество программного обеспечения и методы его контроля
- Методы верификации ПО
- Цели и задачи тестирования ПО
- Организация тестовых наборов
- Модели поведения ПО
- Модели ситуаций и критерии полноты тестирования
- Основные методы построения тестов. Вероятностные и нацеленные методы
- Комбинаторные методы построения тестов
- Автоматные методы построения тестов
- Интегрированные технологии построения тестов
Список литературы
Рекомендуемая основная литература
- Black, R. (2011). Pragmatic Software Testing : Becoming an Effective and Efficient Test Professional. Chichester: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=364274
Рекомендуемая дополнительная литература
- A. Brakarenka S., & А. Бракоренко С. (2015). Testing and Quality Assurance of Software and Hardware Systems Based on Use of Virtual Technological Objects ; Тестирование И Обеспечение Качества Программно-Технических Комплексов На Основе Использования Виртуальных Технологических Объектов. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.800B9519
- Mili, A. (2015). Software Testing : Concepts and Operations. Hoboken, New Jersey: Wiley. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=995369