Испытание программных средств
Рефераты >> Программирование и компьютеры >> Испытание программных средств

1. Опытного образца ПС на полное соответствие требованиям технического задания;

2. рабочей версии ПС, адаптированной к условиям конкретного применения;

3. версии модернизированного ПС при сопровождении.

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

Функциональное тестирование — наиболее об­ширное и труднее всего систематизируемое. Набор испытатель­ных тестов полностью определяется функциональными задачами и сложностью ПС. Эти тесты должны обеспечивать проверку и демонстрацию заказчику или пользователю качества решения функциональных задач, сформулированных в техническом зада­нии и конкретизированных в документации. Поскольку исчерпы­вающее тестирование для сложных ПС невозможно, большое значение имеют уточнение областей варьирования тестовых дан­ных и выделение областей их изменения, наиболее важных для последующего использования программ [2].

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

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

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

Особенности испытаний на надежность программ

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

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

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

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

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

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

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


Страница: