Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения. Фундамен...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
935.81 Кб
Скачать

118 Часть I: Основы

Описание более простого способа воспроизведения ошибки не только увеличивает вероятность ее исправления, но и облегчает работу програм­миста. Уменьшая количество шагов, вы сужаете область поиска источника ошибки. Благодаря этому ошибку в программе легче найти, а результат проще протестировать.

Альтернативный способ демонстрации ошибки

Бывает, что найти более простой способ воспроизведения проблемной ситуации так и не удается. Последовательность шагов остается такой длин­ной, что может показаться редко выполняемой на практике. В результате, оценивая важность проблемы, руководитель проекта или программист может подумать, что мало кто из пользователей с ней вообще когда-либо столкнется.

Чтобы изменить это впечатление, можно поискать другие действия, которые приводят к проявлению этой же проблемы. Два разных способа вызвать ошибку — это уже гораздо более серьезный сигнал тревоги. Их существование наводит на мысль, что ошибка может иметь глобальный характер: где есть два способа, там может найтись и третий, и четвертый.

Кроме того, между двумя разными способами воспроизведения ошиб­ки может быть нечто общее. Даже если тестировщику связь между ними не видна, программист может выяснить, что в обоих случаях выполняется одна и та же подпрограмма, а значит, именно в ней и содержится ошибка.

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

Связанные проблемы

Подумайте, нет ли еще в программе аналогичного фрагмента, в кото­ром могла бы проявиться такая же проблема. Возможно, пользователь программы в нескольких ее режимах выполняет сходные действия. Про­верьте, как поведет себя программа во всех этих режимах. Встретив ошиб­ку, продолжайте работу, чтобы посмотреть, какие еще проблемы могут возникнуть вслед за ней.

Ошибка — это всегда новая возможность для тестировщика. После нее программа переходит в состояние, которое иным способом может быть недостижимо. Чаще всего выполняется код обработки ошибок, который трудно протестировать иначе, как встретив реальную ошибку. И посколь­ку когда-нибудь этот код может быть выполнен и при реальной эксплуа­тации программы, перед вами раскрывается прекрасная возможность его проверить.

Поиск связанных проблем требует определенного навыка. Здесь важно правильно определить, когда следует остановиться, а когда стоит потратить

Глава 5: Документирование и анализ ошибок 119

еще немного времени: опытному тестировщику интуиция может подска- !ать, что остались еще скрытые и весьма серьезные проблемы.

Методика анализа воспроизводимой ошибки

Итак, цели анализа найденной ошибки перечислены. Далее приводит­ся ряд советов по их достижению.

Выделение критического момента

Обнаружив ошибку, тестировщик видит только симптом, но не знает его причины. Нестандартное поведение программы вызвано ошибкой в ее исходном коде, которого у него нет. И ошибка эта может произойти вов­се не в той точке, в которой проявился ее результат, а гораздо раньше. Если выявить момент, в который она произошла на самом деле, это поможет программисту локализовать и исправить найденную ошибку.

Выполняя каждый шаг воспроизведения ошибки, внимательно наблю­дайте за поведением программы, стараясь заметить любое отклонение, малейший намек на то, что что-то идет не так. Такие незначительные от­клонения легко пропустить или проигнорировать, а между тем, они могут быть первыми симптомами анализируемой вами ошибки. Вот какими мо­гут быть эти симптомы.

Сообщения об ошибках. Выясните точно, в какой момент появляет­ся сообщение об ошибке, попытайтесь понять почему и сверьте его с перечнем сообщений об ошибках, перечисленных в документации к программе.

Задержки в обработке данных. Если программе для отображения на экране очередной информации или выполнения некоторых опера­ций требуется необычно много времени, это может означать, что она что-то делает не так. Она может выполнять не относящиеся к делу подпрограммы, неправильно обрабатывать данные и т.п. Поэтому всегда обращайте внимание на подозрительно долгие задержки и тщательно проверяйте результирующие данные.

Мигание и обновление экрана. Если экран вдруг неожиданно мигнул, это может означать, что он был обновлен подпрограммой обработ­ки ошибок. Это может быть первое, что она сделает, чтобы гаран­тировать корректную информацию на экране, а остальные ее действия могут проявиться позднее или не проявиться вовсе.

Перемещение курсора. Курсор может вдруг переместиться в другое место. Как и в предыдущем случае, это может быть сделано проце­