210 Часть II: Приемы и технологии тестирования
объем необходимой ей памяти, с какими ее типами программа бу-
дет работать?
• Для какой аппаратной платформы предназначена программа (напри-
мер, Macintosh или IBM), с какими моделями совместимых компь-
ютеров она будет работать?
• Для какой программной платформы предназначена программа (ка-
кой операционной системы и каких ее версий, какое ей необходи-
мо дополнительное системное программное обеспечение —
например, программная оболочка, программы управления памятью,
базовые функции из ROM BIOS).
Все перечисленные компоненты составляют конфигурацию системы —
стоит изменить один из них, и получится новая конфигурация. Термин
конфигурационное тестирование означает проверку совместимости програм-
мы с теми конфигурациями оборудования и системного программного
обеспечения, с которыми она должна работать.
Как ни важна обстоятельность проведения этого вида тестирования, но
даже самые элементарные подсчеты показывают, что проверить работу
программы со всеми возможными конфигурациями среды абсолютно не-
возможно. Даже если выбрать только один из аспектов, например тестиро-
вание графической программы на совместимость с видеооборудованием, то,
исследовав его рынок, вы обнаружите помимо целого ряда стандартов еще
и сотни моделей видеоплат и мониторов. А что будет, если проверять еще
и совместимость с позиционирующими устройствами? Если отобрать 10
наиболее популярных видеоплат и еще пять наиболее популярных моделей
мыши, то получится 50 тестов. Добавьте на каждую мышь по три драйве-
ра — получится 150 тестов. Мониторы также отличаются между собой, и
прежде всего следует проверить два их основных типа — монохромные и
цветные. Видеоплаты работают с ними по-разному. Поэтому если тестиро-
вать еще и два основных типа мониторов, то получится уже 300 тестов.
Как видите, с добавлением каждого нового объекта тестирования общее
количество тестов растет в геометрической прогрессии. Даже если выделить
только несколько наиболее популярных моделей основных внешних уст-
ройств, как быть с бесконечным разнообразием остальных?
Чтобы правильно спланировать и провести конфигурационное тестиро-
вание, необходимо очень много знаний. Прежде всего нужно выяснить,
какие функции каждого из устройств используются в программе, и как
узнать, что программа использует их правильно. Важно знать, в чем может
заключаться совместимость или несовместимость подобных устройств и как
их различия могут повлиять на тестируемую вами программу. Если выяс-
нить, какие из устройств хорошо эмулируют друг друга, можно сэкономить
и время, и деньги, взяв для тестирования по одному представителю каж-
Глава 8: Тестирование принтеров и других устройств 211
дой группы совместимых между собой устройств. При этом совместимость
не обязательно должна быть полной — достаточно, чтобы одинаково рабо-
тали функции, используемые вашей программой. Однако, классифицируя
устройства по степени их совместимости, следует быть осторожным: не
стоит доверять утверждениям их изготовителей. Поищите источники неза-
висимой информации, иначе вы рискуете, что на одном из видов непроте-
стированного оборудования у пользователей произойдет сбой.
Профессиональная пресса весьма охотно рассказывает о программах,
которые не работают с популярным аппаратным обеспечением. Лучше не
попадать в их черные списки, иначе подобная статья может лишить про-
граммный продукт части рынка, а вас — работы.
На рис. 8.1 приведено общее описание подхода к конфигурационному
тестированию. В оставшейся части главы рассказывается, как он применя-
ется к тестированию наиболее распространенного устройства — принтера.
Именно о принтерах тестировщики думают прежде всего, и именно с ними
чаще всего возникают проблемы у пользователей.
Тестирование печати
На рынке устройств для персональных компьютеров имеется более
тысячи различных принтеров. Этот рынок разделен на несколько частей,
представляющих устройства для различных платформ. Самая значительная
его доля принадлежит платформе Microsoft.
Не все программы используют функции принтера в полном объеме:
некоторые из них не печатают графики, не пользуются различными начер-
таниями шрифтов (полужирный, подчеркнутый и т.п.), не пользуются про-
порциональными или иными специфическими типами шрифтов, не
печатают в цвете. Проще говоря, они не печатают ничего, кроме стандар-
тного ASCII-текста по 79 символов в строке. Такие программы совмести-
мы практически со всеми русифицированными принтерами, и для них
практически нет нужды в конфигурационном тестировании.
Что касается программ, полноценно использующих преимущества со-
временных печатающих устройств, то они и не пытаются поддерживать все
без исключения принтеры. Постарайтесь протестировать все те принтеры,
совместимость с которыми указана в документации программы, а также
полностью совместимые с ними модели. Проверьте и наиболее "каприз-
ные" и плохо зарекомендовавшие себя принтеры, чаще других вызывающие
проблемы программного обеспечения или являющиеся причиной наиболь-
шего количества жалоб пользователей.
Если вам повезет, руководитель проекта даст вам список наиболее по-
пулярных или наиболее важных с маркетинговой точки зрения устройств
(например, обладающих специальными функциями или обещающих стать
популярными в недалеком будущем).