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

Глава 8: Тестирование принтеров и других устройств 217

ОМБ 810

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

• Ошибка, специфическая для драйвера. В программе может быть часть кода или таблица перекодировки команд, применяющаяся для рабо­ты с конкретной группой принтеров, проще говоря, встроенный драйвер. Один и тот же драйвер может использоваться для целого ряда однотипных принтеров, например, драйвер Ерзоп ЕХ может работать с принтерами РХ-80, ЕХ-85, ИХ-100 и др. И если в этом драйвере содержится ошибка, она будет проявляться при работе со всеми принтерами данной группы.

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

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

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

1. Поиск функциональных ошибок, не зависящих от устройства. Эти ошибки проявятся при работе с любым принтером.

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

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

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

РИСУНОК 8.3. Этапы тестирования пенати

218 Часть II: Приемы и технологии тестирования

Поиск функциональных ошибок

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

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

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

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

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

Выявление ошибок, общих для класса устройств

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

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

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

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