Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

Испытание программных средств

←предыдущая  следующая→
1 2 3 4 5 6 7 8 9 10 



Скачать реферат


СОДЕРЖАНИЕ

Введение. 3

Определение испытания и их цель 5

Методики проведения испытаний 6

Подготовка испытаний и схема их проведения. 7

Стадии испытаний 9

Типы испытаний 10

Приемосдаточные испытания опытного образца 12

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

Достоверность определения качества программ при испытаниях. 15

Исходные и отчетные документы при испытаниях программ. 16

Задачи сопровождения программ 17

Этапы подготовки и внесения изменений в комплекс программ. 18

Тиражирование и использование версий программ. 20

Сертификационные испытания 22

Аттестационные испытания программных средств 23

Заключение. 26

Список источников и литературы 27

Приложение 28

Введение.

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

В работе [8] отмечается: “в мире постоянно происходят катастрофы, большие и малые аварии и всё чаще их причиной становится ненадёжное функционирование компьютерных систем, и в частности, их программного обеспечения. Оборона, авиация и космос, медицина, технологические процессы на современных ядерных, химических и других производствах – вот неполный перечень тех предметных областей, где низкое качество ПО и даже единичные дефекты в нём находят воплощение в терминах человеческих жизней и разрушенных материальных ценностей”. Над подобными “ответственными” системами работает целая отрасль с огромными денежными затратами, располагающая значительным количеством высококвалифицированных программистов и проектировщиков, хорошо поставлен менеджмент, отлажены процессы разработки, испытаний и контроля. И, тем не менее, ПО даёт порой такой сбой, резонанс от которого бывает весьма громким [8].

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

Причина обращения к данному принципу в теории надёжности техники и ПО одна и та же. Современная теория оперирует с численными оценками. Хорошо известно парадоксальное противоречие: чем более надёжный продукт мы создаём, тем труднее оценить и подтвердить его надёжность. Однако на практике эту задачу как-то необходимо решать, чтобы при реализации системой цели можно было принять правильное решение. Сжатие информации об ошибках системы во времени в данном случае есть единственный выход из ситуации, когда в процессе её испытаний в реальном времени может не хватить ни времени испытаний, ни ресурсных затрат, или, в крайнем случае, сама система может морально устареть [16].

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

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

Невозможно гарантировать отсутствие ошибок в нетривиальной программе; в лучшем случае можно попытаться показать наличие ошибок. Если программа правильно ведет себя для солидного набора тестов, нет оснований утверждать, что в ней нет ошибок; со всей определенностью можно лишь утверждать, что не известно, когда эта программа не работает. Конечно, если есть причины считать данный набор тестов способным с большой вероятностью обнаружить все возможные ошибки, то можно говорить о некотором уровне уверенности в правильности программы, устанавливаемом этими тестами.

Надежность невозможно внести в программу в результате тестирования, она определяется пра¬вильностью этапов проектирования. Наилучшее решение проблемы надежности — с самого начала не допускать ошибок в программе. Однако вероятность того, что удастся безупречно спроектировать большую программу, бесконечно мала.

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

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

Определение испытания и их цель

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

В соответствии с ГОСТ 16504—81 под испытанием промышленной продукции понимают экспериментальное определение количественных и/или качественных характеристик объекта испытания как результата воздействия на него; при его функционировании; при моделировании объекта и/или воздействия. Под испытанием программной продукции следует понимать экспериментальное определение количественных и/или качественных характеристик свойств продукции при ее функционировании в реальной среде и/или моделировании среды функционирования.

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

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

Важная осо¬бенность испытаний программы состоит в наличии достаточно полных эталонов, которым должен соответствовать комплекс программ, — тре¬бований технического задания.

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

←предыдущая  следующая→
1 2 3 4 5 6 7 8 9 10 



Copyright © 2005—2007 «Mark5»