Основы тестирования программного обеспечения

Курс посвящен обсуждению проблем контроля качества разработки программного обеспечения с позиций тестирования. Задачей курса, реализующейся через лекционный материал и практикум, является подготовка тестировщиков программного проекта.
Для специалистов
Записаться
Объём

36 час.
Длительность

30 дней
Нагрузка

6 час.
Формат обучения

Дистанционно (самостоятельно)
Описание В курсе изучаются критерии выбора тестов, метрики оценки качества и методы документирования процесса тестирования. Рассматриваются модульное, интеграционное, системное и регрессионное тестирование с учетом специфики объектно-ориентированного программирования. Отдельное внимание уделяется автоматизации тестирования и индустриальным стандартам контроля качества. Курс адресован начинающим тестировщикам и разработчикам, отвечающим за выпуск надежного программного обеспечения.
Цели
  • Сформировать понимание роли тестирования в жизненном цикле программного обеспечения.
  • Развить навык планирования и проектирования тестовых сценариев.
  • Подготовить к проведению автоматизированного и ручного контроля качества кода.
Чему я научусь?
  • Планировать процесс тестирования и описывать окружение системы.
  • Проводить модульное, интеграционное и системное тестирование программ.
  • Использовать метрики для оценки уровня оттестированности проекта.
  • Разрабатывать сценарии для регрессионного и автоматизированного тестирования.

Авторы

Котляров Всеволод Павлович
Кандидат технических наук, профессор Санкт-Петербургского государственного политехнического университета, ведущий научный сотрудник.
Чему я научусь?
  • Планировать процесс тестирования и описывать окружение системы.
  • Проводить модульное, интеграционное и системное тестирование программ.
  • Использовать метрики для оценки уровня оттестированности проекта.
  • Разрабатывать сценарии для регрессионного и автоматизированного тестирования.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз.
1 Введение: тестирование - способ обеспечения качества программного продукта Рассмотрена проблематика, цели и требования к курсу. Обсуждены основные темы курса и практикума.
2 Основные понятия тестирования Рассмотрены подходы к обоснованию истинности формул и программ и их связь с тестированием. Представлены на конкретных... Рассмотрены подходы к обоснованию истинности формул и программ и их связь с тестированием. Представлены на конкретных примерах понятия отладки и тестирования. Рассмотрены вопросы организации тестирования. На примерах пояснены методы поиска ошибок и процедура тестирования. Рассмотрены фазы тестирования, основные проблемы тестирования и поставлена задача выбора конечного набора тестов. ещё
Основные понятия тестирования тест для курса Основы тестирования программного обеспечения 30 мин
3 Критерии выбора тестов Рассматриваются требования к идеальному критерию тестирования и классы частных критериев. Рассматриваются особенности применения структурных и функциональных... Рассматриваются требования к идеальному критерию тестирования и классы частных критериев. Рассматриваются особенности применения структурных и функциональных критериев на базе конкретных примеров. Рассматриваются особенности применения методов стохастического тестирования и метод оценки скорости выявления ошибок. Описывается мутационный критерий и на примере иллюстрируется техника работы с ним. ещё
Критерии выбора тестов тест для курса Основы тестирования программного обеспечения 15 мин
4 Оценка оттестированности проекта: метрики и методика интегральной оценки Рассматриваются графовые модели проекта, приводятся метрики оценки оттестированности проекта, приводятся примеры плоской и иерархической моделей проекта.
Оценка оттестированности проекта: метрики и методика интегральной оценки тест для курса Основы тестирования программного обеспечения 15 мин
5 Модульное и интеграционное тестирование Рассматриваются особенности модульного тестирования, обсуждаются подходы к тестированию на основе потока управления, потока данных. Обсуждаются динамические... Рассматриваются особенности модульного тестирования, обсуждаются подходы к тестированию на основе потока управления, потока данных. Обсуждаются динамические и статические методы при структурном подходе. Рассматривается пример модульного тестирования. Рассматривается взаимосвязь сборки модулей и методов интеграционного тестирования. Обсуждаются подходы монолитного, инкрементального, нисходящего и восходящего тестирования. Рассматриваются особенности интеграционного тестирования в процедурном программировании. ещё
Модульное и интеграционное тестирование тест для курса Основы тестирования программного обеспечения 20 мин
6 Интеграционное тестирование и его особенности для объектно-ориентированного программирования Рассматривается модель объектно-ориентированной программы, использующая понятие P-путей и MM-путей. Приводятся оценки сложности тестирования и методика тестирования... Рассматривается модель объектно-ориентированной программы, использующая понятие P-путей и MM-путей. Приводятся оценки сложности тестирования и методика тестирования объектно-ориентированной программы. Рассматривается пример интеграционного тестирования. ещё
Интеграционное тестирование и его особенности для объектно-ориентированного программирования тест для курса Основы тестирования программного обеспечения 15 мин
7 Разновидности тестирования: системное и регрессионное тестирование Рассматриваются задачи и категории тестов, применяемые в системном тестировании. Приводится пример системного тестирования. Обсуждается регрессионное тестирование... Рассматриваются задачи и категории тестов, применяемые в системном тестировании. Приводится пример системного тестирования. Обсуждается регрессионное тестирование и комбинирование различных уровней тестирования. ещё
Разновидности тестирования: системное и регрессионное тестирование тест для курса Основы тестирования программного обеспечения 20 мин
8 Автоматизация тестирования Рассматривается структура тестового набора для автоматического прогона. Обсуждается структура инструментальной системы автоматизации тестирования. Сравниваются издержки и... Рассматривается структура тестового набора для автоматического прогона. Обсуждается структура инструментальной системы автоматизации тестирования. Сравниваются издержки и эффективность различных методов тестирования. ещё
Автоматизация тестирования тест для курса Основы тестирования программного обеспечения 10 мин
9 Особенности индустриального тестирования "Рассматриваются особенности подхода к обеспечению качества программного продукта средствами тестирования. Приводится пример и методика выбора критериев... "Рассматриваются особенности подхода к обеспечению качества программного продукта средствами тестирования. Приводится пример и методика выбора критериев качества тестирования. Определяются фазы процесса тестирования и шаги тестового цикла, применяемые в индустриальном тестировании. Рассматривается структура документа ""Тестовый план"". Рассматриваются планируемые типы тестирования для различных частей продукта или для проверки различных характеристик продукта. Описываются подходы к тестированию спецификаций и сценариев. Приводится ручной подход и подход генерации тестовых наборов при разработке тестов. Сравниваются методы автоматизации исполнения тестов." ещё
Особенности индустриального тестирования тест для курса Основы тестирования программного обеспечения 30 мин
10 Документирование и оценка индустриального тестирования Описываются особенности документирования тестовых процедур для ручных и автоматизированных тестов, описаний тестовых наборов и тестовых отчетов.... Описываются особенности документирования тестовых процедур для ручных и автоматизированных тестов, описаний тестовых наборов и тестовых отчетов. Рассматривается жизненный цикл дефекта. Обсуждаются метрики, используемые при тестировании. ещё
Документирование и оценка индустриального тестирования тест для курса Основы тестирования программного обеспечения 15 мин
11 Регрессионное тестирование: цели и задачи, условия применения, классификация тестов и методов отбора Рассматриваются цели, задачи и виды регрессионного тестирования. Перечисляются необходимые и достаточные условия применения методов выборочного регрессионного... Рассматриваются цели, задачи и виды регрессионного тестирования. Перечисляются необходимые и достаточные условия применения методов выборочного регрессионного тестирования. Дается классификация методов выборочного регрессионного тестирования и самих тестов при отборе. Рассматриваются возможности повторного использования тестов. ещё
Регрессионное тестирование: цели и задачи, условия применения, классификация тестов и методов отбора тест для курса Основы тестирования программного обеспечения 25 мин
12 Регрессионное тестирование: разновидности метода отбора тестов Рассматриваются случайные методы, безопасные методы, методы минимизации, методы, основанные на покрытии кода. Также рассматривается интеграционное регрессионное... Рассматриваются случайные методы, безопасные методы, методы минимизации, методы, основанные на покрытии кода. Также рассматривается интеграционное регрессионное тестирование и регрессионное тестирование объектно-ориентированных программ. ещё
Регрессионное тестирование: разновидности метода отбора тестов тест для курса Основы тестирования программного обеспечения 30 мин
13 Регрессионное тестирование: методики, не связанные с отбором тестов и методики порождения тестов Рассматривается метод уменьшения объема тестируемой программы, методы упорядочения тестов, а также круг вопросов, связанных с целесообразностью... Рассматривается метод уменьшения объема тестируемой программы, методы упорядочения тестов, а также круг вопросов, связанных с целесообразностью регрессионного тестирования, а также методика порождения новых тестов на основе анализа подозрительных состояний и сценарий ее применения. ещё
Регрессионное тестирование: методики, не связанные с отбором тестов и методики порождения тестов тест для курса Основы тестирования программного обеспечения 15 мин
14 Регрессионное тестирование: алгоритм и программная система поддержки Рассматриваются методики регрессионного тестирования, полный алгоритм регрессионного тестирования и программная система его поддержки.
Регрессионное тестирование: алгоритм и программная система поддержки тест для курса Основы тестирования программного обеспечения 15 мин
15 Описание тестируемой системы и ее окружения. Планирование тестирования
16 Модульное тестирование на примере классов
17 Интеграционное тестирование
18 Системное тестирование
19 Ручное тестирование
20 Автоматическая генерация тестов на основе формального описания
21 Описание ручного тестирования
22 Автоматизация тестирования с помощью скриптов
23 Описание автоматической генерации MSC тестов
24 Использование MS Visio для генерации MPR-файлов
25 Руководство по подготовке компьютерного класса
26 Функциональная спецификация
27 Высокоуровневый дизайн
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз.
Экзамен