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

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

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

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

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

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

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

Окончательная приемка и сертификация

Если ваша компания разрабатывает программное обеспечение по кон­тракту, для его приемки клиенты должны будут провести собственные тесты. Если продукт невелик, тестирование может быть неформальным. Однако для большинства проектов процедура приемочного тестирования заранее согласовывается и фиксируется в контрактных документах. Поэто­му, прежде чем передать программу клиенту, нужно убедиться, что она абсолютно безупречно проходит серию приемочных тестов. Обычно при­емочное тестирование занимает не более одного дня и не является особен­но тщательным. Как подготовить и провести формальное приемочное тестирование, подробно рассказывает Бейзер (Beizer, 1984). Хорошим учеб­ником по разработке приемочных тестов является книга Перри (Perry, 1986). Особенно полезной эта книга может быть для тех, кто разрабатывает приемочные тесты совместно со своим клиентом.

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

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

Примеры тестов, проводимых при функциональном и системном тестировании

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

Сверка со спецификацией

Проверяется соответствие разработанной программы каждому слову в спецификации.

Правильность

Правильно ли программа выполняет нужные вычисления и формирует отчеты?

Лабораторные испытания

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

Граничные условия

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

Производительность

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