Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Лекция 1. Основные понятия тестирования

.pdf
Скачиваний:
70
Добавлен:
12.02.2022
Размер:
306.74 Кб
Скачать

Системы показателей качества ПО

Качество ПО

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

При оценке качества ПО необходимо оценивать не только значения характеризующих его показателей, но и технологию и схемы процессов контроля качества, используемые данным разработчиком и называемые моделью качества и чем эффективнее организовано управление качеством в организации-разработчике, тем выше качество создаваемого ПО.

Модели качества ПО

Стандарты "ISO 9000" не являются стандартами качества продукции или даже качества производственного процесса, но устанавливают стандартные требования к системе качества. "Система качества – совокупность организационной структуры, методик, процессов и ресурсов, необходимых для общего руководства качеством" (ISO 8402).

Модель Capability Maturity Model (CMM) была разработана Software Engineering Institute (SEI) совместно с Университетом Карнеги-Меллона и рассматривает процесс разработки программного обеспечения как поэтапное достижение компанией определенного уровня зрелости. Согласно модели CMM выделяется пять уровней управления качеством в ходе создания ПО – на первом уровне каждый проект рассматривается как абсолютно новая задача, а на пятом все действия заранее расписаны и происходит постоянный процесс их усовершенствования.

Существуют и другие модели качества ПО, среди которых можно выделить модель Trillium, созданную фирмами Bell Canada, Nothern Telecom и Bell-Nothern Research. Будучи основанной на CMM, эта модель учитывает требования группы стандартов ISO и дает иную трактовку уровней.

Модели качества ПО не ограничиваются описанием уровней, а представляют собой достаточно большую совокупность положений нормативного и методологического характера, раскрывающих содержание этих уровней.

Определение уровней управления качеством по CMM и Trillium

 

Определение уровня

 

 

 

 

CMM

Trillium

 

 

 

 

Процесс разработки носит хаотичный

Характеризуется хаотичностью. Качество

 

характер. Успех проекта зависит только от

продуктов низкое, сроки завершения проектов

Начальный

способностей персонала. Отсутствует

нарушаются. Риск высокий.

(initial)

стабильная среда разработки и

 

 

сопровождения, а планы и сроки работы

 

 

зависят от возникающих проблем.

 

 

 

 

 

Успешная реализация проектов

Повторяемый и ориентированный на процессы.

 

становится возможной благодаря

Успех проектов обусловлен внедрением систем

 

жесткому управлению, планированию и

управления проектами, планирования и

Повторяем

контролю. Акцент делается на выработку

менеджмента. Особое внимание уделяется

ый

исходных требований, методы оценки и

выработке исходных требований,

конфигурационный менеджмент.

конфигурационному менеджменту и оценке

(repeatable)

 

Разработка новых проектов ведется на

качества готовых систем. Риск средний.

 

основе ранее накопленного опыта и в

 

 

соответствии со стандартами на

 

 

разработку ПО.

 

 

 

 

 

Процессы, относящиеся к сфере

Определенный и ориентированный на процессы.

 

управления и инженерной деятельности,

Все производственные процессы определены и

Фиксирова

полностью документированы,

используются в масштабе всей компании, хотя их

стандартизованы и интегрированы в

адаптация в целях выполнения проектов

нный

единый технологический поток,

допускается. Процессы полностью

(defined)

контролируемый управляющим

контролируются и постоянно совершенствуются.

 

 

персоналом.

Стандарты ISO 9001 внедрены в части обучения

 

 

персонала и внутреннего аудита. Риск невысокий.

Определение уровней управления качеством по CMM и Trillium

 

Определение уровня

 

 

 

 

CMM

Trillium

 

 

 

 

Организации пытаются оценить качество

Управляемый и интегрированный. Основным

 

процессов и готового продукта

средством повышения качества процессов

 

количественно. Для контроля над

становятся анализ и инструментальные

Управляемый

процессами используются

системы. Функции отслеживания изменений и

(managed)

количественные показатели (метрики).

профилактики ошибок встраиваются в

 

Все процессы предсказуемы и

процессы. Активно используются CASE-

 

укладываются в заранее определенные

средства. Риск довольно небольшой.

 

рамки.

 

 

 

 

 

Компания строит свою деятельность,

Полностью интегрированный. Широко

 

руководствуясь уже количественными

применяются формализованные методологии.

Оптимизируе

критериями качества. Основная цель –

Для хранения истории разработки применяется

производство и внедрение полностью

репозитарий. Риск минимальный.

мый

отлаженных разработок

 

(optimizable)

 

 

 

 

 

 

Качество ПО

Современное состояние в области качества ПО характеризуется:

-отсутствием единой системы показателей качества;

-осуществлением перехода от попыток стандартизации понятия и показателей качества ПО к унификации и стандартизации систем управления качеством, используемых организациямиразработчиками;

-выполнением оценок производителей ПО с позиций качества создаваемого ПО по степени совершенства используемой ими системы управления качеством, определяемой в результате

аудита и сертификации.

_

 

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

Тестирование является одним из наиболее устоявшихся способов обеспечения качества разработки программного обеспечения и входит в набор эффективных средств современной системы обеспечения качества программного продукта.

Тестирование ПО заключается в выполнении приложения на некотором множестве исходных данных и сверке получаемых результатов с заранее известными (эталонными) с целью установить соответствие различных свойств и характеристик приложения заказанным свойствам.

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

Оценка трудоемкости обнаружения и исправления ошибок при создании программного продукта

Без автоматизации

40%

20%

40%

С автоматизацией

60%

20% 20%

Общая концепция тестирования ПО

Программа – это аналог формулы в обычной математике. Формула для функции f, полученной суперпозицией функций f1, f2, ... fn – выражение, описывающее эту суперпозицию.

f = f1* f2* f3*... * fn

если аналог f1,f2,... fn – операторы языка программирования, то их формула – программа.

Существует два подхода обоснования истинности формул:

Формальный подход применяется, когда из исходных формул-аксиом с помощью формальных процедур (правил вывода) выводятся искомые формулы и утверждения (теоремы). Вывод осуществляется путем перехода от одних формул к другим по строгим правилам, которые позволяют свести процедуру перехода от формулы к формуле к последовательности текстовых подстановок. Преимущество формального подхода заключается в том, что с его помощью удается избегать обращений к бесконечной области значений и на каждом шаге доказательства оперировать только конечным множеством символов.

Интерпретационный подход применяется, когда осуществляется подстановка констант в формулы, а затем интерпретация формул как осмысленных утверждений в элементах множеств конкретных значений. Истинность интерпретируемых формул проверяется на конечных множествах возможных значений. Сложность подхода состоит в том, что на конечных множествах комбинации возможных значений для реализации исчерпывающей проверки могут оказаться достаточно велики. Интерпретационный подход используется при экспериментальной проверке соответствия программы своей спецификации. Применение интерпретационного подхода в форме экспериментов над исполняемой программой составляет суть отладки и тестирования.

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

Отладка (debug, debugging) – процесс поиска, локализации и исправления ошибок в программе.

Термин "отладка" в отечественной литературе используется двояко:

- как для обозначения непосредственной активности по поиску ошибок (собственно процесс тестирования),

-так и для нахождения причин их появления и исправления (процесс локализации и исправления ошибок).

Тестирование – это:

-процесс выполнения ПО системы или компонента в условиях анализа или записи получаемых результатов с целью проверки (оценки) некоторых свойств тестируемого объекта.

-процесс анализа пункта требований к ПО с целью фиксации различий между существующим состоянием ПО и требуемым (что свидетельствует о проявлении ошибки) при экспериментальной проверке соответствующего пункта требований

-контролируемое выполнение программы на конечном множестве тестовых данных и анализ результатов этого выполнения для поиска ошибок