Компьютерные науки

Верификация программного обеспечения

Программа о методах и технологиях верификации программного обеспечения в условиях промышленной разработки. В программе рассматриваются принципы построения тестовых сред, анализ дефектов и многоуровневое тестирование. Охватываются процессы формальной инспекции кода с применением Microsoft Visual Studio Team Edition.
Студентов 6146 Выпускников 1039 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование
Объем

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

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

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

Дистанционно (самостоятельно)
Описание Учебная программа посвящена современным подходам к обеспечению качества сложных программных систем. В рамках обучения рассматриваются планирование испытаний, подготовка документации и проведение формальных инспекций. Обучение ориентировано на инженеров по качеству и разработчиков, стремящихся освоить ручное и автоматизированное тестирование на всех этапах жизненного цикла продукта. Материал включает изучение методик Microsoft Solutions Framework и верификацию в Visual Studio, что позволяет системно подойти к поиску дефектов и созданию надежных ИТ-решений для бизнеса.
Цели
  • Сформировать понимание места верификации в жизненном цикле разработки ПО.
  • Познакомить с методами и уровниями тестирования промышленных программных систем.
  • Раскрыть принципы документирования и планирования процесса верификации.
Чему я научусь?
  • Проектировать тестовое окружение и писать тестовые примеры.
  • Оформлять тест-требования, тест-планы и сопровождающую документацию.
  • Выполнять модульное, интеграционное и системное тестирование.
  • Проводить формальные инспекции программного кода и проектной документации.

Авторы

Налютин Никита Юрьевич
Налютин Никита Юрьевич
Ассистент кафедры "Кибернетика" МИФИ.
Синицын Сергей Владимирович
Синицын Сергей Владимирович
Заведующий кафедрой "Кибернетика" МИФИ, к.т.н., доцент.
Чему я научусь?
  • Проектировать тестовое окружение и писать тестовые примеры.
  • Оформлять тест-требования, тест-планы и сопровождающую документацию.
  • Выполнять модульное, интеграционное и системное тестирование.
  • Проводить формальные инспекции программного кода и проектной документации.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Общая информация о курсе Курс знакомит слушателей с современными технологиями верификации программного обеспечения, применяемыми при промышленной разработке сложных и отказоустойчивых... Курс знакомит слушателей с современными технологиями верификации программного обеспечения, применяемыми при промышленной разработке сложных и отказоустойчивых программных систем. ещё
2 Место верификации среди процессов разработки программного обеспечения Лекция посвящена рассмотрению различных видов жизненного цикла разработки программного обеспечения и современных технологий разработки. Показано место... Лекция посвящена рассмотрению различных видов жизненного цикла разработки программного обеспечения и современных технологий разработки. Показано место процесса верификации в жизненном цикле, определена его цель и задачи. Рассматриваются различные типы процессов верификации, определяется разница между тестированием, верификацией и валидацией. Цель данной лекции: дать представление о процессе верификации как о четко определенном виде деятельности в рамках жизненного цикла разработки программной системы, определить современные подходы к верификации ещё
Место верификации среди процессов разработки программного обеспечения тест для курса Верификация программного обеспечения 40 мин
3 Введение "Обзор общих подходов к тестированию, изучение архитектуры программного комплекса ""Калькулятор""."
4 Тестирование программного кода (методы+окружение) Лекция посвящена процессу тестирования программного кода. Определяются его задачи и цели, перечисляются основные методы и подходы... Лекция посвящена процессу тестирования программного кода. Определяются его задачи и цели, перечисляются основные методы и подходы к тестированию программного кода. Вводится понятие тестового окружения, рассматриваются его компоненты и различные виды окружения. Цель данной лекции: дать представление о процессе тестирования программного кода, его видах. Определить методы построения тестового окружения, необходимого для выполнения тестирования ещё
Тестирование программного кода (методы+окружение) тест для курса Верификация программного обеспечения 40 мин
5 Тестирование программного кода (тестовые примеры) Лекция продолжает тематику тестирования программного кода, начатую в лекции 2. Лекция посвящена разработке тестовых примеров: определяются... Лекция продолжает тематику тестирования программного кода, начатую в лекции 2. Лекция посвящена разработке тестовых примеров: определяются методы их создания, проводится классификация типов тестовых примеров, рассматривается тестирование робастности, определяются понятия классов эквивалентности, рассматриваются примеры тестирования компараторов. Цель данной лекции: дать знания, необходимые для самостоятельного анализа, разработки и модификации тестовых примеров на основе тест-требований ещё
Тестирование программного кода (тестовые примеры) тест для курса Верификация программного обеспечения 40 мин
6 Тестовые примеры. Классы эквивалентности. Ручное тестирование в MVSTE Семинар посвящен рассмотрению тестовых примеров. Обсуждаются подходы к тестированию системы. Вводятся понятия классов эквивалентности, граничных условий,... Семинар посвящен рассмотрению тестовых примеров. Обсуждаются подходы к тестированию системы. Вводятся понятия классов эквивалентности, граничных условий, робастности (тестирования за границей диапазонов). Проводится обзор возможностей MVSTE по ручному тестированию и описанию тестовых примеров (Manual Testing). ещё
7 Тестирование программного кода (покрытия) "Лекция завершает тему ""тестирование программного кода"". В лекции рассмотрены вопросы объединения тестовых примеров в тест-планы
Тестирование программного кода (покрытия) тест для курса Верификация программного обеспечения 40 мин
8 Тестовое окружение Семинар посвящен тестовому окружению. Рассматриваются вопросы проектирования тестового окружения, вводятся понятия тестовых классов и тестовых проектов.
9 Повторяемость тестирования Лекция посвящена вопросам обеспечения повторяемости тестирования в промышленном окружении. Определяются задачи и цели обеспечения повторяемости, рассматриваются... Лекция посвящена вопросам обеспечения повторяемости тестирования в промышленном окружении. Определяются задачи и цели обеспечения повторяемости, рассматриваются процессы настройки тестового окружения, оптимизации последовательности выполнения тестовых примеров. Определяются проблемы, возникающие при наличии зависимостей между тестовыми примерами. Цель данной лекции: дать представление о подготовке тестов в промышленных средах ещё
Повторяемость тестирования тест для курса Верификация программного обеспечения 40 мин
10 Документация, сопровождающая процесс верификации и тестирования (тест-требования) Лекция посвящена документации, создаваемой в процессе тестирования. Рассмотрены технологические процессы, сопряженные с созданием или использованием тестовой... Лекция посвящена документации, создаваемой в процессе тестирования. Рассмотрены технологические процессы, сопряженные с созданием или использованием тестовой документации. Рассмотрены следующие типы документов: стратегия и планы верификации, тест-требования. Цель данной лекции: определить основные технологические цепочки, в которых создается и используется тестовая документация, дать представление о роли стратегии верификации и планов верификации, определить подходы к разработке и анализу тест-требований ещё
Документация, сопровождающая процесс верификации и тестирования (тест-требования) тест для курса Верификация программного обеспечения 40 мин
11 Документация, сопровождающая процесс верификации и тестирования (тест-планы) Лекция продолжает тему документирования процесса тестирования, посвящена документации, создаваемой в процессе тестирования. Рассмотрены тест-планы, возможные формы... Лекция продолжает тему документирования процесса тестирования, посвящена документации, создаваемой в процессе тестирования. Рассмотрены тест-планы, возможные формы их подготовки, отчеты о прохождении тестов и различные формы их подготовки. Цель данной лекции: определить основные технологические цепочки, в которых создается и используется тестовая документация, дать представление о роли тест-планов и отчетов о прохождении тестов, определить подходы к разработке и анализу тест-планов ещё
Документация, сопровождающая процесс верификации и тестирования (тест-планы) тест для курса Верификация программного обеспечения 40 мин
12 Автоматизация модульного тестирования Семинар посвящен тестовому окружению, тестовым классам, тестовым проектам. Рассматривается подход XP (тесты перед кодом). Рассматриваются возможности... Семинар посвящен тестовому окружению, тестовым классам, тестовым проектам. Рассматривается подход XP (тесты перед кодом). Рассматриваются возможности MVSTE по тестированию модулей (Unit Testing). ещё
13 Документация, сопровождающая процесс верификации и тестирования (отчеты) Лекция завершает тему документирования процесса тестирования и посвящена документации, создаваемой в процессе тестирования. Рассмотрены отчеты о... Лекция завершает тему документирования процесса тестирования и посвящена документации, создаваемой в процессе тестирования. Рассмотрены отчеты о покрытии программного кода, отчеты о проблемах и трассировочные таблицы. Цель данной лекции: определить основные технологические цепочки, в которых создается и используется тестовая документация, дать представление о роли отчетов о покрытии, отчетов о проблемах и трассировочных таблиц ещё
Документация, сопровождающая процесс верификации и тестирования (отчеты) тест для курса Верификация программного обеспечения 40 мин
14 Контрольная работа
Формальные инспекции тест для курса Верификация программного обеспечения 40 мин
15 Формальные инспекции (окончание) "Лекция завершает тему ""Формальные инспекции"" и рассматривает документы, создаваемые в ходе формальной инспекции, а также определяет... "Лекция завершает тему ""Формальные инспекции"" и рассматривает документы, создаваемые в ходе формальной инспекции, а также определяет особенности формальных инспекций программного кода и проектной документации. Цель данной лекции: определить основные документы, создаваемые в ходе формальной инспекции, и указать на основные особенности процессов формальной инспекции программного кода и проектной документации" ещё
Формальные инспекции (окончание) тест для курса Верификация программного обеспечения 40 мин
16 Формальные инспекции Семинар посвящен формальным инспекциям программного кода. Проводится формальная инспекция программного модуля, участники выбираются из числа студентов.
17 Модульное тестирование Лекция является первой из трех рассматривающих уровни процесса верификации. Тема данной лекции - процесс модульного тестирования,... Лекция является первой из трех рассматривающих уровни процесса верификации. Тема данной лекции - процесс модульного тестирования, его задачи и цели. Определяется понятие модуля и его границ, определяются подходы к проектированию тестового окружения при модульном тестировании. Рассматриваются организационные аспекты модульного тестирования. Цель данной лекции: дать представление о процессе модульного тестирования, его технической и организационной составляющих ещё
Модульное тестирование тест для курса Верификация программного обеспечения 40 мин
18 Покрытие программного кода Семинар посвящен покрытию программного кода. Рассмотрены методы проверки покрытия, методы улучшения покрытия, покрытие по методу MC/DC.... Семинар посвящен покрытию программного кода. Рассмотрены методы проверки покрытия, методы улучшения покрытия, покрытие по методу MC/DC. Обсуждаются отчеты о покрытии, различные их формы, анализ неполноты покрытия, влияние зависимостей тестовых примеров на полноту покрытия. Описан процесс сбора покрытия и генерации отчетов о покрытии в MVSTE ещё
Интеграционное тестирование тест для курса Верификация программного обеспечения 40 мин
19 Повторяемость тестирования, зависимости тестовых примеров Семинар посвящен зависимости тестовых примеров. Рассматривается инициализация тестового окружения перед выполнением, выполнение последовательностей тестов, зависимость по... Семинар посвящен зависимости тестовых примеров. Рассматривается инициализация тестового окружения перед выполнением, выполнение последовательностей тестов, зависимость по общим данным, зависимость по состоянию системы/модуля, упорядоченные тесты (ordered tests) в MVSTE. ещё
20 Системное тестирование Лекция является последней из трех рассматривающих уровни процесса верификации. Тема данной лекции - процесс системного тестирования,... Лекция является последней из трех рассматривающих уровни процесса верификации. Тема данной лекции - процесс системного тестирования, его задачи и цели. Рассматриваются виды системного тестирования, особенности системного тестирования и испытаний при разработке сертифицируемого программного обеспечения. Цель данной лекции: дать представление о процессе системного тестирования, его технической и организационной составляющих ещё
Системное тестирование тест для курса Верификация программного обеспечения 45 мин
21 Интеграционное тестирование Семинар посвящен интеграционному тестированию, в т.ч. рассматриваются вопросы тестирования межмодульных интерфейсов, определения границ тестируемой области, тестирования... Семинар посвящен интеграционному тестированию, в т.ч. рассматриваются вопросы тестирования межмодульных интерфейсов, определения границ тестируемой области, тестирования информационного обмена между модулями. ещё
22 Тестирование пользовательского интерфейса Лекция посвящена тестированию пользовательского интерфейса. Определяются задачи и цели данного вида тестирования, определяются методы функционального тестирования... Лекция посвящена тестированию пользовательского интерфейса. Определяются задачи и цели данного вида тестирования, определяются методы функционального тестирования пользовательского интерфейса, вводятся основные понятия тестирования удобства использования (usability) интерфейсов. Цель данной лекции: дать представление о процессе тестирования пользовательского интерфейса, его задачах, целях и основных методах ещё
Тестирование пользовательского интерфейса тест для курса Верификация программного обеспечения 40 мин
23 Методы разработки устойчивого кода Лекция посвящена методам разработки устойчивого программного кода. Проводится классификация проблем, возникающих при работе программных систем, рассмотрено... Лекция посвящена методам разработки устойчивого программного кода. Проводится классификация проблем, возникающих при работе программных систем, рассмотрено три метода разработки устойчивого кода: допущения, обработка исключений, сбор информации о сбоях. Цель данной лекции: дать представление о методах разработки устойчивого кода ещё
Методы разработки устойчивого кода тест для курса Верификация программного обеспечения 40 мин
24 Поддержка процесса тестирования при промышленной разработке программного обеспечения Лекция посвящена промышленным процессам поддержки тестирования: управлению качеством и конфигурационному управлению. Рассматриваются особенности этих процессов при... Лекция посвящена промышленным процессам поддержки тестирования: управлению качеством и конфигурационному управлению. Рассматриваются особенности этих процессов при разработке сертифицируемого программного обеспечения. Цель данной лекции: дать представление о процессах управления качеством и конфигурационного управления ещё
Поддержка процесса тестирования при промышленной разработке программного обеспечения тест для курса Верификация программного обеспечения 40 мин
25 Тестирование в Microsoft Solutions Framework Семинар посвящен Microsoft Solutions Framework и роли тестировщика в команде разработчиков, работающих по подходу MSF for... Семинар посвящен Microsoft Solutions Framework и роли тестировщика в команде разработчиков, работающих по подходу MSF for Agile Software Development. ещё
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.