Слайд 2
Жизненный цикл программного обеспечения
Слайд 3
ГОСТ 34.601-90
ISO/IEC 12207
Custom Development Method
Rational Unified
Process (RUP)
Microsoft Solution Framework (MSF)
Extreme Programming (XP).
Жизненный
цикл ПО
Стандарты
Слайд 5
Модели разработки ПО
Что такое модель разработки
Под моделью обычно
понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий
и задач на протяжении жизненного цикла.
Этапы:
Анализ осуществимости; стратегическое планирование; анализ требований;
проектирование (предварительное и детальное);
кодирование (программирование);
отладка и тестирование; интеграция;
Внедрение; эксплуатация и сопровождение.
Результаты работ на каждом этапе
Ключевые события (точки принятия решений)
Слайд 6
Модели разработки ПО
характеристики
Эффективность
затраты/бюджет
сроки
Прозрачность
статус работ известен в любой момент
проекта
Предсказуемость
реальные трудозатраты и сроки находятся в запланированных (сметных) пределах
Управляемость
возможность
внесения корректив по ходу проекта (изменяющиеся требования и др.)
Сдерживание рисков
устойчивость к влиянию внешних факторов
Слайд 7
Модели разработки ПО
характеристики
Модели
Прогнозирующие
Адаптивные
Слайд 8
Модели разработки ПО
Популярные модели
Прогнозирующие модели:
Прямая разработка
Водопадная (каскадная) модель
V-модель
Итерационные
модели
Слайд 9
Модели разработки ПО
Популярные модели
Адаптивные модели (agile):
Адаптивная разработка (ASD)
Dynamic
System Development Method (DSDM)
Feature Driven Development (FDD)
Crystal
Экстремальное программирование
SCRUM
RUP
…
Слайд 10
Модели разработки ПО
Каскадная модель
Слайд 11
Модели разработки ПО
Каскадная модель
Особенность модели:
каждый следующий этап проектирования
начинается после полного завершения работ по предыдущему этапу.
Слайд 12
Модели разработки ПО
Каскадная модель
Слайд 13
Модели разработки ПО
Тестирование в каскадной модели
Слайд 14
Модели разработки ПО
V-модель разработки
Слайд 15
Модели разработки ПО
Тестирование в V-модели
Слайд 16
Модели разработки ПО
Эволюционные модели
Мульти-каскад
последовательные каскады
параллельные каскады: одновременная разработка
в нескольких направлениях;
требует интеграции; фактически подразумевается в V-модели
Прототипирование
получить
быстро нечто работающее, оценить и спланировать дальнейшую разработку
варианты: proof-of-concept; архитектурный прототип;
Стимуляция пользователя на участие в разработке
Поэтапное уточнение требований
Наращивание, метод пробных разработок
первоначальная разработка постепенно наращивается
если прототип не отбрасывается, то прототипирование частный случай наращивания
Периодическая стабилизация продукта
Большой объем тестирования
Вовлеченность заказчика
Слайд 17
Модели разработки ПО
Спиральная модель
Слайд 18
Модели разработки ПО
Тестирование в спиральной модели
Слайд 19
Модели разработки ПО
Методология Agile
Слайд 20
Модели разработки ПО
Agile. Используемые подходы
Вовлеченность заказчика
Пользовательские истории как
база тестирования
Короткие рабочие циклы
Test-driven development (unit tests)
Acceptance tests
Автоматизация тестирования
Учет
нужд тестирования при проектировании и разработке
Большой объем регрессионного тестирования
Приемочные тесты – форма документирования функциональности системы
Изолированность модулей
Слайд 21
Модели разработки ПО
Agile. Тестирование в agile
Слайд 22
Модели разработки ПО
RUP. Rational Unified Process
Слайд 23
Модели разработки ПО
RUP. Фазы разработки RUP
1. Начальная стадия
(Inception) 3. Построение (Construction)
2. Уточнение (Elaboration) 4. Внедрение
(Transition)
Слайд 24
Модели разработки ПО
RUP. Процессы и стадии
Слайд 25
Модели разработки ПО
RUP. Цели тестирования в RUP
Поиск и
документирование дефектов качества;
Общие рекомендации относительно качества;
Проверка выполнения
основных предположений и требований на конкретных примерах;
Проверка, что продукт функционирует так, как было запроектировано;
Проверка, что требования выполнены соответствующим образом.
Слайд 27
Цикл тестирования ПО
Основные этапы
1. Анализ
2. Разработка стратегии тестирования
и
планирование процедур контроля качества
3. Работа с требованиями
4. Создание тестовой
документации
5. Тестирование прототипа
6. Основное тестирование
7. Стабилизация
8. Эксплуатация
Слайд 28
Цикл тестирования ПО
Основные этапы. Анализ
Даже самый качественный код
не спасет ваше приложение, если требования к ПО не
были должным образом систематизированы или же были плохо документированы.
Слайд 29
Цикл тестирования ПО
Основные этапы. Стратегия
Качественно разработанная стратегия позволяет
избежать хаотичных или избыточных тестовых процедур, гарантируя при этом
своевременный контроль качества всех компонентов системы
Слайд 30
Цикл тестирования ПО
Основные этапы. Тестовая документация
Основная цель — сделать
объем и ход выполнения задач прозрачным и понятным для
заказчика.
Необходимо позаботиться о своевременном создании и регулярном обновлении соответствующей документации, фиксируя все шаги проделанной работы.
Слайд 31
Цикл тестирования ПО
Основные этапы. Тестирование прототипа
Своевременные изменения, выполненные
на концептуальном уровне во время прототипирования, помогают предотвратить дорогостоящие
переделки системы на стадиях разработки.
Слайд 32
Цикл тестирования ПО
Основные этапы. Стабилизация
Тестирование проводится в условиях,
наиболее приближенных к реальным (или даже в условиях эксплуатации).