Вопросы отладки и тестирования программного изделия
Рефераты >> Программирование и компьютеры >> Вопросы отладки и тестирования программного изделия

СОДЕРЖАНИЕ

Введение

1. Цели, объекты и проблемы отладки и тестирования программного изделия

2. Виды тестирования

2.1. Основные понятия

2.2. Автономная отладка модуля

2.3. Комплексная отладка программного средства

2.4. Модульное тестирование

2.5 Регрессионное тестирование

2.6. Нагрузочное тестирование

2.7. Структурное тестирование

2.8. Функциональное тестирование

3. Уровни тестирования

3.1 Комбинирование уровней тестирования

3.2 Методы тестирования на соответствие стандартам,

обеспечивающим переносимость прикладных программ

3.2.1 Цель проведения

3.2.2. Уровни тестирования

3.2.3 Уровни сложности элементов тестирования

3.3 Тестовое покрытие

3.4 Тестовая документация

3.4.1. Стратегия тестирования

3.4.2. Планы тестирования

3.4.3. Разработка наборов тестовых данных (тест-кейсов)

3.4.4. Тестовые процедуры

3.4.5. Протоколы

3.4.6. Документирование результатов тестирования

4. Интеграционное тестирование

5. Системное тестирование

6. Методы тестирования

6.1. Инспекция кода

6.2. Разбиение на эквивалентные части

6.3 Анализ граничных величин

6.4 Многократная разработка

7. Классификация ошибок

Заключение

Библиографический список

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

1. ЦЕЛИ, ОБЪЕКТЫ И ПРОБЛЕМЫ ОТЛАДКИ И ТЕСТИРОВАНИЯ

ПРОГРАММНОГО ИЗДЕЛИЯ

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

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


Страница: