- •"Управление качеством разработки программного обеспечения" Содержание
- •1. Введение
- •2. Основные определения
- •3. Процесс разработки программного обеспечения.
- •3.1 Жизненный цикл программного обеспечения.
- •3.2 Модели жизненного цикла программного обеспечения.
- •3.2.1 Каскадная модель (1970, w.W. Royce)
- •3.2.2. Инкрементная модель жизненного цикла разработки программного обеспечения
- •3.2.3 Итерационная модель
- •3.2.4 Спиральная модель (Бари Боэм, 1988.)
- •3.2.6 Модель быстрого прототипирования
- •3.2.7 Agileметодологии
- •Преимущества непрерывной интеграции:
- •Недостатки непрерывной интеграции:
- •3.2.7.3 Гибкая разработка - scrum(Ken Schwaber & Jeff Sutherland, 1996)
- •Планирование спринта, митинг первый
- •Планирование спринта, митинг второй
- •Остановка спринта (Sprint Abnormal Termination).
- •Демо и ревью спринта.
- •3.2.8 Подгонка модели жизненного цикла разработки.
- •4 Качество программных продуктов.
- •4.1 Определение качества. Стандарты качества.
- •Методы контроля качества
- •4.2 Стоимость качества.
- •4.3 Введение в cmmi
- •4.4. Управление требованиями
- •Способы описания требований и анализ требований.
- •Виды требований по уровням
- •Виды требований по характеру
- •Типы документов требований
- •5. Тестирование программного обеспечения.
- •5.1. Цели и задачи. Основные определения.
- •5.1.1 Методологии тестирования
- •5.1.2 Уровни тестирования
- •5.2 Процесс тестирования.
- •5.2.3 Планирование тестирования.
- •Кто будет тестировать?
- •Что нужно тестировать?
- •В каком объеме тестировать?
- •Виды тест планов
- •Оценка качества тестов
- •Тестовые метрики
- •5.2.4. Автоматизация тестирования
- •Упрощение интеграции
- •Документирование кода
- •Отделение интерфейса от реализации
- •Ограничения
- •Приложения модульного тестирования
- •5.3. Дефекты. Причины, описания, отслеживание.
- •***Этимология
- •Жизненный цикл дефекта
- •Примеры систем отслеживания ошибок
- •5.4. Типы дефектов и статические методы тестирования (Майерс)
- •5.5 Техники создания тест-кейсов.
- •5.5.1 Проектирование и исполнение.
- •5.5.2 Техники создания тест-кейсов: методология «черного ящика»
- •Свойства правильно выбранного теста
- •Техники стратегии чёрного ящика
- •Эквивалентное разбиение
- •Анализ граничных значений
- •Анализ причинно-следственных связей
- •Предположение об ошибке
- •5.5.3 Техники создания тест-кейсов: методология «белого ящика».
- •Структура rup
- •Продукты, поддерживающие rup
- •Артефакты и роли
- •Введение в uml
- •Принципы моделирования
- •Сущности в uml
- •Отношения в uml
- •Виды диаграмм uml
- •Автоматизированное тестирование
- •Обработка требований на ошибки
- •Приемка
- •Приемосдаточные испытания
- •Регрессионное тестирование
- •Система отслеживания ошибок
- •Тестирование
Обработка требований на ошибки
Зачастую в требованиях к системе существуют ошибки или двузначные формулировки. Данное тестирование предназначено для исправления этих ошибок и для того, чтобы в процессе тестирования и разработки не возникало дополнительных вопросов, которые можно урегулировать на уровне требований.
Отчёт по дефектам
Документ, в котором описаны все дефекты, которые были найдены в данной версии продукта. Для таких документов, как правило, ведется версионность для большего понимания результатов изменений и исправлений ранее найденных дефектов.
Оценка качества программного продукта
Оценка производится для того, чтобы заказчик мог понять, в каком состоянии находится система в данный момент и какие шаги на основании этого можно предпринимать в дальнейшем для её улучшения.
Патч
Экземпляр ППО, являющийся обновлением, выпущенным для исправления ошибок, обнаруженных в версии или релизе ППО. В состав патча входит исполняемый код и описание исправленных в патче ошибок. Патч может распространяться без документации.
Подготовка тестовых данных
Зачастую у тестируемой системы есть специфические данные, которые следует подготовить до начала тестирования. Пример: В систему необходимо загружать архивы определённого содержания, картинка определенного размера и т.д.
Покрытие кода
Покрытие кода, по своей сути, является тестированием «белого ящика». Тестируемое ПО собирается со специальными настройками или библиотеками и/или запускается в особом окружении, в результате чего для каждой используемой (выполняемой) функции программы определяется её местонахождение в исходном коде.
Этот процесс позволяет разработчикам и специалистам по обеспечению качества определить части системы, которые, при нормальной работе, используются очень редко или никогда не используются (такие как код обработки ошибок и т.п.).
Приемка
Действие(-я), в результате которого заказчик принимает в собственность программное обеспечение по окончании (частичном или полном) контракта.
Приемосдаточные испытания
Проверка программы пользователями перед сдачей в эксплуатацию.
Регрессионное тестирование
После исправления дефектов часто бывает так, что изменения коснулись системы в целом и на основании этого возникли новые дефекты. Проверка целостности проекта после внесения изменений (регрессионное тестирование) предназначена для того, чтобы протестировать общий функционал окружения, в котором были произведены изменения.
Полезно так же на базовом уровне провести регрессионное тестирование всей системы целиком, потому что изменения могли затронуть модули, в которых прежде не было найдено дефектов.
Система отслеживания ошибок
Прикладная программа, разработанная с целью помочь разработчикам программного обеспечения (программистам, тестировщикам и др.) учитывать и контролировать ошибки (баги), найденные в программах, а также следить за процессом устранения этих ошибок.
Системное тестирование
Высокоуровневая проверка функционала всей программы.
Скрипт
Общие условия проведения тестирования (сценарий тестирования) при ручном тестировании, текст программы для выполнения автоматизированных тестов.
Смоук-тест (smoke test)
Минимальный набор тестов, проверяющий базовую функциональность, при неработоспособности которой дальнейшее тестирование не имеет смысла.
Статическое тестирование
Тестирование без реального выполнения программы.
Тест
Выполняемая тестовая процедура с конкретными входными данными, начальными условиями и ожидаемым результатом, разработанными для определенной цели, такой, как проверка отдельной программы или верификация соответствия на определенное требование.
Тест-кейс (тест-план)
Это документация описывающая шаги тестирования. В широком смысле, тест-план - это полное описание функционала системы с отражением всех требований к ней. Данная документация, как правило, описывает только реальные требования, которые предъявлены к системе.
При тестировании данная документация является гарантом того, что система в целом работает правильно. Нетривиальные ошибки (например, ввод некорректных символов в поиск) в разработке документа не учитываются, но выявляются при тестирование программы в целом.