Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АОПИ. Старое / АОПИ. Глава 1. Конспекты (31_03_19).rtf
Скачиваний:
67
Добавлен:
10.09.2019
Размер:
630.31 Кб
Скачать

Тестирование. Отладки

После переложения алгоритмов на языки программирования, наступает этап тестирования.

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

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

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

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

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

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

Справка chm

Необходимые справочные материалы в ".pdf".

Справка ".chm" (html формат). Схема конверта: ".doc" / ".docx" ––> ".html" ––> ".chm" Программы: MS Word, MS HTML Workshop.

Комментирование

Подробное комментирование кода: — характер переменных; — условные блоки; — циклы; — прочее...

Доработка и сопровождение программы в процессе эксплуатации

При реализации сложных и ответственных программных комплексов этап эксплуатации программы по согласованию с заказчиком (пользователем) может быть разбит на два этапа: 1. Экспериментальная (опытная) эксплуатация. Смысл во внедрении разрабатываемых программных средств на объект заказчика с целью проверки их работоспособности и удобства использования пользователями при решении реальных задач в течении достаточно длительного периода времени. 2. Промышленная эксплуатация. По своей инициативе разработчики повышают качество своего продукта, в том числе исправляя обнаруженные дефекты или недочеты, о которых становится известно из общения с пользователями. Кроме того, возможно обновление программного продукта в связи с расширением его функциональных возможностей. Такого типа работы называют доработкой и сопровождением программ.

Пример сложной разработки программного продукта "copras"

1. Подбор информации по существующим аналогам. 2. Составление ТЗ на разработку продукта. 3. Согласование и утверждение ТЗ на доработку продукта. 4. Поиск литературы. 5. Изучение и анализ литературы. 6. Разработка алгоритмов. 7. Составление пакета программ. 8. Ввод пакета программ. 9. Отладка пакета программ и тестовая проверка. 10. Доработка алгоритма. 11. Комплексная отладка пакетов. 12. Составление и оформление текстовой документации по НИР (научно-исследовательской работе). 13. Разработка и оформление технико-экономического обоснования. 14. Анализ НИР на соответствие требованиям охраны труда и технической безопасности. 15. Утверждение отчета по НИР. Фазы укладываются в модели жизненного цикла, в котором обозначена их взаимосвязь (в том числе порядок прохождения).

В каскадной (водопадной) модели предусмотрена строго последовательное выполнение этапов разработки программного продукта с началом последующего этапа только после завершения предыдущего и отсутствием какого-либо возврата на пройденные этапы.

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

При разработке сколько-нибудь нового ПО поставить задачу на высоком уровне достаточно тяжело, так как при этом необходимо учитывать все изначально неизвестные нюансы программной реализации. Кроме того, требования заказчика могут измениться. Неполнота и непредвиденное изменение требований являются наиболее характерными проблемами при разработке, о чем свидетельствуют отчеты Standish Group. [ссылка на отчёты: https://standishgroup.com/sample_research]

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

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

К числу итерационных моделей жизненного цикла относятся XP и RUP.