- •Лекции по курсу «Технология программирования». Два подхода к разработке программных средств
- •Основные задачи, решаемые при разработке пс
- •Основные понятия и определения, используемые при разработке сложных кп
- •Особенности кп срмв.
- •Основные требования к кп срмв
- •Жизненный цикл сложных кп
- •Каскадная модель жизненного цикла
- •Итеративная модель (Спиральная модель) разработки по
- •Документация на сложные кп
- •Примеры итеративных процессов разработки
- •Виды программ и программных документов
- •Пояснительная записка
- •Техническое задание
- •Стадии разработки
- •Общие требования к программным документам
- •Спецификация
- •Формуляр
- •Текст программы
- •Описание программы
- •Программа и методика испытаний
- •Руководство системного программиста
- •Руководство оператора
- •Типовая структура программы и программного модуля
- •Понятие резидентных и кросс–систем автоматизации
- •Проблемы стандартизации при разработки пс
- •Принципы разработки больших кп
- •Принципы организации коллективов разработчиков кп
- •Тестирование и отладка по
- •Принципы тестирования.
- •Критерии тестирования Критерии «Черного ящика»:
- •Критерии «Белого ящика»:
- •Виды тестирования
- •Основные способы получения эталонов
- •Типичные ошибки при проектировании кп
- •Технологические ошибки
- •Программные ошибки
- •Алгоритмические ошибки
- •Системные ошибки
- •Динамика изменения количества сложныхошибок кп при отладке
- •Определение рациональной длительности отладки
- •Основные принципы отладки
- •Методы отладки
- •Принципы отладки
- •Принципы комплексной отладки и испытаний кп
- •Комплексная отладка
Тестирование и отладка по
Тестирование – выполнение программы с целью обнаружения факта наличия в программе ошибок.
Отладка– определения местоположения ошибок и внесение исправлений в программу.
Принципы тестирования.
ошибки в программе есть;
тест – это совокупность исходных данных и ожидаемых результатов;
тестовые данные должны быть достаточно просты для проверки;
тесты готовятся заранее, до выхода на машину;
тесты разрабатываются после задания на разработку программы, до написания программного кода (первые тесты);
перед началом тестирования должны быть сформулированы цели, которые должны быть достигнуты в результате тестирования;
в процессе тестирования необходимо фиксировать выполненные тесты и реально полученные результаты;
тесты должны быть одинаково тщательными как для правильных, так и для неправильных входных данных;
необходимо проверить два момента: программа делает то, что должна и не делает того, чего не должна;
результаты теста необходимо изучать досконально и объяснять полностью;
недопустимо ради упрощения тестирования изменять программу;
после исправления программы требуется повторное тестирование;
ошибки кучкуются.
Для уменьшения количества тестов необходимо классифицировать все возможные варианты выполнения программы - разбить их на классы, эквивалентные с точки зрения проверки правильности программы. Если критерии выбраны и классификация проведена, то достаточно взять по одному тесту из каждого класса. Если все они окажутся неудачными, то тестирование можно заканчивать. Критерии, по которым проводится классификация, называются критериями полноты тестирования (КПТ). После выбора КПТ каждый тест анализируется: удачен ли он (удалось ли с его помощью обнаружить ошибки), достаточен ли набор тестов с точки зрения проверяемого критерия и нужны ли еще какие-либо тесты. Существует два подхода к формированию КПТ:
критерии «Черного ящика» - описывают тестирования с точки зрения поставленной задачи, без учета внутреннего устройства программы;
критерии «Белого ящика» - описывают тестирование с точки зрения поставленной задачи с учетом внутреннего устройства программы.
Критерии тестирования Критерии «Черного ящика»:
тестирование функций (требуется подобрать такой набор тестов, чтобы был выполнен хотя бы один тест для каждой из функций);
тестирование классов входных данных (разделить их на классы таким образом, чтобы все данные из одного класса были равнозначны с точки зрения проверки правильности программы);
тестирование классов выходных данных (аналогично предыдущему);
Три этих критерия хорошо согласуются друг с другом.
тестирование области допустимых значений;
если ОДЗ представляет собой простое перечисление, то проверяется правильность обработки каждого из этих значений и невозможность ввести вместо них иные значения;
если ОДЗ – числовой диапазон, то можно выделить три случая:
нормальное условие в середине класса;
граничные экстремальные условия;
исключительные условия выхода за границы класса.
тестирование длинны набора данных (проверяется допустимое количество элементов в наборе);
пустой набор;
единичный набор;
если предусмотрена минимальная допустимая длина, то проверяется слишком короткий набор;
набор минимально возможной длины;
нормальный набор;
набор из нескольких частей;
набор максимально возможной длины;
слишком длинный набор;
тестирование упорядоченности (сортировка и поиск);
данные неупорядочены;
упорядочены в прямом порядке;
упорядочены в обратном порядке;
существуют повторяющиеся значения;
экстремальные значения находятся в середине набора;
экстремальные значения находятся в начале набора;
экстремальные значения находятся в конце набора;
существует несколько совпадающих экстремальных значений.
