Тестирование программных средств Сафронов Сергей 2009 год
Оглавление Классические модели жизненного цикла ПО Классические модели жизненного цикла ПО Современные модели жизненного цикла ПО Современные модели жизненного цикла ПО Описание основных этапов жизненного цикла Описание основных этапов жизненного цикла
Классические модели жизненного цикла ПО Каскадная модель Каскадная модель Каскадная модель с промежуточным контролем Каскадная модель с промежуточным контролем Спиральная модель Спиральная модель
Каскадная модель Реализация Тестирование Внедрение Эксплуатация и техподдержка Анализ Проектирование Спецификация требований
Каскадная модель с обратной связью Реализация Тестирование Внедрение Эксплуатация и техподдержка Анализ Проектирование Спецификация требований Модель базируется на том, что человек никогда не ошибается Модель базируется на том, что человек никогда не ошибается Является идеалом, который, к сожалению, недостижим Является идеалом, который, к сожалению, недостижим
Спираль Анализ реализация проектирование Спецификация требований тестирование Внедрение и эксплуатация
Современные модели жизненного цикла ПО V-model V-model Прототипирование Прототипирование Инкрементная модель Инкрементная модель Итерационная модель Итерационная модель
V-model Спецификация требований Внедрение АнализВалидация ПроектированиеИнтеграция РазработкаТестирование Unit testing Integration testing System testing Acceptance testing
Прототипирование Авторы: Джон Коннэлл, Линда Шафер Описание: метод, предназначенный для определения требований, при котором потребности пользователя извлекаются, представляются и разрабатываются посредством построения рабочей модели конечной системы быстро и в требуемом контексте Показания к применению: Требования расплывчатые/неопределенные Требования расплывчатые/неопределенные Требуется проверка концепции реализации Требуется проверка концепции реализации Новая, не имеющая аналогов разработка Новая, не имеющая аналогов разработка
Прототипирование
Инкрементная модель Инкрементная разработка представляет собой процесс частичной реализации всей системы и медленного наращивания функциональных возможностей.
Итеративная модель Особенности итеративной модели: короткий цикл разработки на итерацию Фиксированные интервалы
Различие инкрементной и итеративной моделей Инкрементная модельИтеративная модель
Основные этапы жизненного цикла Спецификация требований Спецификация требований (Оценка реального объема проекта, его целей и задач) Анализ Анализ (исследование бизнес-процессов) Проектирование Проектирование (формирование модели данных) Реализация Реализация Тестирование Тестирование Внедрение Внедрение Эксплуатация и техподдержка Эксплуатация и техподдержка
Спецификация требований Цели: Оценка реального объема проекта Оценка реального объема проекта Определение сущностей и функций на высоком уровне Определение сущностей и функций на высоком уровне Результат фазы – документ описывающий: График выполнения работ График выполнения работ Что когда и в каком объемеЧто когда и в каком объеме Бюджет проекта Бюджет проекта Планируемые затратыПланируемые затраты Планируемые выгодыПланируемые выгоды Время окупаемостиВремя окупаемости Риски Риски Целевая аудитория Целевая аудитория Основные вопросы: Будем ли делать этот проект за такие деньги или нет Будем ли делать этот проект за такие деньги или нет Будем ли вообще делать ЭТОТ проект с ЭТИМ разработчиком? Будем ли вообще делать ЭТОТ проект с ЭТИМ разработчиком?
Анализ Результат – информационная модель системы Сбор и оценка информации от заказчиков, проверка её на: Полноту Полноту Непротиворечивость Непротиворечивость Полезность Полезность Дублируемость Дублируемость На данном этапе проводят анализ (тестировние) требований Наиболее частый инструментарий: Rational Rose, Microsoft Visio На выходе получаются диаграммы потоков данных и диаграммы жизненных циклов сущностей (описание системы в динамике)
Проектирование Результат – модель данных Задачи проектирования: Оценка полноты результатов анализа Оценка полноты результатов анализа Согласовние с заказчиком Согласовние с заказчиком Определение архитектуры системы Определение архитектуры системы Используемые интерфейсы и сторонее ПО Используемые интерфейсы и сторонее ПО Архитектура баз данных Архитектура баз данных Определение средств разработки Определение средств разработки Определение требований безопасности Определение требований безопасности
Реализация Тонкие моменты: Проектировщик определяет что делать, программист – как Проектировщик определяет что делать, программист – как Проектировщик на этапе реализации выполняет функции ходячего справочника Проектировщик на этапе реализации выполняет функции ходячего справочника Желательно тесное взаимодействие с группой тестирования Желательно тесное взаимодействие с группой тестирования Координация пользовательских интерфейсов с заказчиком Координация пользовательских интерфейсов с заказчиком
Тестирование Модульное тестирование Модульное тестирование Интеграционное тестирование Интеграционное тестирование Системное тестирование Системное тестирование Приемосдаточные испытания Приемосдаточные испытания Обязательно проверить реакцию системы на отказы Полезно использовать генераторы тестовых данных
Интеграция Основные этапы Портирование информации Портирование информации Накопление информации Накопление информации Выход на проектную мощность Выход на проектную мощность
Эксплуатация и техническая поддержка Финальный этап: работа формально завершена, в идеале – стороны довольны друг другом Документ технической приемки: определяются необходимые ресурсы для работы системы (железо и персонал), а так же условия нарушения эксплуатации продукта и ответственности сторон Задачи службы поддержки – помощь заказчику в работе с системой и исправление обнаруженных ошибок.