Файл: Отладка и тестирование программ:Основные подходы и ограничения ( РАЗРАБОТКА ПРОГРАММ ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 249

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

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

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

Объект исследования данной работы – тестирование и отладка программ.

Предмет исследования – виды тестирования, основные подходы и ограничения.

Цель работы – описать финишные этапы процесса разработки, а также подходы к тестированию.

Для достижения данной цели предстоит решить ряд задач:

  • проанализировать литературу по заданной теме;
  • описать основные термины;
  • определить виды тестирования;
  • описать основные подходы и ограничения.

При написании работы в качестве опорных источников были использованы следующие: И.В. Степанченко – «Методы тестирования программного обеспечения», А.М. Вендров – «Проектирование программного обеспечения».

1. РАЗРАБОТКА ПРОГРАММ

Ключевым термином данной сферы является «жизненный цикл программного обеспечения» - это промежуток времени от момента принятия решения о необходимости разработки программного продукта до момента его выхода из эксплуатации.


Структура жизненного цикла определяется международным стандартом ISO/IEC 12207:1995 «Information Technology – Software Life Cycle Processes». Согласно данному стандарту под процессом понимается совокупность взаимосвязанных действий, направленных на преобразование входных данных в выходные. Характерными чертами процесса являются:

  • поставленные задачи;
  • методы решения задач;
  • исходные данные;
  • результаты работы.

Все процессы жизненного цикла можно разделить на три группы (см. рисунок 1):

  • основные процессы:
    • приобретение;
    • поставка;
    • разработка;
    • эксплуатация;
    • сопровождение;
  • вспомогательные процессы:
    • документирование;
    • управление конфигурацией;
    • обеспечение качества;
    • верификация;

Основные процессы

Приобретение

Поставка

Разработка

Эксплуатация

Сопровождение

Вспомогательные процессы

Документирование

Управление конфигурацией

Разрешение проблем

Обеспечение качества

Верификация

Аттестация

Совместная оценка

Аудит

Организационные процессы

Управление

Создание инфраструктуры

Усовершенствование

Обучение

Рисунок 1 – Процессы жизненного цикла

  • аттестация;
  • совместная оценка;
  • аудит;
  • разрешение проблем;
  • организационные процессы:
    • управление;
    • инфраструктура;
    • усовершенствование;
    • обучение [1].

1.1. Основные процессы

Процесс приобретения включает в себя ряд действий:

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

Процесс поставки содержит следующие действия:

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

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

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

Процесс эксплуатации относится к заказчику и содержит ряд действий:

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

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


  • подготовительная работа – планирование предстоящих работ, а также определение процедуры локализации проблемы;
  • анализ проблем и запросов на модификацию – анализ сообщений о проблеме, определение типа ошибки, оценка целесообразности последующей модификации;
  • модификация – внесение изменений в программный продукт;
  • проверка и приемка – проверка заказчиком целостности полученной системы и утверждение изменений;
  • перенос продукта в другую среду;
  • снятие продукта с эксплуатации – архивирование программного продукта и документации [18].

1.2. Вспомогательные процессы

Процесс документирования представляет собой формализованное описание всей созданной информации. Данный процесс состоит из ряда действий:

  • подготовительная работа;
  • проектирование и разработка;
  • издание документации;
  • сопровождение [2].

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

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

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

  • подготовительная работа – планирование работ;
  • обеспечение качества продукта – гарантия соответствия функциональных возможностей заявленным требованиям;
  • обеспечение качества процесса – гарантия соответствия процессов жизненного цикла заявленным требованиям;
  • обеспечение прочих показателей качества – реализация условий договора и стандарта качества ISO 9001.

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


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

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

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

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

Процесс разрешения проблем предусматривает анализ проблем и их решение. При этом все проблемы идентифицируются, описываются и решаются [6].

1.3. Организационные процессы

Процесс управления относится к управлению выпуском продукта и управлению проектом. Данный процесс охватывает следующие действия:

  • инициирование и определение области управления – определение достаточности ресурсов для дальнейших операций;
  • планирование – составление графика работ, оценка затрат, выделение ресурсов, распределение ответственности, оценка рисков и создание инфраструктуры;
  • выполнение и контроль;
  • проверка и оценка;
  • завершение.

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

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

Процесс обучения предполагает базовое обучение персонала со стороны заказчика навыкам работы с программным продуктом. Также важно не забывать о повышении квалификации [4].