Верификация и тестирование ПО. 1. Принципы верификации и тестирования ис
Скачать 0.49 Mb.
|
Принципы верификации и тестирования информационных систем Технологические этапы и стратегии систематического тестирования информационных систем Процессы оценивания характеристик и испытания информационных систем Средства для испытаний и определения характеристик информационных систем 1. Принципы верификации и тестирования ИСВерификация – это процесс для определения, выполняет ли ИС и её компоненты требования, наложенные на них в этапах ЖЦ ИС Основная цель: обнаружить, зарегистрировать и устранить дефекты и ошибки, которые внесены во время разработки и модификации ИС Обычно проводится сверху вниз, начиная от общих требований, заданных в ТЗ и спецификации на всю ИС до детальных требований на компоненты и их взаимодействие В процессе верификации ИС проверяется, что:общие требования к ИС, предназначенные для программной реализации, корректно переработаны в спецификацию требований высокого уровня требования высокого уровня правильно переработаны в архитектуру ИС и в спецификации требований к функциональным компонентам спецификации требований к функциональным компонентам ИС, расположенным между компонентами высокого и низкого уровня архитектура ИС и спецификации требований к компонентам низкого уровня корректно переработаны в удовлетворяющие им исходные тексты программных модулей исполняемый объектный код удовлетворяет требованиям к исходному тексту программных компонентов Цели верификации ИС достигаются посредством последовательного выполнения комбинации из:просмотров анализов разработки тестовых сценариев и процедур последующее выполнение тестов Тестовые сценарии предназначены для проверки внутренней непротиворечивости и полноты реализации требований Тестовые процедуры должно обеспечивать демонстрацию соответствия испытуемой системы исходным требованиям Информация о процессе верификации включает:требования к системе требования к ИС и её архитектуре данные о прослеживаемости последовательного преобразования требований исходный текст программ исполняемый объектный код План верификации ИС План квалификационного тестирования ИС Просмотры и анализы требований высокого уровня должны показатьполностью определены функции ИС требования по функциональности, эффективности и к качеству системы детализированы в исходных требованиях к ИС каждое требование высокого уровня к ИС является точным, однозначным и достаточно детализированным и они не конфликтуют друг с другом не существует никаких конфликтов между требованиями и возможностями аппаратных и программных средств процесс разработки требований к ИС полностью соответствует стандартам характеристики качества, предназначенные для программной реализации, полностью включены в требования к ИС Просмотры и анализы исходных текстов программ должны показатьтексты программ являются точными, полными и могут быть проверены текст программы является корректным и соответствует требованиям низкого уровня к компонентам не содержит излишних и неописанных функций процесс разработки программ полностью осуществлялся в соответствии со стандартами на программирование и отклонения от этих стандартов обоснованны Тестирование ИС от требований должно показатьИС удовлетворяет заданным требованиям к ней с высокой степенью доверия, что устранены дефекты и ошибки, которые могли бы привести к отказовым ситуациям, влияющих на корректность и надёжность системы Тестирование интеграции программных компонентов, основанное на требованияхЦель: гарантировать, что программные компоненты взаимодействуют друг с другом корректно и удовлетворяют требованиям к ИС и её архитектуре Следует применять различные методы, которые отличаются целевыми задачами тестирования, проверяемыми компонентами ИС и методами оценки результатов В процессе разработки ИС специалисты должны стремиться охватить тестированием все доступные области изменения исходных данных и режимов применения Тестовые варианты должны быть разработаны так, чтобы верифицировать корректность функционирования и определить условия, при которых могут проявляться потенциальные ошибки Тестирование потоков управления (структуры системы)проверка корректности последовательностей передач управления и формирования маршрутов исполнения программы Тестирование потоков данныханализ обработки данных, определяющих значения предикатов в операторах выработки логических решений проверка вычислений по аналитическим формулам или численных значений результатов в зависимости от числовых или логических значений исходных данных Документирование процессов тестирования программных компонентовисходные данные совокупность выбранных методов, стратегий и сценариев тестирования план тестирования компонентов методы и критерии оценки достигнутого качества программных компонентов входные и результирующие данные тестирования графики организации решения частных задач тестирования и необходимые для них ресурсы распределение ответственности между специалистами по компонентам и видам проверок протоколы результатов тестирования и обобщенные отчёты о достигнутом качестве программных компонентов 2. Технологические этапы и стратегии систематического тестирования ИСИсходным эталоном для тестирования ИС являются требования технического задания и спецификации требований заказчика к создаваемой системе. Любое отклонение результатов функционирования ИС от предъявляемых к ней требований следует квалифицировать как ошибку или дефект. Нисходящее тестирование от требованийПервоначально тестируются управляющее ядро системы и программные компоненты, решающие функциональные задачи, размещенные на высших иерархических уровнях, на соответствие исходным требованиям техническому занятию. К ним последовательно, по мере готовности, подключаются компоненты более низких иерархических уровней Если некоторые программные компоненты нижних уровней не разработаны или недостаточно протестированы, то вместо них временно могут подключаться программные имитаторы – "заглушки" Восходящее тестированиеПрежде всего, проверяются программные компоненты и модули нижних иерархических уровней К ним последовательно подключаются вызывающие их модули. В этих модулях тестирование также начинается с простейших конструкций, переменных и маршрутов обработки данных Тестирование программных модулейпроверка корректности структуры модулей и применённых конструктивных элементов проверка маршрутов обработки данных в каждом модуле и правильность их реализации в зависимости от исходных данных на каждом выделенном маршруте должна проверяться корректность выполняемых вычислений при некоторых фиксированных исходных данных Автономное тестирование функциональных компонентов с исполнением программкорректность управляющих и информационных связей между группами модулей корректность реализации требований в процессе обработки данных в модуле Интеграционное тестированиеобъединение программного кода нескольких модулей тестирование полученного в результате кода процесс выполняется до полной интеграции Тестирование функциональных компонентов в составе ИС в процессе разработки программных компонентов и оценки полноты тестированияОсуществляется преимущественно по степени выполнения требуемых функций и по характеристикам достигаемой корректности и качества функционирования ИС в целом Тестирование функционирования системы в критических ситуациях по условиям и логике решения задач (стрессовое тестирование отказоустойчивости)Проводится при исполнении системы в нештатных ситуациях, которые редко реализуются, но важны для обеспечения качества и надёжности ИС Для разработки таких тестов создаются сценарии критических сочетаний значений исходных данных и условий решения задач, при которых необходимо проверить функционирование системы и можно ожидать искажения результатов и отказы При создании распределенных систем клиент-сервер возникают дополнительные задачи тестированияпрограммные средства, размещенные на аппаратных платформах клиентов и серверов, тестируются автономно тестирование их взаимодействия 3. Процессы оценивания характеристик и испытания информационных системТребования к проверки: объективность повторяемость воспроизводимость беспристрастность Общая схема процессов оценивания характеристик ИСформализация исходных требований для оценки значений характеристик ИС, определение целей испытаний, идентификация потребителей результатов испытаний формализация принципов и особенностей оценивания при проведении экспертиз, измерений и испытаний характеристик ИС, выделение критериев для сравнения полученных характеристик с требованиями планирование и проектирование процессов оценивания характеристик в ЖЦ ИС в соответствии с потребностями пользователей этих характеристик реализация процессов испытаний, измерений и оценивания достигнутого качества ИС, сравнение результатов испытаний с требованиями оформление и использование результатов Модель внешней среды и её параметрывнешние потоки данных, распределение их по видам источников, характеристикам качества данных и возможности их дефектов интенсивность и структуру типовых сообщений от пользователей и администраторов и их необходимую квалификацию возможность негативных и несанкционированных воздействий от внешней среды при применении ИС необходимые характеристики вычислительных средств, на которых предназначено функционировать ИС Квалификационное тестирование функциональных компонентов и ИСпродемонстрировать заказчику, что реализованы все требования контракта и достигнуто необходимое качество функционирования системы должно покрывать все требования к компонентам в спецификации требований к ИС и в спецификациях требований к интерфейсам Интеграция и тестирование ИС в составе аппаратуры системыобъединение ИС и аппаратной среды и тестирование полученного в результате комплекса продолжается до тех пор, пока интеграция и тестирование не будут выполнены для всех компонентов ИС и аппаратуры Квалификационное тестирование ИСпродемонстрировать представителю заказчика, что удовлетворены все требования ТЗ и характеристики качества соответствуют условиям контракта покрывает все требования в спецификациях системы и подсистем, а также требования к интерфейсу с внешней средой включает тестирование на объектной вычислительной системе или на альтернативной модели системы Программа испытанийобъект испытаний, его назначение и перечень основных документов, определивших его разработку цель испытаний с указанием всех требований ТЗ, характеристик и атрибутов качества, подлежащих проверке, и ограничений на проведение испытаний собственно Программу испытаний методики испытаний, однозначно определяющие все понятия проверяемых характеристик качества, условия и сценарии тестирования, инструментальные средства, используемые для испытаний методики обработки и оценки результатов тестирования по каждому разделу Программы испытаний План испытанийпорядок квалификационного тестирования компонентов и подсистем тестовую внешнюю среду, которая будет использоваться при тестировании выполняемые тесты план-график тестовых действий Для Альфа-тестирования привлекаются конечные пользователи, работающие преимущественно в той же компании, но не участвовавшие непосредственно в разработке ИС Для Бета-тестирования привлекаются добровольные пользователи (потенциальные покупатели), которым бесплатно передается версия ИС для опытной эксплуатации Под прогрессивным понимается тестирование новых программных компонентов для выявления дефектов и ошибок в исходных текстах программ и спецификациях Регрессионное тестирование предназначено для контроля качества и корректности программ и данных после проведения корректировок 4. Средства для испытаний и определения характеристик сложных комплексов программдля обеспечения высокого качества ИС необходимы соответствующие проблемно-ориентированные интегрированные системы автоматизации тестирования, способные заменить испытания программ с реальными объектами моделирование внешней среды и тестов на компьютере имеет большие возможности контроля как исходных данных, так и всех промежуточных и выходных результатов функционирования испытываемого объекта Программная имитация внешней среды на компьютере позволяет:проводить длительное непрерывное генерирование имитируемых данных для определения характеристик качества функционирования ИС в широком диапазоне изменения условий и параметров расширять диапазоны характеристик имитируемых объектов за пределы реально существующих или доступных источников данных, а также генерировать потоки информации, отражающие перспективные характеристики создаваемых систем и объектов внешней среды создавать тестовые данные, соответствующие критическим или опасным ситуациям функционирования объектов внешней среды, которые невозможно или рискованно реализовать при натурных экспериментах обеспечивать высокую повторяемость имитируемых данных при заданных условиях их генерации и возможность прекращения или приостановки имитации на любых фазах моделирования внешней среды |