Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры_ТП (с рамками)_2013.docx
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
253.1 Кб
Скачать

44. Понятие качества программного обеспечения. Составляющие и критерии качества. Обеспечение качества как процесс, а не этап. Международный стандарт iso 9000/9001.

Качественное ПО. Качество — совокупность характеристик объекта, относящихся к его способности удовлетворить установленные и предполагаемые потребности. В рамках ПО, под данным понятием подразумевается способность программы выдавать ожидаемые пользователем результаты. Многократное нарушение данного принципа за достаточно непродолжительный период времени говорит об отсутствии качества в ПО. Следовательно, для ПО, критерием качества является ее работа (отсутствуют или присутствуют ошибки в системе).

Обеспечение качества как процесс, а не этап. Обеспечение качества нельзя рассматривать как вполне самостоятельный этап ЖЦ, который осуществляется в строгой последовательности выполнения этапов. На каждом этапе ЖЦ, в систему закладывается элементы, которые придадут системе заданный уровень качества. Например, на этапе проектирования, это архитектура системы. Если архитектура спроектирована верно, то система будет более стабильно функционировать и эффективнее (оперативно) выполнять функции, что говорит о высоком качестве. На этапе сопровождения системы, необходимо поддерживать требуемое для системы окружение (условия функционирования). Обеспечивая такое окружение, система покажет лучший результат своей работы: снизится количество сбоев, внезапных остановов, потери информации и т.д. Это так же определяет качество функционирования ПО.

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

45. Задачи тестирования программного обеспечения. Тестирование как процесс, а не этап. Тестирование модулей, интерфейсов, сборки. Нисходящее и восходящее тестирование. Метрики тестирования и окончание тестирования.

Тестирование — процесс выполнения программы, с целью обнаружения ошибок. В тестировании участвуют представители Заказчика (конечные пользователи) и разработчики. Тестирование ПО производится на заранее подготовленных тестах.

Каждый тест определяет: 1). свой набор исходных данных и условий для запуска, программы; 2). набор ожидаемых результатов работы программы.

Тестирование обеспечивает: 1). обнаружение ошибок; 2). демонстрацию соответствия функций программы ее назначению; 3). демонстрацию реализации требований к характеристикам программы; 4). отображение надежности как индикатора качества программы.

Процесс тестирования состоит из трёх этапов: проектирование тестов (решается вопрос о выборе некоторого подмножества множества тестов); исполнение тестов (проводят, запуск тестов и отлавливают ошибки в тестируемом программном продукте) и анализ полученных результатов.

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

Тестирование модулей, интерфейсов, сборки. Тестирование модулей – применяется для выявления ошибок в работе группы методов, объединенных в модули или отдельные подсистемы. Тестирование можно проводить методами “черного ~” и “белого ящика”. Тестирование интерфейсов – применяется, когда модули или подсистемы интегрируются в большие системы. Каждый модуль или подсистема имеет заданный интерфейс, который вызывается другими компонентами системы. Цель тестирования – выявить ошибки, возникающие в системе, вследствие ошибок в интерфейсах или неправильных предложениях об интерфейсах. Тестирование сборки – осуществляется после тестирования всех компонентов, когда система собирается из компонентов. Во время сборки системы возникает проблема локализации выявленных ошибок. Между компонентами существуют сложные взаимоотношения, где и могут возникать ошибки. Такое тестирование выявляет ошибки при интеграции компонентов.

Нисходящее и восходящее тестирование. Известны два подхода к совместному тестированию модулей: пошаговое и монолитное тестирование. При монолитном тестировании сначала по отдельности тестируются все модули программного комплекса, а затем все они объединяются в рабочую программу для комплексного тестирования.

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

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

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

Метрики и окончания тестирования.

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

В качестве метрик могут использоваться такие количественные характеристики, как количество проведенных тестов, из них количество успешных и не успешных, процентное соотношение данных показателей. Можно рассматривать так же динамику результатов тестов, как показатели меняются – увеличиваются или уменьшаются. На основе анализа данных показатели можно принять решение о завершении, или продление этапа тестирования.