- •Глава III. Технологический процесс разработки и отладки программы
- •3.1 Обоснование описания технологического процесса разработки и отладки программы
- •3.2 Описание технологического процесса разработки и отладки программы
- •3.2.1 Постановка задачи
- •3.2.2 Изучение предметной области
- •3.2.3 Определение трудоёмкости разработки
- •3.2.4 Проектирование алгоритмов программы
- •3.2.5 Выбор языка программирования, операционной системы и сопутствующего инструментария
- •3.2.5.1 Обоснование выбора языка программирования
- •3.2.5.2 Обоснование выбора операционной системы
- •3.2.5.3 Обоснование выбора среды разработки
- •3.2.5.4 Обоснование выбора системы контроля версий
- •3.2.6 Выбор вспомогательного программного обеспечения
- •3.2.7 Написание программы
- •3.2.8 Тестирование и отладка программы
- •3.2.9 Оптимизация программы
- •3.2.10 Написание программной документации
- •3.2.11 Сдача в эксплуатацию и сопровождение
- •3.3 Схемы технологического процесса разработки и отладки программы
- •3.4 Выводы
3.2.6 Выбор вспомогательного программного обеспечения
Для написания решения, направленного на автоматизированное тестирование локальных приложений в UNIX-подобных ОС, достаточно возможностей стандартной библиотеки языка Python и инструментария и утилит, входящих в любую UNIX-подобную ОС.
3.2.7 Написание программы
Процесс написания программы состоит из непосредственного написания кода. Рекомендуется руководствоваться правилами хорошего стиля, то есть:
Отсутствие безусловных переходов, использование базовых структур (следование, выбор и повторение);
Наличие кратких и содержательных комментариев;
Осмысленные и короткие имена переменных и функций;
Наличие отступов и выравниваний в тексте программы;
Разделение программы с помощью пустых строк на логически завершённые части.
3.2.8 Тестирование и отладка программы
Тестирование заключается в процессе выполнения программы с целью выявления всех ошибок и сбоев. Программе подаются некоторые данные на вход и проверяются результаты с целью выявления некорректной работы.
Тестирование также проводится для оценки производительности, надёжности, требований к системе, удобства использования, защищённости, предельных нагрузок и т.п.
Отладка программы состоит в исправлении всех обнаруженных ошибок. Большое значение для успешной отладки программы имеют простота и рациональность ее кодирования.
Ошибки бывают следующих видов:
Ошибки анализа. К ним относятся неполный учёт ситуаций, которые могут случиться, а так же крупные и мелкие логические ошибки.
Ошибки общего характера. Это недостаточное знание и понимание языка программирования или компьютера, и ошибки, допущенные при проектировании алгоритмов программы.
Синтаксические ошибки. В качестве примера можно привести пропуск, либо дублирование знаков и меток, несогласованность знаков, неправильное формирование оператора, неверное образование имени переменной, неправильное использование операторов, неверное написание зарезервированных слов, запрещённый переход.
Ошибки физического характера. К таким можно отнести пропуск операторов, отсутствие необходимых данных, недопустимые данные, неверный формат данных.
Определить, есть ли в программе ошибки можно по:
Преждевременному останову;
Зацикливанию;
Выдаче неправильной информации;
Выдаче сообщения об ошибке.
Любая из этих ситуаций требует проверки последовательности выполнения команд. Обычно для этого пригодна трассировка, выполняемая в отладчике. Процесс обнаружения ошибок характеризуется выявлением двух мест в программе: точки обнаружения и точки происхождения.
Точка обнаружения выявляется первой и служит отправным пунктом для поиска точки происхождения. Действительная ошибка исходит не из точки обнаружения, а из точки происхождения.
Отладка начинается с того момента, когда перестают выдаваться сообщения о синтаксических ошибках. Вначале процесса отладки надо использовать простые тестовые данные. Если при этом получаются верные результаты, следует переходить к тестированию программы на более непредсказуемое поведение.
Существуют различные методы отладки:
Грубая сила — расстановка операторов печати, либо вывода сообщений по всей области, где предположительно возникает ошибка и тестирование на большом объёме данных;
Индукция — просмотр симптомов ошибок, установленных несколькими тестами и взаимосвязи между ними для выявления причины возникновения ошибок;
Дедукция — заключение на основе некоторых общих теорий или предпосылок. Метод дедукции использует операторы исключения или уточнения гипотез;
Прослеживание логики в обратном порядке. Отладка начинается в той точке, где был обнаружен некоторый результат. Для этой точки на основании полученного результата устанавливается, какими должны быть значения переменных. Далее ищется место в программе между точкой, где состояние программы соответствовало ожидаемому и точкой, в которой состояние программы отличалось от ожидаемого.
Разработку ПО можно изобразить в виде спирали (рис. 3.1).
Рисунок 3.1 — Спираль цикла разработки ПО
