Файл: Основы проектирования программ. Этапы создания программного обеспечения (Обобщенная характеристика процесса разработки программного обеспечения).pdf
Добавлен: 30.03.2023
Просмотров: 395
Скачиваний: 2
Одним из устоявшихся способов контроля качества является тестирование. Тестирование ПО (Software testing) — проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. Тестирование включает следующие этапы (рис. 5):
- планирование работ (Test Management);
- проектирование тестов путем ручной разработки или автоматической генерации (Test Design);
- выполнение тестирования с получением результатов (Test Execution);
- анализ полученных результатов выполнения с целью оценки качества ПО (Test Analysis).
Рисунок 5 – Последовательность тестирования ПО
Результат теста может сообщить разработчику, что ошибка присутствует в коде, тесте или в коде и тесте одновременно. Кроме этого, объект тестирования может выдавать большой объем выходных данных, требующий значительных усилий для анализа.
На каждом этапе жизненного цикла информационной системы должны выполняться верификация и валидация проекта. Верификация (Verification) — это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа. Валидация (Validation) — это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе [9].
Тестирование как инструмент верификации и валидации является постоянным процессом и проводится на всех этапах жизненного цикла проекта. В ходе тестирования необходимо достичь следующих целей:
- Повысить вероятность того, что разрабатываемое ПО будет работать правильно при любых обстоятельствах.
- Повысить вероятность того, что разрабатываемое ПО будет соответствовать всем описанным требованиям.
- Предоставить актуальную информацию о состоянии продукта на данный момент.
На этапе тестирования выполняется итеративный запуск тестовых наборов. Итерация тестирования запускается при изменении тестируемого объекта. Как правило, итерация состоит из следующих шагов.
- Обновление тестовых наборов. Изменения тестируемого объекта (появление новой, изменение/исправление существующей или удаление устаревшей функциональности) требуют изменений тестовых наборов: добавление новых тестов, коррекция существующих или исключение устаревших тестов.
- Приемочные испытания. Выполняется проверка работоспособности объекта тестирования. Как правило, на приемочных испытаниях используют не большое число позитивных тестов, проверяющих выполнение объектом своего предназначения. В случае неудачи объект возвращается на доработку, а итерация завершается.
- Запуск основного набора тестов. Как правило, основной набор состоит из большого числа тестов, что приводит к значительным временным затратам на выполнение тестов. По результатам запуска формируется сводная ведомость с указанием перечня тестов, завершившихся с ошибкой.
- Анализ результатов тестирования. Выполняется классификация найденных ошибок, общая оценка тестируемого объекта. По результатам анализа может быть принято решение о доработке объекта тестирования и запуска следующей итерации или завершении этапа тестирования.
Так как этап тестирования является итеративным, количество итераций ограниченно доступными временными ресурсами (сроками сдачи проекта) и используемыми стандартами качества. Тестирование может быть закончено после выполнения итерации без ошибок, при достижении требуемого объема выполненных тестов без обнаружения ошибок или по истечении выделенных временных ресурсов. В случае наличия не исправленных ошибок в момент завершения этапа формируется итоговый список.
Выявление программных ошибок является сложной задачей. Программная ошибка (Software error) может не приводить к наблюдаемому сбою, а, например, порождать другую программную ошибку или переводить процесс работы в некорректное состояние. Сбой (Software failure) порождается наличием одного или нескольких дефектов (Software defect) — недостатков в компоненте или системе. Для выявления программных ошибок используются тестовые случаи или тесты.
Тестовым случаем (TestCase) называют документ, который описывает конкретные шаги, условия и параметры, необходимые для анализа реализации тестируемой функции. Каждый тест содержит три базовые части (рис. 6).
- Предусловия (PreConditions) — шаги, которые переводят систему в состояние, пригодном для проведения проверки.
- Описание теста (Description) — шаги, которые переводят систему из стояния в состояние. На основании полученного результата делается вывод о соответствии реализации заявленным требованиям.
- Постусловия (PostConditions) — шаги, которые переводят систему в изначальное положение.
Рисунок 6 – Базовые части теста
План тестирования (Test plan) — это основной документ этапа тестирования, который описывает работы по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения [14].
Основные вопросы, которые план тестирования должен раскрыть (рис. 7):
- Что необходимо тестировать: включает в себя абсолютно все аспекты ПО, которые могут быть протестированы.
- Что будет тестироваться: подмножество пунктов из первого вопроса, которые будут протестированы. Из первого вопроса исключаются аспекты, исходя из анализа сроков, бюджета, приоритетов и пр. В идеальном случае множество первого и второго вопросов совпадают.
- Как будет проходить тестирование: выбор стратегии тестирования (ручное тестирование, написание автоматических тестов, подбор групп пользователей для тестирования и др.).
- Когда будет проходить тестирование: сроки тестирования для каждого компонента ПО.
- Критерии окончания тестирования: результат, который должен быть получен в результате тестирования (отчет, список ошибок, каким способом представлены эти документы и др.).
Рисунок 7 – План тестирования
План тестирования может создаваться либо как полноценный продукт, либо как инструмент. В первом случае требуются значительные ресурсы для его создания, но затем он может использоваться вне команды разработчиков. Обычно выполняется по какому-либо стандарту. Во втором случае в тестовый план включается только то, что помогает в организации процесса тестирования и выявлении ошибок. Все, что не отвечает этим задачам, избыточно.
Необходимость создания плана тестирования заключается в повышение качества продукта. Для этого ставятся следующие цели:
- облегчение тестирования (контроль полноты тестирования и его эффективности, отсутствие повторяющихся тестов, поиск наилучших методов для тестирования);
- организация взаимодействия между участниками команды, отвечающих за проведение тестирования;
- удобная структура для организации, планирования и управления.
Процесс тестирования выделяется в отдельный процесс, поскольку он имеет свои задачи. Тестированию подлежат все разрабатываемые продукты: документация, программное обеспечение. Тестирование ПО включает в себя как тестирование качественных характеристик ПО, так и тестирование дистрибутива системы на различных платформах (на которых будет использоваться система), тестировании документации.
Процесс тестирования позволить определить скорость загрузки контента, качество адаптивности верстки, отказоустойчивость ресурсов под нагрузкой, метрику кода и корректность работы информационной системы.
Test Cases — это набор условий, при которых тестировщик будет определять, удовлетворяется ли заранее определённое требование. Чтобы определить, что требование полностью выполняется, может потребоваться много вариантов тестирования. Часто варианты тестирования группируют в тестовые наборы. UnitTest - процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок [9].
Заключение
В результате выполнения работы достигнута поставленная цель – изучены основы проектирования и этапы создания программного обеспечения.
При достижении цели были решены следующие задачи:
- представлена обобщенная характеристика процесса разработки программного обеспечения;
- описан жизненный цикл программного обеспечения;
- кратко охарактеризованы этапы проектирования программного обеспечения;
- изучен процесс проектирования программной системы;
- дана характеристика и рассмотрен процесс анализа бизнес-процессов;
- изучены особенности проектирования базы данных;
- рассмотрен процесс тестирования и отладки программного обеспечения.
Список использованной литературы
- Верников Г. Основы IDEF3 [Электронный ресурс] / Г. Верников. – Режим доступа: http://www.cfin.ru/ vernikov/idef/idef3.shtml (дата обращения: 08.07.2020).
- Горбаченко В. И. Проектирование информационных систем с CAERwin Modeling Suite 7.3: учебное пособие / В. И. Горбаченко, Г. Ф. Убиенных, Г. В. Бобрышева – Пенза: Изд-во ПГУ, 2012. – 154 с
- Информационные технологии. Процессы жизненного цикла программных средств: СТБ ИСО/МЭК 12207-2003 [Электронный ресурс]. – Режим доступа: www.nbrb.by/payment/TechCodePract/pdf/tcp_135_2008.pdf. – Дата доступа: 20.07.2020.
- Катаев М. Ю. Указания по учебно-исследовательской работе для бакалавров по направлению 230100.62 «Информатика и вычислительная техника». — Томск: Факультет дистанционного обучения, ТУСУР, 2014. — 283 с.
- Козодоев А. Использование методик моделирования данных IDEF1X и IE в программном средстве AllFusion ERwin Data Modeler компании Computer Associates [Электронный ресурс] / А. Козодоев // Режим доступа: http://www.interface.ru/ca/MethodsDM_ERwin.htm (дата обращения: 21.07.2020).
- Коцюба И. Ю. Основы проектирования информационных систем. Учебное пособие / И. Ю. Коцюба, А. В. Чунаев, А. Н. Шиков // СПб: Университет ИТМО, 2015. – 206 с.
- Людоговский А. Моделирование бизнес-процессов [Электронный ресурс] / А. Людоговский // Инф. портал «Script coding». - Режим доступа: http://www.script-coding.com/bp.htm l (дата обращения: 20.07.2020).
- Ляндау Ю. В. Концепции моделирования бизнес-процессов / Ю. В. Ляндау, М. А. Пономарев // Вестник ИжГТУ. 2013. № 2(58) – С. 83 – 87.
- Методологии разработки программного обеспечения [Электронный ресурс]: электронный журнал «КомпьютерПресс» №7 за 2003. – Режим доступа: http://compress.ru/article.aspx?id=11321 (дата обращения: 19.07.2020).
- Проектирование интерфейсов пользователя: пособие для студентов специальности 1-47 01 02 «Дизайн электронных и веб-изданий» / Т. П. Брусенцова, Т. В. Кишкурно. – Минск: БГТУ, 2019. – 172 с.
- Проектирование программного обеспечения: учеб. пособие / Т. В. Черушева. – Пенза: Изд-во ПГУ, 2014. – 172 с.
- Репин В. В. Процессный подход к управлению. Моделирование бизнес-процессов / В. В. Репин, В. Г. Елиферов - М.: Манн, Иванов и Фербер, 2013. - 544 с.
- Смирнова Г. Н. Проектирование экономических информационных систем (часть 1) / Г. Н. Смирнова, Ю. Ф. Тельнов - М.: МЭСИ, 2004. – 223 с.
- Тестирование ПО [Электронный ресурс]. – Режим доступа: www.tester.com.ua. – Дата доступа: 20.07.2020.
- Технология программирования: учебник / Г. С. Иванова. — 3-е изд., стер. — Москва: КНОРУС, 2018. — 336 с.
- Цуканова О. А. Методология и инструментарий моделирования бизнес-процессов: учебное пособие / О. А. Цуканова. - СПб.: Университет ИТМО, 2015. - 100 с.
- Этапы разработки программного обеспечения : [Электронный ресурс] // Режим доступа: https://ru.intechcore.com/stages-software-development/ (дата обращения: 22.07.2020).
- Component Object Model [Electronic resource]. – Mode of access: www.microsoft.com/tech/COM. asp. – Date of access: 20.07.2020.
- Consulting [Электронный ресурс] Статья «Основные методологии обследования организаций. Стандарт IDEF0» - Режим доступа: http://consulting.ru/econs_wp_4235 (дата обращения: 15.07.2020).