Бакалавриат
2021/2022
Обеспечение качества и тестирование
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Кильдишев Денис Степанович,
Кулямин Виктор Вячеславович,
Садыков Рафаэль Фаритович,
Щепетков Илья Викторович
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Курс знакомит слушателей с основными проблемами проверки качества сложных программных систем и современными подходами к их решению на основе тестирования. Рассматриваются различные методы верификации программного обеспечения. Детально изучаются классические техники построения тестов, использующие конечные автоматы и комбинаторные схемы. Также представлены более пригодные для систем реальной сложности подходы к разработке тестов, интегрирующие разнородные методы. Разбираются различные техники организации тестовых наборов, понятие полноты тестирования и различные критерии полноты, рассматриваются формальные модели различного вида и их применение для оценки качества ПО. На практических занятиях анализируются требования к ПО, изучается техника инспекции кода, осваиваются различные техники разработки тестов для простых функций, систем с состояниями и приложений, имеющих пользовательский интерфейс, включая Web-приложения. Слушатели получают базовые знания и навыки в области тестирования и знакомятся с тестированием на основе формальных моделей, динамично развивающейся области на границе между теоретической информатикой и программной инженерией, а также с некоторыми практическими приложениями этого подхода.
Цель освоения дисциплины
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение проектировать и реализовывать тесты для программ различных типов
- Умение оценивать полноту тестирования программ различных типов
- Умение анализировать результаты выполнения тестов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Владение навыками решения типовых задач разработки тестов для ПО
Планируемые результаты обучения
- Владение навыками решения типовых задач разработки тестов для ПО
- Владение основными понятиями в области обеспечения качества ПО
- Знание основных методов моделирования поведения ПО
- Знание основных методов оценки полноты тестирования ПО
- Знание целей, задач и основных методов разработки тестов и тестирования ПО
- Умение анализировать результаты выполнения тестов
- Умение оценивать полноту тестирования программ различных типов
- Умение применять формальные модели при разработке тестов и оценке их полноты
- Умение проектировать и реализовывать тесты для программ различных типов
Содержание учебной дисциплины
- Качество программного обеспечения и методы его контроля
- Методы верификации ПО
- Цели и задачи тестирования ПО
- Организация тестовых наборов
- Модели поведения ПО
- Модели ситуаций и критерии полноты тестирования
- Основные методы построения тестов. Вероятностные и нацеленные методы
- Комбинаторные методы построения тестов
- Автоматные методы построения тестов
- Интегрированные технологии построения тестов
Элементы контроля
- Работа на семинаре (РС1)
- Домашнее задание 1 (ДЗ1)
- Домашнее задание 2 (ДЗ2)
- Домашнее задание 3 (ДЗ3)
- Домашнее задание 4 (ДЗ4)
- Домашнее задание 5 (ДЗ5)
- Домашнее задание 6 (ДЗ6)
- Домашнее задание 7 (ДЗ7)
- Контрольная работа (КР1)
- Экзамен (Э1)
Промежуточная аттестация
- 2021/2022 учебный год 2 модульПрак = Округление((1/8)*РС1+(1/8)*ДЗ1+(1/8)*ДЗ2+(1/8)*ДЗ3+(1/8)*ДЗ4+(1/8)*ДЗ5+(1/8)*ДЗ6+(1/8)*ДЗ7) Окончательная оценка = Округление((1/2)*Прак+(1/4)*КР1+(1/4)*Э1)
Список литературы
Рекомендуемая основная литература
- 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