Этапы решения задач на ЭВМ
Без участия компьютера:
1 Постановка задачи: сбор информации о задаче, формулировка условия задачи, определение конечных целей решения задачи, определение формы выдачи результатов, описание данных (их типов, диапазонов величин, структуры и т.п).Постановка задачи состоит в четком формулировании целей работы. Необходимо четко определить, что является исходными данными, что требуется получить в качестве результата, каким должен быть интерфейс программы (т.е. каким путем будет осуществляться диалог с пользователем) и т.д.
2 Анализ и исследование задачи, модели: анализ существующих аналогов; анализ технических и программных средств; pазpаботка математической модели; разработка структур данных.
3 Разработка алгоритма:выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование алгоритма.
С участием компьютера:
4 Программирование:выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке пpогpаммиpования.
Разработка программы
5 Тестирование и отладка:синтаксическая отладка; отладка семантики и логической стpуктуpы; тестовые расчеты и анализ результатов тестирования; совершенствование пpогpаммы.
6 Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.
7 Сопровождение программы: доработка программы для решения конкретных задач;
составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию.
Отладка и тестирование.
Отладка — это поиск и устранение синтаксических и других элементарных ошибок в программах на этапах трансляции и сборки.
Отладчик (debugger) – модуль среды разработки или отдельное приложение, предназначенное для поиска ошибок в программе. Отладчик выполняет пошаговую трассировку, отслеживает, устанавливает или изменяет значение переменных в процессе выполнения программы, устанавливает и удаляет контрольные точки или условия остановки.
Тестирование — проверка правильности работы программы на заранее подготовленных тестах, для которых известен точный результат.
При тестировании программы важно проверить ее работоспособность как можно в большем числе ситуаций, например, при различных вариантах исходных данных. Бывает, что в 1000 случаях программа сработает нормально, а на 1001-й раз обнаружится ошибка. При написании серьезных программных продуктов для более полного их тестирования фирмы-разработчики часто распространяют их пробные версии (бета-версии) среди как можно большего числа пользователей, которые сообщают в фирму об обнаруженных ошибках, что позволяет исправить их в окончательных версиях программных продуктов.
Тестирование устанавливает факт наличия ошибок, а отладка выясняет ее причину.
Классификация тестирования программного обеспечения:
По объекту тестирования:Функциональное тестирование; Нагрузочное тестирование (Тестирование производительности; Тестирование стабильности); Тестирование удобства использования; Тестирование интерфейса пользователя; Тестирование безопасности; Тестирование локализации; Тестирование совместимости.
По знанию системы: тестирование чёрного ящика; тестирование белого ящика; тестирование серого ящика.
По степени автоматизированности: ручное тестирование; автоматизированное тестирование; полуавтоматизированное тестирование.
По степени изолированности компонентов: компонентное (модульное) тестирование; интеграционное тестирование; системное тестирование.
По времени проведения тестирования: альфа тестирование (тестирование при приёмке, тестирование новых функциональностей, регрессионное тестирование; тестирование при сдаче); бета тестирование.
По признаку позитивности сценариев: позитивное тестирование; негативное тестирование.
По степени подготовленности к тестированию: тестирование по документации; Эд Хок (интуитивное) тестирование.