- •"Управление качеством разработки программного обеспечения" Содержание
- •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
- •Автоматизированное тестирование
- •Обработка требований на ошибки
- •Приемка
- •Приемосдаточные испытания
- •Регрессионное тестирование
- •Система отслеживания ошибок
- •Тестирование
Тестирование
Процесс позволяющий определить корректность, полноту и качество разработанного программного продукта (сайта или программы).
Особо выделяют следующие вид тестирования: - функциональное тестирование - регрессионное тестирование - юзабилити тестирование - конфигурационное тестирование - нагрузочное тестирование - стрессовое тестирование
Тестирование "белого ящика"
Тестирование на соответствие программного продукта требованиям со знанием внутренней структуры реализации системы (есть в наличии исходный код и технические спецификации). Это вид тестирования позволяет проводить локализацию ошибок, анализ надежности и устойчивости и т.п., существенно повышая качество системы.
Тестирование "черного ящика"
Тестирование на соответствие программного продукта требованиям без знания внутренней структуры реализации системы.
Тестовое покрытие
Мера полноты тестирования для определенной стратегии. Степень, до которой с помощью контрольных примеров проверяют требования к системе или программному продукту.
Техническое задание
Документ, используемый заказчиком в качестве средства для описания и определения задач, выполняемых при реализации договора.
Управление дефектами
Это базовое понятие тестирования, которое включает в себя документацию по тестированию и необходимые документы для описания найденных дефектов.
Функциональное тестирование
Функциональное тестирование проверяет, что система работает в точности, как и описано в спецификации (требованиях к системе). Пример: Есть система интернет-магазина, и есть требования к этой системе. Предположим одно из этих требований – возможность работы с системой WebMoney.
Функциональное тестирование предназначено для проверки правильности работы системы с платежами.
Юзабилити тестирование
Юзабилити тестирование предназначено для оценки удобства пользования системой и соответствующих рекомендаций по её улучшению.
Пример: Предложение об изменении местоположения кнопок для большего удобства или же предложение об изменении кол-ва полей в форме регистрации и так далее.
GUI-тесты
Тестирование графического интерфейса — окон, меню, кнопок, списков и т.д.
Как правило, через пользовательский интерфейс реализуется большая часть функциональности ПО.
Управление качеством
Методы и виды деятельности оперативного характера, используемые для выполнения требований к качеству. [ИСО 8402]
Система качества
Совокупность организационной структуры, методик, процессов и ресурсов, необходимых для осуществления общего руководства качеством. [ИСО 8402]
Литература
Майерс Г. Искусство тестирования программ М.: Финансы и статистика, 1982. -176 с.
Канер Кем, Фолк Джек, Нгуен Енг КекТестирование программного обеспечения.— Киев: ДиаСофт, 2001. — 544 с. — ISBN 9667393879
Калбертсон Роберт, Браун Крис, Кобб ГэриБыстрое тестирование. — М.: «Вильямс», 2002. — 374 с.
Бейзер Б.Тестирование чёрного ящика. Технологии функционального тестирования программного обеспечения и систем. — СПб.: Питер, 2004. — 320 с.
Рекс Блэк. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование пер. с англ., - М.: Лори, - 544с.: ил., ISBN 5-85582-239-7, ISBN 0-201-74868-1 (англ.)
Денис М. Ахен, Арон Клауз, Ричард Тернер.“CMMI:Комплексный подход к совершенствованию процессов. Практическое введение в модель.”
Бек КентЭкстремальное программирование: разработка через тестирование : пер. с англ. / Кент Бек . - СПб. : Питер , 2003. - 224 с. (Библиотека программиста)
Дастин ЭлфридАвтоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация : пер. с англ. / Элфрид Дастин ; Джефф Рэшка ; Джон Пол . - М. : Лори , 2003. - 567 с.
Луиза Тамре. Введение в тестирование программного обеспечения. -Издательство:ВильямсбГод:2003ISBN:5-8459-0394-7003 г.
Элфрид Дастин, Джефф Рэшка, Джон Пол Автоматизированное тестирование программного обеспечения. 2003 г.
Barry Boehm, "A Spiral Model of Software Development and Enhancement", IEEE Computer, Vol.21, No.5, pp. 61-72, 1988.)
http://www.agilealliance.com/
http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf
http://www.agilerussia.ru/
http://software-testing.ru/
www.computer.org/computer/homepage/misc/Boehm/r5061.pdf
http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf.
http://www.intuit.ru/
http://www.sei.cmu.edu/cmmi/
SW-CMM: http://www.sei.cmu.edu/cmm