DEV-QA100. Введение в тестирование программного обеспечения для программистов
Длительность дисциплины: 32 ак.ч.
Аннотация
Целью реализации модуля «DEV-QA100. Введение в тестирование программного обеспечения для программистов» является изучение программистами основ тестирования программного обеспечения.
Знания и умения, полученные в результате изучения
В результате освоения модуля обучающийся должен уметь:
• выполнять основные виды деятельности, связанные с тестированием программного обеспечения;
• планировать работы по тестированию программного обеспечения;
• разрабатывать, выполнять и документировать тесты.
В результате освоения модуля обучающийся должен знать:
• цели и общие задачи тестирования программного обеспечения, а также общие принципы тестирования;
• общую структуру процесса тестирования программного обеспечения;
• основные виды работ по тестированию программного обеспечения;
• основные виды тестовой документации.
В результате освоения модуля обучающийся должен приобрести практический опыт:
• разработки, выполнения и документирования тестов;
• проведения тестирования программного обеспечения.
Содержание дисциплины
Тема 1. Введение в тестирование программного обеспечение
1.1 Общие цели и задачи тестирования программного обеспечения
Качество ПО.
Основная цель тестирования ПО.
Общие задачи тестирования ПО.
Роль и место тестирования в общем процессе разработки ПО.
Общие принципы тестирования ПО.
1.2 Общие термины и понятия
Определение тестирования.
Общие объекты тестирования.
Уровни тестирования ПО.
Виды тестирования.
Понятие о тесте.
Определение дефекта.
Метрики теста.
Метрики качества тестирования.
1.3 Структура «классического» процесса тестирования ПО
Общая структура процесса тестирования ПО.
Основные виды деятельности в процессе тестирования ПО.
Основные роли участников тестирования ПО.
1.4 Документирование процесса тестирования ПО
Стандарты тестирования ПО.
Понятие о тестовом плане.
Схема тестирования.
Проект теста.
Спецификация теста.
Тестовая процедура.
Отчёт о проведении теста.
Отчёт о дефекте.
Итоговый отчёт о тестировании.
Практические занятия
1. Разработка схемы тестирования на основе объектно-ориентированного анализа.
2. Разработка проекта и спецификации теста.
Тема 2. Общая методология тестирования
2.1 Понятие о методах тестирования ПО
Определение метода тестирования.
Обзор основных методов тестирования ПО.
2.2 Тестирование «белого ящика»
Определение и основные особенности метода тестирования «белого ящика».
Основные объекты тестирования.
Тестирование документации, тестирование исходного кода.
Тестирование структур данных и форматов файлов.
2.3 Тестирование «черного ящика»
Определение и основные особенности метода тестирования «черного ящика».
Основные объекты тестирования.
Общие принципы функционального тестирования.
Функциональное тестирование ПО.
Нагрузочное тестирование ПО.
Тестирование пользовательского интерфейса.
2.4 Основы формального тестирования
Определение формального тестирования.
Основные объекты тестирования.
Формальное тестирование алгоритмов.
Формальное тестирование структур данных.
Практические занятия
1. Тестирование исходного кода.
2. Тестирование структур данных.
3. Функциональное тестирование.
4. Нагрузочное тестирование.
5. Тестирование пользовательского интерфейса.
Тема 3. Автоматизация тестирования
3.1 Общие принципы автоматизации тестирования.
Основные задачи автоматизации тестирования ПО.
Преимущества автоматизации тестирования ПО.
Ограничения автоматизации тестирования ПО.
Общая методология автоматизации тестирования.
Автоматизация тестовой платформы.
Обзор инструментов автоматизации тестирования.
3.2 Разработка автоматизированного теста.
Оценка возможности и целесообразности автоматизации теста.
Планирование автоматизированного теста.
Общий порядок разработки автоматизированного теста.
Формирование входных данных.
Разработка тестовой процедуры.
Автоматизация оценки результатов теста.
Документирование автоматизированного теста.
Развёртывание и выполнение автоматизированного теста.
3.3 Автоматизация регрессионного тестирования.
Особенности разработки тестов для автоматизации регрессионного тестирования ПО.
Формирование пакета регрессионного тестирования.
Сопровождение пакета регрессионного тестирования ПО.
Практические занятия
1. Выбор и настройка среды разработки и выполнения автоматизированных тестов.
2. Разработка автоматизированного теста модульного уровня.
3. Разработка автоматизированного нагрузочного теста.
4. Автоматизация тестирования пользовательского интерфейса.
Тема 9. Промежуточная аттестация
Практические занятия Зачет