Квалификационное тестирование системы с комплексом программ: I

I Интеграция и тестирование комплекса программ в составе

I

Квалификационное тестирование программного средства I

I вне системы:

— испытания выполнения всех требований контракта и спецификаций к I
I комплексу программ; I
I — подготовка к интеграции комплекса программ и аппаратуры системы; I
I — оценка достигнутого качества и возможности автономного применения

программного продукта по назначению

I аппаратуры системы:

I— испытания интерфейсов комплекса программ на соответствие трсбова- I
I ниям к системе; I

— оценка реализуемости и планирование испытаний комплекса программ

I в составе системы; I

I — анализ полноты и корректности документации на комплекс программ

I— установление соответствия характеристик качества системы и про-

I граммного продукта требованиям контракта и спецификаций; I
I — удостоверение адекватности и качества технологической и эксплуатаци-

I онной документации на систему и программный продукт; I

— оформление акта о завершении работ и контракта на создание версии I
I программного продукта и системы I

*

I Документация, поддерживающая квалификационное тестирование и I испытания комплекса программ:

— требования контракта, технического задания и спецификаций на I систему и программный продукт;

— профиль и комплект стандартов и нормативных документов;

— Программа испытаний комплекса программ;

I — методики испытаний на соответствие требованиям контракта, специфи- I I каций и Программы испытаний;

— протоколы испытаний по разделам Программы;

— комплект адекватной эксплуатационной и технологической документа
ции; I

I — акт о завершении испытаний и выполнении условий контракта на I

I систему и программный продукт

Рис. 14.2


Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

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


14.2. Организация и методы оценивания характеристик сложных комплексов программ

Результаты этих действий должны быть включены в отчет для заказчика о проведенных разработчиком предварительных испытаниях.

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

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


Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

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

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

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

— Программой испытаний по всем требованиям контракта, технического задания и спецификаций;

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

— комплектом адекватной эксплуатационной и технологической документации на комплекс программ.

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


14.2. Организация и методы оценивания характеристик сложных комплексов программ

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

— объект испытаний, его назначение и перечень основных документов, определивших его разработку;

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

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

— методики испытаний, однозначно определяющие все понятия проверяемых характеристик качества, условия и сценарии тестирования, инструментальные средства, используемые для испытаний;

— методики обработки и оценки результатов тестирования по каждому разделу Программы испытаний.

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

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


Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

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

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

— назначение тестирования и раздел требований технического задания, по которому проводились испытания;

— указания разделов методик, в соответствии с которыми проводились испытания, обработка и оценка результатов;

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

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

— описание отличий тестовой и реальной эксплуатационной сред;

— описание обнаруженных дефектов и ошибок и рекомендуемых улучшений в испытываемом ПС;

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

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

Наиболее полным и разносторонним испытаниям должна подвергаться первая базовая версия ПС. При испытаниях очередных модернизиро-


14.2. Организация и методы оценивания характеристик сложных комплексов программ

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

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

— откорректированные тексты программ и данных на языке программирования и в объектном коде, а также полные спецификации требований на программные компоненты и ПС в целом после полного завершения тестирования и испытаний;

— Программу испытаний ПС по всем требованиям технического задания;

— комплект методик испытаний и обработки результатов по всем разделам программы испытаний;

— тесты, сценарии и генераторы тестовых данных, использованные для испытаний программных и информационных компонентов и версии ПС в целом;

— результаты и протоколы квалификационного тестирования, функциональные и конструктивные характеристики ПС в реальной внешней среде;

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


Лекция 14. Интеграция, квалификационное тестирование и испытания комплексов...

— план, методики и средства автоматизации обучения заказчика и пользователей применению испытанной версии ПС;

— комплект эксплуатационной документации, описание ПС и руководство пользователя в соответствии с условиями контракта;

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

— руководство по инсталляции, генерации пользовательской версии ПС и загрузке базы данных в соответствии с условиями и характеристиками внешней среды;

— отчет о технико-экономических показателях завершенного проекта версии ПС, выполнении планов и использованных ресурсах;

— акт о завершении испытаний и готовности к поставке и/или предъявлению для сертификационных испытаний версии ПС.

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

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


14.3. Средства для испытаний и определения характеристик сложных комплексов...

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

При Альфа- и Бета-испытаниях принято разделять прогрессивное и регрессионное тестирование. Под прогрессивным — понимается тестирование новых программных компонентов для выявления дефектов и ошибок в исходных текстах программ и спецификациях. Регрессионное тестирование предназначено для контроля качества и корректности программ и данных после проведения корректировок. Необходимость и широта регрессионного тестирования определяются тем, что значительная доля изменений после Альфа- и Бета-тестирования, в свою очередь, содержат дефекты и ошибки. Количество тестов и длительность обоих этапов тестирования определяются экспертно разработчиками или руководителем проекта в зависимости от сложности комплекса программ и интенсивности потока изменений.