Тестирование. Отладка и обработка ошибок в программе

Приемы отладки

Типы ошибок

Отладка и обработка ошибок в программе

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

Все ошибки можно разделить на три большие группы:

- синтаксические (неправильно написан оператор, имя переменной и т. п.). Такие ошибки не требуют больших усилий по их поиску и исправлению. Многие синтаксические ошибки "отлавливаются" редактором кода VBA еще в процессе ввода кода. Об обнаружении других ошибок сообщается в ходе компиляции и запуска программы. При этом компилятор VBA выдает информацию о том, в какой строке кода обнаружена ошибка и в чем она заключается. Рекомендуется проверить данную строку по справке VBA;

- логические. В ходе выполнения программа ведет себя не так, как вы планировали. Главное здесь — найти причину неправильного поведения программы. Обычно для выявления и исправления ошибок такого типа предназначены приемы отладки;

- ошибки времени выполнения (run-time error). Они возникают, когда в процессе выполнения программа столкнулась с проблемой, решить которую она не в состоянии (файл с таким именем уже существует, возник конфликт записей при вставке в базу данных, произведена попытка записать информацию на переполненный диск и т. п.). Заранее предугадать, какая именно неприятность может случиться, очень сложно. Во многом квалификация программиста определяется тем, как он умеет предугадывать возможности возникновения ошибок времени выполнения и обеспечивать

их перехват и обработку.

Если программа делается "для себя" (для автоматизации работы того пользователя, который пишет эту программу), то очень часто перехват ошибок времени выполнения вообще не предусматривается. Возникла ошибка – ничего страшного: открыли программу в отладчике, посмотрели, отчего возникла ошибка, и "исправились". Но если программа пишется для передачи другим пользователям (особенно не очень квалифицированным), то на реализацию обработки ошибок времени выполнения обычно уходит больше времени, чем на создание самой логики программы.

Окна Immediate, Locals и Watch

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

- попытайтесь запустить программу при работе с большим количеством документов или когда не открыто ни одного документа;

- посмотрите, как работает программа, когда окно документа развернуто, свернуто или размер его изменен;

- проверьте, как работает программа, когда выделены разные элементы или группы элементов;

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

- попробуйте прервать работу программы в самый неподходящий момент и потом вновь запустить ее;

- проверьте, как ведет себя программа, когда пропадает сеть, заканчивается свободное место на диске, заканчивается бумага в принтере и т. п.;

- проверьте работу программы под разными версиями Office и операционных систем (в том числе англоязычных и локализованных);

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

Мне очень нравится "диверсионный" подход при тестировании программ. Представьте себе, что вы - вредитель и диверсант, у которого цель- вывести программу из строя. Потом опробуйте те способы, которые вам пришли в голову. Если способ оказался удачным, придумайте для него защиту. Как ни удивительно, но реальная работа пользователей с вашей программой будет очень похожа на действия таких диверсантов.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: