Тестирование программного обеспечения
Рефераты >> Программирование и компьютеры >> Тестирование программного обеспечения

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

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

В соответствии с ГОСТ 19,004—80 под испытанием программ понимают установление соответствия программы заданным тре­бованиям и программным документам. Это определение построе­но на предположении, что в техническом задании на разработку программы определены все требования (характеристики), обе­спечение которых гарантирует пригодность программы к исполь­зованию по своему назначению. Но такое требование редко соблюдается на практике. В некоторых случаях, особенно в авто­матизированных системах, ТЗ на ПС либо вообще не пишут, либо в них перечисляют лишь функции, которые возлагаются на ПС, без указания требований к другим потребительским свойствам. При отсутствии ТЗ на разработку ПС или полного и обоснован­ного перечня требований к характеристикам разрабатываемого ПС задача испытания ПС становится неопределенной и некон­структивной. Что значит установить соответствие программы заданным требованиям, если эти требования формально не за­даны? Какая польза от установления такого соответствия, если эти требования заведомо «усечены» и не отражают основных потребительских свойств программы? Пользователю будет не легче, если программа функционирует плохо, но это в явном виде не противоречит требованиям ТЗ.

При наличии в ТЗ требуемых характеристик основных потре­бительских свойств ПИ приведенные определения термина «испытание» по цели испытания практически совпадают. Однако и в этом случае первое определение является более конструктивным, так как оно формулирует не только цель, но и основной метод проведения испытании — проверка ПИ, функционирую­щего в реальной или моделируемой, но близкой к реальной среде,

В зарубежной литературе, в том числе в стандартах на программное обеспечение, понятие «испытание» часто отождествля­ют с понятием «тестирование». Например, в Std IEEE 829—1983 «Документация тестов программного обеспечения» (США) дано следующее определение тестирования: « .процесс активного анализа ПО на предмет обнаружения расхождения между реаль­ными и требуемыми нормами ПО (т. е. наличия ошибок в про­граммах) и с целью оценки характеристик элементов ПО». Дан­ное определение объединяет два приведенных определения тер­мина «испытание» с той лишь разницей, что при принятой (см. определения) концепции поиск и локализация ошибок на являются явно выраженными целями испытания. С учетом вы­сказанных соображений термин «тестирование», используемый в зарубежной литературе, будем интерпретировать как испыта­ние методом тестирования,

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

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

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

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

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

2. ТЕХНОЛОГИЧЕСКАЯ СХЕМА ИСПЫТАНИЯ.

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


Страница: