ИНФОРМАЦИОННЫЕ системы. Тестирование и отладка программыилиБазовые принципы работы начинающих программистов.
Никитин М.Е., преподаватель профессиональных модулей высшей категории
ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ГОРОДА МОСКВЫ «Политехнический колледж имени П.А. Овчинникова»
3
Тестирование и отладка программ
Аксиома 1
Тестирование проводится для того, чтобы найти ошибки, а не показать работоспособность программы
Хорош тот тест, для которого высока вероятность обнаружить ошибку, а не тот, который демонстрирует правильную работу программы
Тестирование может доказать, что дефекты в программном обеспечении существуют, но если дефектов не найдено, это не дает гарантии, что их нет.
© https://znanio.ru/person/z98576333
4
Тестирование и отладка программ
Аксиома 2
Наилучшее решение проблемы надежности – не допускать ошибок в программе
Роль тестирования – определить местонахождение немногочисленных ошибок, оставшихся в хорошо спроектированной программе.
Попытки с помощью тестирования достичь надежности плохо спроектированной программы безнадежны.
© https://znanio.ru/person/z98576333
5
Тестирование и отладка программ
Аксиома 3
Совершенное тестирование невозможно
Сколько входных данных нужно перебрать для программы (x, y, z – integer)
z = x + y
чтобы быть уверенным, что она работает правильно?
© https://znanio.ru/person/z98576333
6
Тестирование и отладка программ
Хорошая привычка
Тестирование программы должен производить не автор
Простейшие тесты на начальном этапе – автор, далее – человек, не знакомый с задачей
У автора глаза «зашорены»
© https://znanio.ru/person/z98576333
7
Тестирование и отладка программ
Хорошая привычка
Подготовка исходных данных и результатов ДО запуска программы
Эффект «подгонки» результатов
© https://znanio.ru/person/z98576333
8
Тестирование и отладка программ
Хорошая привычка
Подготовка тестов для правильных и для неправильных данных
Программа должна работать всегда!
Сообщения ОС об ошибках программы – недопустимы
© https://znanio.ru/person/z98576333
9
Тестирование и отладка программ
Хорошая привычка
Не изменять программу для облегчения тестирования
А вдруг уберёте ошибку?
© https://znanio.ru/person/z98576333
10
Тестирование и отладка программ
Хорошая привычка
Заблаговременное тестирование
1 тестирование (в конце) – 50 ошибок
20 тестирований (в процессе) – по 2 ошибки
© https://znanio.ru/person/z98576333
11
Тестирование и отладка программ
Хорошая привычка
Регрессионное тестирование
Накопление ошибок
При доработке программы возможен «возврат ошибок»
© https://znanio.ru/person/z98576333
12
Тестирование и отладка программ
Хорошая привычка
Парадокс пестицида
Если один и тот же тестовый модуль многократно применять к той же системе, он в конечном счете перестанет находить ошибки.
Тестовый модуль должен постоянно и систематически корректироваться, а новые тесты должны охватывать все составляющие программного обеспечения
© https://znanio.ru/person/z98576333
13
Тестирование и отладка программ
Хорошая привычка
Случайное тестирование
Много случайных данных иногда позволяют найти ошибки, которые не охватываются «логичными» тестами
© https://znanio.ru/person/z98576333
14
Тестирование и отладка программ
Как это на практике?
Тестирование «один из группы»
Положительные, отрицательные, нулевые, различные пары…
Тестирование граничных условий
2я лр – какое последнее слагаемое?
Массивы
все, ни одного, разные
выход за границы массива
Циклы
Ни разу, один раз, максимум, промежуточное количество
Тестирование ветвей кода
Черный и белый ящик (+серый ящик)
Тестирование особых случаев («13й этаж»)
Случайное тестирование
Регрессионное тестирование
© https://znanio.ru/person/z98576333
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.