Этапы решения задач на ЭВМ

Без участия компьютера:

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

2 Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; pазpаботка математической модели; разработка структур данных.

3 Разработка алгоритма:выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование алгоритма.

С участием компьютера:

4 Программирование:выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке пpогpаммиpования.

Разработка программы

5 Тестирование и отладка:синтаксическая отладка; отладка семантики и логической стpуктуpы; тестовые расчеты и анализ результатов тестирования; совершенствование пpогpаммы.

6 Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.

7 Сопровождение программы: доработка программы для решения конкретных задач;

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

 

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

Отладка — это поиск и устранение синтаксических и других элементарных ошибок в программах на этапах трансляции и сборки.

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

Тестирование — проверка правильности работы программы на заранее подготовленных тестах, для которых известен точный результат.

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

Тестирование устанавливает факт наличия ошибок, а отладка выясняет ее причину.

Классификация тестирования программного обеспечения:

По объекту тестирования:Функциональное тестирование; Нагрузочное тестирование (Тестирование производительности; Тестирование стабильности); Тестирование удобства использования; Тестирование интерфейса пользователя; Тестирование безопасности; Тестирование локализации; Тестирование совместимости.

По знанию системы: тестирование чёрного ящика; тестирование белого ящика; тестирование серого ящика.

По степени автоматизированности: ручное тестирование; автоматизированное тестирование; полуавтоматизированное тестирование.

По степени изолированности компонентов: компонентное (модульное) тестирование; интеграционное тестирование; системное тестирование.

По времени проведения тестирования: альфа тестирование (тестирование при приёмке, тестирование новых функциональностей, регрессионное тестирование; тестирование при сдаче); бета тестирование.

По признаку позитивности сценариев: позитивное тестирование; негативное тестирование.

По степени подготовленности к тестированию: тестирование по документации; Эд Хок (интуитивное) тестирование.