Тестирование и обеспечение качества ПО
Описание
Курс посвящён вопросам обеспечения качества сложных программных систем и современным методам их тестирования. Рассматриваются различные подходы к верификации программного обеспечения, включая классические техники построения тестов, основанные на конечных автоматах и комбинаторных схемах. Также изучаются более адаптированные к сложным системам методики тестирования, объединяющие различные подходы.
В рамках курса анализируются методы организации тестовых наборов, понятие полноты тестирования и критерии её оценки, а также формальные модели и их применение для определения качества программного обеспечения. Практическая часть включает анализ требований к программным продуктам, освоение методов инспекции кода и разработку тестов для различных типов программных систем — от простых функций до сложных систем с состояниями и пользовательским интерфейсом, включая веб-приложения.
Обучающиеся получают фундаментальные знания и навыки в области тестирования, знакомятся с тестированием на основе формальных моделей, а также изучают практические аспекты этого подхода, который активно развивается на стыке теоретической информатики и программной инженерии.
Программа курса
- Цели и задачи тестирования ПО
- Качество программного обеспечения и методы его контроля
- Методы верификации ПО
- Организация тестовых наборов
- Модели поведения ПО
- Модели ситуаций и критерии полноты тестирования
- Основные методы построения тестов
-
- Вероятностные и нацеленные методы
-
- Комбинаторные методы построения тестов
-
- Автоматные методы построения тестов
-
- Интегрированные технологии построения тестов
Предварительные требования:
- Методы программирования: нужно знать программирование, чтобы что-то тестировать