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

Глава 3: Типы тестов ... 87

Переходы между режимами

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

Эксплуатация в реальном режиме

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

Нагрузочные испытания

При нагрузочных испытаниях (load testing) проверяется реакция програм­мы на предельные условия эксплуатации.

• Тестирование на максимальный объем входных данных. Какое макси­мальное задание окажется вашей программе по плечу? Компилято­ру можно предложить откомпилировать очень большую программу, текстовому процессору — открыть огромный текстовый файл. В интерактивной программе можно попробовать непрерывно вводить очень большой объем информации, чтобы проверить, насколько надежен ее входной буфер. (Для того чтобы быстрее реагировать на действия пользователя, программы часто сохраняют информацию о нажатиях клавиш в небольшом буфере, а когда пользователь на се­кунду приостанавливается, обрабатывают его содержимое.) Нужно посмотреть, как поведет себя программа в ответ на нестандартные данные, например, как компилятор или текстовый процессор посту­пят с абсолютно пустым файлом.

• Испытания в утяжеленном режиме. Как реагирует программа на резкое увеличение активности? Например, можно проверить, как поведет себя текстовый процессор, если пользователь будет вводить текст со скоростью 120 слов в минуту. Если максимально допусти­мая активность пользователя оговорена в спецификации, нужно проверить, действительно ли программа хорошо справляется с ука­занной нагрузкой.

• Анализ требований к ресурсам. Необходимо изучить требования про­граммы к двум важным ресурсам компьютера — оперативной памяти

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

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

Многопользовательская и многозадачная работа

Если ваш продукт представляет собой сложную многозадачную или многопользовательскую систему, его тестирование значительно усложняет­ся. Необходимо проверить, как он справляется с параллельным выполне­нием нескольких задач и как координируются действия нескольких пользователей. Типичным примером таких систем являются многопользо­вательские системы управления базами данных, где несколько пользовате­лей, сидящих за различными и, возможно, даже достаточно удаленными компьютерами, могут одновременно вводить данные в одну и ту же табли­цу. Для тестирования такой системы нужно организовать ее эксплуатацию в реальном режиме, привлечь для работы большое количество людей и тех­ники и, возможно, написать специальные программы, имитирующие одно­временный ввод данных. Более подробное обсуждение этого вопроса можно найти в книге Бейзера (Beizer, 1984).

Обработка ошибок

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

Защита

Сложно ли неавторизированному пользователю получить доступ к си­стеме? Что для этого нужно? О тестировании защиты программного обес­печения немного рассказывается у Бейзера (Beizer, 1990) и более подробно

— у Фернандеса (Fernandez, 1981).

Совместимость и преобразование форматов данных

Два программных продукта называют совместимыми (compatible), если они могут работать с одними и теми же файлами данных или если они благополучно сосуществуют в оперативной памяти компьютера и работают,