Тестирование ПО (вспомогательные материалы курса)
Темы
Объекты разработки\тестирования
Объекты разработки\тестирования – «программа»
Объекты разработки\тестирования – «ПО»
Объекты разработки\тестирования – «ПО»
Объекты разработки\тестирования – «ПО»
Инструментальное ПО
Объекты разработки\тестирования – «ПО»
Прикладное ПО
Программные средства защиты
Объекты разработки\тестирования – «ПП»
Объекты разработки\тестирования – «ПП»
Разработка программных продуктов
Основные этапы процесса разработки ПО
Жизненный цикл ПП
Жизненный цикл ПП
Модель жизненного цикла ПП
Модель жизненного цикла ПП
Модель жизненного цикла ПП
Модели жизненного цикла ПО: каскадная модель
Модели жизненного цикла ПО: каскадная модель
Модели жизненного цикла ПО: каскадная модель
Модели жизненного цикла ПО: каскадная модель
Модели жизненного цикла ПО: спиральная
Модели жизненного цикла ПО: спиральная
Модели жизненного цикла ПО: спиральная
Модели жизненного цикла ПО: спиральная
Модели жизненного цикла ПО: итеративная
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: V-модель
Модели жизненного цикла ПО: инкрементная
Модели жизненного цикла ПО
Проект
Проект -> Команда
659.00K
Категория: ПрограммированиеПрограммирование

Тестирование ПО

1. Тестирование ПО (вспомогательные материалы курса)

«Процесс разработки
ПО\ПП»
СПб 2020, Набока О.А.

2. Темы

Процесс разработки ПО\ПП
Темы
Объекты разработки.
Процесс разработки ПО – основные этапы.
Основные модели ЖЦ ПО.
Проект. Команда.

3. Объекты разработки\тестирования

Процесс разработки ПО\ПП
Объекты разработки\тестирования
Чем занимаются IT компании?
Что является объектом разработки, тестирования?
Что такое «программа», «ПО» («программное обеспечение»),
«ПП» («программный продукт»)?

4. Объекты разработки\тестирования – «программа»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «программа»
Что такое программа?
последовательность формализованных
инструкций, предназначенная для исполнения
устройством управления вычислительной
машины
размещенные в оперативной памяти
компьютера ресурсы и машинные коды,
исполняемые процессором для достижения
некоторой цели.

5. Объекты разработки\тестирования – «ПО»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПО»
Что такое программное обеспечение (ПО)?
это совокупность всей информации, данных и
программ, которые обрабатываются компьютерными
системами.
на компьютерном жаргоне – часто используется слово
«софт» от английского software - a collection of
computer programs, procedures and documentation that
perform some task on a computer system.

6. Объекты разработки\тестирования – «ПО»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПО»
Систе́мное ПО (system software)
-
это набор программ, которые управляют компонентами
вычислительной системы
Операционные системы - общего назначения,
реального времени, сетевые ОС, встраиваемые
Загрузчик операционной системы
Драйверы устройств
Программные кодеки
Утилиты
и т.п.

7. Объекты разработки\тестирования – «ПО»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПО»
Инструмента́льное ПО (programming software)
-
программное обеспечение, предназначенное для
использования в ходе проектирования, разработки и
сопровождения программ

8. Инструментальное ПО

Процесс разработки ПО\ПП
Инструментальное ПО
Текстовые редакторы
Интегрированные среды
разработки
Компиляторы
Интерпретаторы
Линковщики
Парсеры и генераторы
парсеров
Средства непрерывной
интеграции
Ассемблер
Отладчики
Генераторы документации
Средства анализа покрытия
кода
Средства
автоматизированного
тестирования
Системы управления
версиями
SDK (software development kit)
СУБД
и т.п.

9. Объекты разработки\тестирования – «ПО»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПО»
Прикладное (специальное) ПО
(application software)
– программы, предназначенные для выполнения
определенных пользовательских задач и рассчитанные
на непосредственное взаимодействие с пользователем
(офисные приложения, бухгалтерские программы, ERP,
электронная почта и т.п.).

10. Прикладное ПО

Процесс разработки ПО\ПП
Прикладное ПО
Офисные приложения (MS Word, PPT,…)
Корпоративные информационные системы (ERP, ...)
Системы проектирования и производства (САПР, ...)
Системы обработки и хранения медицинской информации
Научное ПО
Клиенты для доступа к интернет-сервисам (веб, ...)
Мультимедиа (комп. игры, ...)
Системы логической поддержки изделий (LSA, …)
Прочие системы (системы поддержки принятий
решения, ...)

11. Программные средства защиты

Процесс разработки ПО\ПП
Программные средства защиты
Криптошлюзы
Средства аутентификации
Средства мониторинга и аудита
Сканеры защищенности
Средства разграничения доступа
Системы криптографической защиты,
шифрования и ЭЦП
Антивирусные программы
Антиспамовые программы
Межсетевой экран

12. Объекты разработки\тестирования – «ПП»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПП»
Что такое программный продукт (ПП)?
программное обеспечение, предназначенное
для удовлетворения потребностей
пользователей широкого распространения и
продажи.

13. Объекты разработки\тестирования – «ПП»

Процесс разработки ПО\ПП
Объекты разработки\тестирования – «ПП»
Коробочный программный продукт
это программное обеспечение, предназначенное для
неопределенного круга покупателей и поставляемое на
условиях "как есть", со стандартными для всех
покупателей функциями
Заказной программный продукт
ПП, появление которого обусловлено требованием
конкретного заказчика и продажа которого может, по
требованию заказчика, сопровождаться проектной
доработкой или разработкой функций, дополняющих
стандартные (базовые) возможности.

14. Разработка программных продуктов

Процесс разработки ПО\ПП
Разработка программных продуктов
Разработка программного продукта – это
процесс.
Процесс разработки программного продукта – это
структура, согласно которой построена
разработка программного обеспечения.

15. Основные этапы процесса разработки ПО

Процесс разработки ПО\ПП
Основные этапы процесса разработки ПО
Планирование
Сбор и анализ требований
Разработка архитектуры
Кодирование
Тестирование
Документирование
Внедрение
Сопровождение

16. Жизненный цикл ПП

Процесс разработки ПО\ПП
Жизненный цикл ПП
Жизненный цикл ПП
период разработки и эксплуатации программного
обеспечения
непрерывный процесс, который начинается с момента
принятия решения о необходимости его создания и
заканчивается в момент его полного изъятия из
эксплуатации (ISO 12207).

17. Жизненный цикл ПП

Процесс разработки ПО\ПП
Жизненный цикл ПП
Жизненный цикл ПП - этапы:
возникновение и исследование идеи
анализ требований
проектирование системы
кодирование\программирование
тестирование
ввод в действие
эксплуатация и сопровождение
завершение эксплуатации

18. Модель жизненного цикла ПП

Процесс разработки ПО\ПП
Модель жизненного цикла ПП
Что такое модель жизненного цикла ПП?
описание набора фаз (этапов, стадий) проекта по созданию
ПО, в которых выполняются отдельные процессы, разбитые
на операции и задачи.
модели упрощают реальность и пренебрегают деталями
(хорошие модели опускают «правильные» детали)
отправная точка для дальнейшей детализации процесса.

19. Модель жизненного цикла ПП

Процесс разработки ПО\ПП
Модель жизненного цикла ПП
Необходимость модели ЖЦ
Направляет проект
Улучшает скорость разработки
Улучшает отслеживание и контроль над проектом
Минимизирует издержки и влияние рисков
Улучшает отношение с клиентом
Неподходящая модель ЖЦ
Замедляет выполнение работ
Вынуждает делать лишнюю работу
Проект оказывается неуспешным

20. Модель жизненного цикла ПП

Процесс разработки ПО\ПП
Модель жизненного цикла ПП
Два класса моделей
Подход «большого взрыва»
Весь продукт сдается заказчику за один раз
Циклический подход
Итеративная разработка и сдача продукта

21. Модели жизненного цикла ПО: каскадная модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: каскадная модель
Каскадная модель («водопад»\waterfall )
Формирование требований
Проектирование
Реализация
Тестирование
Ввод в действие
Эксплуатация и сопровождение

22. Модели жизненного цикла ПО: каскадная модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: каскадная модель
Каскадная модель («водопад»\waterfall )
Каждая фаза начинается только после завершения
предыдущей
Каждая фаза полностью документируется
Переход от одной фазы к другой - формальный обзор с
участием заказчика (все ли ОК, переходим ли на след этап)
Основа модели – сформулированные требования
Критерий качества – соответствие требованиям

23. Модели жизненного цикла ПО: каскадная модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: каскадная модель
Преимущества
Недостатки
Проста и понятна заказчикам
Процесс разработки выполняется
поэтапно
Невысокие требования к
исполнителям
Способствует контролю
управления проектом
Независимость стадий (могут
выполнять разные команды)
Точное планирование сроков и
затрат
***Обнаружение ошибок на
ранних фазах (проверка по
окончанию каждой фазы)
Высокая стоимость ошибок на
фазе интеграции
Запаздывание с получением
результатов
Рост затрат при возврате на одну
или две фазы назад
Предполагает корректность
результатов на предыдущей
стадии
Не применима в большинстве
современных IT проектах, т.к.
требования меняются быстро и
часто

24. Модели жизненного цикла ПО: каскадная модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: каскадная модель
Применимость
Четкие и не меняющиеся требования.
Понятные технические методологии.
Критически-важные программно-аппаратные комплексы
(медицина, авиация, и т.п.). Требования к качеству
превалируют над требованиями к стоимости и
длительности.
Стабильный продукт.
Повторная разработка типового продукта.
Выпуск новой версии существующего продукта (перенос
на новую платформу).
Как элемент моделей других типов.

25. Модели жизненного цикла ПО: спиральная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: спиральная
Определен. целей,
альтернатив,
огранич.
Суммарная
стоимость
Анализ рисков
Анализ
рисков
АР
П2
А
П1
Р
Треб,
Концеп. Треб.
ЖЦ
к ПО
Проверка
треб.
Проверка
проекта
Планирование
следующих фаз
Оценка альтернат.
выявить и решить
риски
Внедр.
Прототип
3
Проект
ПО
Мод.
тестир.
Сборка
Рабочий
прототип
Детальн.
проект
Кодиров.
Разработка след.
уровня

26. Модели жизненного цикла ПО: спиральная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: спиральная
Спиральная модель
Разработка вариантов продукта с возвратом к ранним вариантам
Создание прототипов ПО для уточнения и выявления требований
Планирование вариантов с оценкой альтернатив и анализом рисков
Переход к следующему варианту до завершения предыдущего
Использование каскадной модели как схемы разработки очередного варианта
Активное привлечение заказчика к работе над проектом:
До начала разработки ПО есть несколько полных циклов анализа требований и
проектирования.
Количество циклов модели (как в части анализа и проектирования, так и в части
реализации) не ограничено и определяется сложностью и объемом задачи
Предполагаются возвраты на оставленные варианты при изменении стоимости
рисков.

27. Модели жизненного цикла ПО: спиральная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: спиральная
Преимущества
Более тщательное
проектирование
Поэтапное уточнение
требований
Участие заказчика в
выполнении проекта
Планирование и
управление рисками
Возможность разработки
ПО «по частям»
Гибкость
Недостатки
Сложность анализа и
оценки рисков при выборе
вариантов.
Сложность поддержания
версий продукта
Сложность оценки точки
перехода на следующий
цикл
Бесконечность модели

28. Модели жизненного цикла ПО: спиральная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: спиральная
Применимость
Пользователи не уверены в своих потребностях (необходима
оценка рисков)
Требования слишком сложны
Достижение успеха не гарантировано и необходима оценка
рисков продолжения проекта
Проект сложный, дорогостоящий и обоснование его
финансирования возможно только в процессе его выполнения
Применение новых технологий (исследования)
Выполнение очень больших проектов по частям
Объединение с другими моделями

29. Модели жизненного цикла ПО: итеративная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: итеративная
Итеративная (инкрементная)
процесс разработки делится на итерации, каждая из которых
напоминает «мини-проект» (требования-> проектирование>кодирование->тестирование)
цель каждой итерации – получение работающей версии ПО,
включающей функциональность предыдущих и текущей итерации.
Эволюционная
подразумевает не только сборку продукта, но и его
развертывание в реальных ОС с анализом откликов
пользователей для определения содержания и планирования
следующей итерации
процесс проектирования и реализации кода продукта, при котором
не вносятся серьёзные изменения в архитектуру, а лишь
направляются эволюционные процессы развития

30. Модели жизненного цикла ПО: V-модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: V-модель
Требования и
планирование
Производство,
эксплуатация
Анализ требов.
и спецификаций
Системное
тестирование
Высокоуровнев.
проектирование
Сборка и
тестирование
Детальное
проектирование
Модульное
тестирование
Кодирование

31. Модели жизненного цикла ПО: V-модель

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: V-модель

32. Модели жизненного цикла ПО: V-модель

V-модель обеспечивает поддержку в планировании и реализации проекта. В ходе проекта ставятся
следующие задачи:
Минимизация рисков: V-образная модель делает проект более прозрачным и повышает качество
контроля проекта путём стандартизации промежуточных целей и описания соответствующих им
результатов и ответственных лиц. Это позволяет выявлять отклонения в проекте и риски на ранних
стадиях и улучшает качество управления проектов, уменьшая риски.
Повышение и гарантии качества: V-Model — стандартизованная модель разработки, что
позволяет добиться от проекта результатов желаемого качества. Промежуточные результаты могут
быть проверены на ранних стадиях. Универсальное документирование облегчает читаемость,
понятность и проверяемость.
Уменьшение общей стоимости проекта: Ресурсы на разработку, производство, управление и
поддержку могут быть заранее просчитаны и проконтролированы. Получаемые результаты также
универсальны и легко прогнозируются. Это уменьшает затраты на последующие стадии и проекты.
Повышение качества коммуникации между участниками проекта: Универсальное описание
всех элементов и условий облегчает взаимопонимание всех участников проекта. Таким образом,
уменьшаются неточности в понимании между пользователем, покупателем, поставщиком и
разработчиком[5].

33. Модели жизненного цикла ПО: V-модель

Достоинства
Пользователи V-Model участвуют в разработке и поддержке V-модели. Комитет по контролю за
изменениями поддерживает проект и собирается раз в год для обработки всех полученных
запросов на внесение изменений в V-Model[6].
На старте любого проекта V-образная модель может быть адаптирована под этот проект, так как
эта модель не зависит от типов организаций и проектов[7].
V-model позволяет разбить деятельность на отдельные шаги, каждый из которых будет включать в
себя необходимые для него действия, инструкции к ним, рекомендации и подробное объяснение
деятельности
Ограничения
Следующие моменты не учитываются в V-модели, но могут быть рассмотрены
отдельно, либо возможно адаптировать модель под них:
Не регулируется размещение контрактов на обслуживание.
Организация и выполнение управления, обслуживания, ремонта и утилизации
системы не учитываются в V-модели. Однако, планирование и подготовка к этим
операциям моделью рассматриваются.
V-образная модель больше касается разработки программного обеспечения в
проекте, чем всей организации процесса[9].

34. Модели жизненного цикла ПО: V-модель

Преимущества
В модели особое значение придается планированию, направленному на верификацию и
аттестацию разрабатываемого продукта на ранних стадиях его разработки. Фаза модульного
тестирования подтверждает правильность детализированного проектирования. Фазы интеграции и
тестирования реализуют архитектурное проектирование или проектирование на высшем уровне.
Фаза тестирования системы подтверждает правильность выполнения этапа требований к продукту
и его спецификации[10].
В модели предусмотрены аттестация и верификация всех внешних и внутренних полученных
данных, а не только самого программного продукта[10][11][12].
В V-образной модели определение требований выполняется перед разработкой проекта системы,
а проектирование ПО — перед разработкой компонентов[10].
Модель определяет продукты, которые должны быть получены в результате процесса разработки,
причём каждые полученные данные должны подвергаться тестированию[10][12].
Благодаря модели менеджеры проекта могут отслеживать ход процесса разработки, так как в
данном случае вполне возможно воспользоваться временной шкалой, а завершение каждой фазы
является контрольной точкой[10][12].

35. Модели жизненного цикла ПО: V-модель

Недостатки
Модель не предусматривает работу с параллельными событиями[10].
В модели не предусмотрено внесение требования динамических изменений на разных этапах
жизненного цикла[10][11][13].
Тестирование требований в жизненном цикле происходит слишком поздно, вследствие чего
невозможно внести изменения, не повлияв при этом на график выполнения проекта [10][11].
В модель не входят действия, направленные на анализ рисков[10].
Некоторый результат можно посмотреть только при достижении низа буквы V [14].

36. Модели жизненного цикла ПО: инкрементная

Процесс разработки ПО\ПП
Модели жизненного цикла ПО: инкрементная
Требования и
планирование
Анализ требований
Анализ требований
Анализ требований
Проектирование
Инкремент 3
Инкремент 2
Инкремент 1
Разработка тестов
Кодирование
Сборка
Интеграц. тестир.
Выходное тестиров.
Выходное тестиров.
Выходное тестиров.
Производство,
эксплуатация

37. Модели жизненного цикла ПО

Процесс разработки ПО\ПП
Модели жизненного цикла ПО
В реальных проектах используют комбинации моделей ЖЦ
с применением практик из различных методологий
разработки, которые повышают качество процессов и
продукта
Для каждого проекта должна быть определена своя модель
и процессы, исходя из особенностей проекта
Процесс тестирования строится, исходя из модели ЖЦ
проекта.

38. Проект

Процесс разработки ПО\ПП
Проект
Что такое проект?
Проект – это уникальный процесс, в ходе
выполнения которого получают
уникальный продукт.

39. Проект -> Команда

Процесс разработки ПО\ПП
Проект -> Команда
Команда разработки ПП
Руководитель проекта
Аналитик(-и)
Архитектор(-ы)
Разработчик(-и)
Инженер(-ы) по тестированию
Технический писатель(-и)
English     Русский Правила