Тестирование-книга. Ю. Н. Артеменко Научный редактор
Скачать 6.27 Mb.
|
Глава 8: Тестирование принтеров и других устройств 2 3 3 • Обязательно распечатывайте реальные данные. Документ с реаль ной информацией и тестовыми примерами может выглядеть по-раз ному. Если окажется, что с реальными данными документ выглядит плохо или они явно неудачно расположены, составьте отчет об ошибке проектирования. Кроме чисто эстетических недостатков, распечатка реального документа позволяет выявить и более серьез ные ошибки, как, например, частично накладывающиеся поля дан ных. Сохраняйте все распечатки Сохраняйте все распечатки как минимум до тех пор, пока продукт не выйдет в продажу. Последнюю серию распечаток (полученных от каждого протестированного принтера) храните по несколько лет. В некоторых ком паниях годами сохраняются и все промежуточные выходные документы. Фактически эта документация отражает ход и результаты разработки, и она еще не раз может пригодиться. Например, сотрудникам группы техничес кой поддержки она может понадобиться для сравнения распечаток пользо вателей с собственными результатами компании, полученными на тех же принтерах. Кроме того, при разработке следующего выпуска программы у вас будут уже готовые тестовые примеры и их результаты для сравнения. Организация и оборудование тестовой лаборатории На организацию тестовой лаборатории можно потратить все свое состо яние. Поэтому давайте считать, что вы готовы выделить на это определен ную сумму — столько, сколько абсолютно необходимо для эффективного тестирования, но не более того. Принтеры можно одолжить Никто не покупает все необходимые для тестирования принтеры. При обретаются только те модели, которые будут постоянно использоваться, другие же вполне можно одолжить на 30, 45 или 90 дней у их производи телей. (Если хорошего принтера нет в меню ни одной программы, значит, его производитель не одалживает свои устройства. Никто не станет вклю чать в меню своей программы принтер, который не удалось протестировать, и никто не станет его покупать, если это не сулит значительных преиму ществ.) У многих производителей принтеров имеются программы поддержки независимых производителей программного обеспечения, называемые ISV (Independent Software Vendor). Если вы разрабатываете программные про дукты для широкого рынка или бесплатно распространяемые программы, позвоните производителям любимых принтеров и скажите, что хотели бы 234 Часть II: Приемы и технологии тестирования протестировать свои программы на совместимость с некоторыми их уст ройствами. Можно ли одолжить эти принтеры (подготовьте их список за ранее) для тестирования? Вежливо объясните, что не можете позволить себе купить каждый принтер каждого производителя, даже такие замечательные принтеры этой чудесной компании. Приготовьтесь повторять одно и то же нескольким сотрудникам, пока наконец вам не удастся поговорить с пред ставителем программы ISV или администратором из отдела продаж или маркетинга. Всегда звоните заранее — за несколько недель, чтобы успеть получить, заполнить и отправить обратно соответствующие бумаги. Компании необ ходимо будет подтверждение, что вы не просто изобретательный студент, придумавший способ бесплатно получить несколько принтеров. Будьте готовы к тому, что первую копию ваших бумаг компания потеряет, и при дется высылать вторую. Некоторые компании периодически выпускают документацию с описа нием всех перемычек и переключателей для всех выпускаемых ими прин теров. Доказав, что вы являетесь разработчиком программного обеспечения, можно получить эти издания бесплатно или за очень умерен ную цену. Обязательно спросите, имеется ли у фирмы такая документация. Сотрудники, с которыми вы будете говорить, могут просто забыть о ней упомянуть. Одолжив принтер на 90 дней, стоит проявить вежливость и предусмот рительность и отослать компании некоторые из полученных распечаток. Это нужно сделать не позднее 60 дней с момента получения принтера. Напишите администратору ISV письмо с выражением благодарности за услугу, перечнем тестируемых программных продуктов и примечанием, что к письму прилагаются примеры распечаток. (Не забудьте их приложить!) Получив такое письмо, администратор гораздо охотнее позволит вам оста вить принтер у себя еще на 90 дней, если вы не уложитесь в оговоренный срок. После завершения разработки также предусмотрительно необходимо будет отправить производителям принтеров бесплатные копии программы и письма с благодарностями за одолженные принтеры. Эти письма и копии программ исключительно важны. Их получение от нескольких разработчи ков может повлиять на решение о продолжении компанией программы ISV. Кроме того, иногда они могут стать началом более тесного сотрудничества между вашими компаниями. Информацию о производителях принтеров можно получить из ежегод ного альманаха Computer Industry Almanac (Juliussen) или ежегодного выпуска PC Magazine, посвященного принтерам. Глава 8: Тестирование принтеров и других устройств 2 3 5 Разумеется, таким образом можно одалживать у производителей не только принтеры, но и любые другие устройства, а также программное обеспечение, совместимость с которым важна для успешного продвижения вашего продукта не рынок. Организация тестовой лаборатории Чем больше у вас компьютеров и принтеров, тем важнее все это пра вильно организовать. На установку и подключение принтера должно ухо дить минимум времени и усилий. Если вы никогда не видели по-настоящему хорошо организованной лаборатории, то, вероятно, даже не представляете себе, что это такое и насколько эффективнее выполняется в ней работа. • Расположите принтеры на крепких полках. Так значительно эконо мится пространство и облегчается доступ к каждому из устройств. Слева и справа от каждого принтера, а также между принтером и стеной должно оставаться достаточно места, чтобы принтеры не перегревались. Кроме того, их должно быть удобно включать, зап равлять бумагой и добираться до их кабелей. • Располагайте стеллажи на достаточном расстоянии друг от дру га. Избегайте беспорядка на полу. В здании будет выключаться свет, а в тестовой лаборатории обычно нет окон. Поэтому необходимо га рантировать, что сотрудники смогут благополучно добраться до две ри, ничего не сломав и не обрушив. • Принтеры должны быть готовы к работе. Бумага должна быть загружена, к принтерам должны быть подключены интерфейсные кабели и питание. • Пользуйтесь коммутаторными блоками. Четыре или более принте ра можно подключить к одному коммутаторному блоку, кабель ко торого, в свою очередь, подключается к компьютеру. Переключатель на коммутаторном блоке позволяют выбрать любой из подключен ных к нему принтеров. Таким образом можно работать с нескольки ми принтерами различных типов. Однако иногда встречается программное обеспечение, которое отка зывается работать с принтером через коммутатор. К счастью, такое случается крайне редко. • Если не получается подключить к компьютерам все принтеры, подключите те, которые тестируются чаще всего. Остальные распо ложите так, чтобы до них было легко добраться. Оставьте на полках рядом с ними побольше свободного пространства, чтобы любое из устройств можно было без труда снять с полки и положить обратно. 2 3 6 Часть II: Приемы и технологии тестирования Ни в коем случае не кладите принтеры друг на друга, иначе обяза тельно что-нибудь сломаете. • Стоит потратиться на несколько тележек или столиков на коле сах. Время от времени тестировщики и программисты будут заби рать принтеры к себе в комнаты, чтобы поработать с ними подольше в привычной обстановке. Такие тележки не только позволяют лег ко и без ущерба перемещать оборудование — если на рабочем сто ле недостаточно места, принтер может так и стоять на тележке, пока не вернется в лабораторию. • Сразу же чините все, что ломается. На починку оборудования всегда уходит масса времени: в мастерских нет нужных запчастей; специалист, умеющий чинить такие принтеры, только что уволился; пришедший на его место новый сотрудник сломал еще что-то, пы таясь починить незнакомое устройство, причем этих новых запчас тей тоже не найти. Огромное количество продуктов продается без необходимого тести рования только потому, что сотрудники тестовой лаборатории вов ремя не сдали в ремонт нужные устройства. • Держите под рукой некоторое количество запчастей и материалов. В лаборатории всегда должны быть запасные ленты, картриджи, тонеры, бумага и т.п. Они всегда кончаются не вовремя, например, в пятницу вечером, когда все магазины закрыты, а вы еще собира лись поработать. И не стоит пытаться сэкономить, например, на красящей ленте. Бледная печать — это только потерянное время и зрение: ошибки вы все равно попропускаете. • Сделайте копии руководств и спрячьте оригиналы. Документация к принтерам имеет свойство пропадать, причем в самое неподходящее время. Заменить ее трудно, а без нее не обойтись. Поэтому никог да не работайте с оригиналами руководств, держите их в надежном месте, а для работы делайте копии. • Наклеивайте на принтеры записки с перечнем установок переклю чателей для всех тестируемых режимов. • Берегите уши. Матричные принтеры обычно работают очень гром ко. Если их много и все они печатают одновременно, создается сильный шум. Постоянно находиться в таких условиях крайне вред но, и, прежде всего, от этого снижается слух. Выясните, какой уровень шума допускается нормативами и какие зако ны обязывают компанию позаботиться об условиях вашего труда. Глава Адаптационное тестирование Назначение этой главы Программное обеспечение все чаще и чаще переводится на другие языки и экспортируется в другие страны. Однако представление разработчиков о локализации п р о г р а м м п о - п р е ж н е м у остается е щ е очень наивным. Этот процесс представляет собой нечто гораздо большее чем просто перевод слов с одного языка на другой. В данной главе рассказывается о том, как много изменений вносится в про грамму в процессе ее локализации. Тестировщик локализованной версии должен убедиться, что ничего не пропущено. К р о м е того, необходимо про верить, не вкрались ли в измененную программу в новые ошибки. Надеем ся, что наши рекомендации помогут вам успешно справиться с этой работой. Библиография Крупнейшие компании — разработчики программного обеспечения выпускают руководства по его локализации. В качестве примера м о ж н о привести сле дующие документы. • National Language Information and design Guide компании IBM ( 1 9 8 7 , 1990). • Guide to Macintosh Software Localization и Macintosh Worldwide Development: Guide to System Software компании Apple ( 1 9 9 2 ) . • Developing International User Information (Jones, Kennelly, Mueller, S w e e z y , Thomas, & V e l e z , 1 9 9 2 ) и Digital Guide to Developing International Software компании Digital Equipment Corp. • Microsoft Windows International Handbook for Software Design компании Microsoft. 9 2 3 8 Часть II: Приемы и технологии тестирования Существует и другая хорошая литература о локализации п р о г р а м м н о г о обес печения. М н о ж е с т в о нюансов перевода п р о д у к т о в Macintosh описаны в кни г е К а р т е р а ( C a r t e r , 1 9 9 0 ) . Ряд п о л е з н ы х с в е д е н и й м ы п о ч е р п н у л и и з печатавшихся в периодических изданиях глав б у д у щ е й книги Эрена, Говарда и Перинотти (Uren, H o w a r d & Perinotty, 1993). На наш взгляд, л у ч ш и м р у к о в о д с т в о м по л о к а л и з а ц и о н н о м у тестированию является выпущенная Microsoft книга Microsoft Windows International Handbook for Software Design. К р о м е т о г о , р а з р а б о т к е м е ж д у н а р о д н о г о п р о г р а м м н о г о обеспечения посвя щен целый ряд стандартов ISO (International Standard Organization). Например, с б о р н и к о м ISO э р г о н о м и ч е с к и х стандартов для п р о г р а м м н о г о обеспечения является Technical Committee 159, Sub-Committee 4, W o r k i n g G r o u p 5. В э т о м с б о р н и к е есть стандарты для справочных с и с т е м , м е н ю , диалоговых о к о н и м н о г о г о д р у г о г о . Почитайте к о л о н к у Пат Биллингслей (Pat Billingsley) The Standards Factor в журнале Association for Computing Machinery SIGCHI Bulletin — в ней вы найдете сведения о р а з р а б о т к е новых стандартов на эту т е м у и изменениях существующих. О б з о р UNIX-стандартов с информацией о т о м , где их м о ж н о найти, публиковался организацией 8 8 o p e n Consortium (1991). Локализация — это процесс адаптации программного обеспечения для нового места эксплуатации. Изменение языка не является его единствен ной составляющей. Не менее важна, например, и культурная адаптация. Изменен ли исходный код? Это первый вопрос, который вы себе зададите, приступая к тестирова нию локализованной версии программного продукта. В отдельных случа ях, например при адаптации американской программы для Великобритании, может оказаться достаточным изменить несколько вне шних файлов, хранящих, например, информацию о единицах измерения. Сама программа не подвергается повторной компиляции и компоновке. В этом случае тестирование локализованной версии может быть довольно по верхностным, с акцентом только на национальных особенностях. Однако, как правило, адаптация программного продукта требует гораздо более серьезных изменений. И они могут касаться не только перевода надписей и сообщений, включенных прямо в текст программы, — могут появиться новые функции, которых в исходной версии не было вообще, или какие-либо из прежних возможностей программы могут несколько видоизмениться. А раз меняется код и даже появляются его новые фраг менты, значит, не обойтись без полноценного функционального тестиро вания. Если программа адаптируется для целого ряда стран, после второй или третьей адаптации программисты приобретут некоторый опыт и станут допускать уже меньше ошибок. Однако код по-прежнему будет модифи- Глава 9: Адаптационное тестирование 2 3 9 цироваться и дополняться, поэтому каждая новая версия должна тестиро ваться очень обстоятельно. Сейчас модно критиковать продукты, в которых с самого начала не встраиваются возможности быстрой локализации. Однако у такого подхо да существует и ряд недостатков, поскольку он усложняет разработку ис ходной версии, увеличивая сроки и делая продукт более громоздким. Так что не спешите присоединяться к критике. Вопрос этот имеет стратегичес кий характер и в каждом конкретном случае решается по-своему. Привлекайте к работе специалистов, свободно владеющих языком Когда текст переведен на русский язык человеком, который им плохо владеет, это сразу заметно. Поэтому специалист, занимающийся адаптацией американского продукта, обязательно должен свободно владеть обоими языками, особенно технической терминологией. Необходимо, чтобы и в груп пе тестирования тоже был человек, свободно владеющий языком, на который переводится продукт, причем желательно, чтобы это был его родной язык. Встроен ли текст в программный код? Если продукт должен переводиться на несколько языков, подавляющая часть его текста, скорее всего, отделена от программного кода. Однако не верьте на слово программисту, утверждающему, что в коде нет ни слова, выводящегося на экран или принтер. Просмотрите файлы сами или вос пользуйтесь утилитами, извлекающими из двоичных файлов текстовые строки. Вы наверняка что-нибудь да найдете. Краткие сообщения вроде "Ошибка чтения диска" программисту наверняка было лень считывать из файла ресурсов. Если критические сообщения об ошибках невозможно или нерацио нально выносить во внешние файлы, это вовсе не означает, что их нельзя перевести. Программист или переводчик может внести исправления прямо в объектный или исполняемый файл. Хотите более элегантное решение — пожалуйста: программист может написать маленькую утилиту, которая находит в объектном файле текстовые строки и позволяет переводчику ввести новый текст, ограничивая его длину длиной исходной строки. Перевод длиннее исходного текста На многих языках, в том числе и на русском, короткие сообщения и названия команд оказываются длиннее исходных английских эквивалентов. На рис. 9.1 приведены оценки увеличения длины текста при переводе с английского, сделанные специалистами компании IBM. Предполагается, что в тексте отсутствуют аббревиатуры. 2 4 0 Часть II: Приемы и технологии тестирования При переводе вполне может ока заться, что результирующий текст не помещается в меню или диалоговое окно. Однако его сокращение совер шенно недопустимо. Нельзя допус тить и того, чтобы удлинение текста привело к переполнению внутрен них переменных программы, в кото рых он хранится, или затиранию других данных. Бывает и так, что после перевода текстовые строки набегают друг на друга на экране или на нем не помещается меню, ставшее слишком широким. Наборы символов При адаптации программ необходимо учесть и еще один аспект, связан ный с кодировкой символов, не относящихся к базовому набору ASCII (английские буквы, цифры, знаки препинания). Для всех остальных сим волов, среди которых и буквы русского алфавита, должна быть выбрана та кодовая страница (т.е. набор числовых кодов, использующихся для их хранения), которая будет установлена у пользователей программы. Кроме кодовых страниц, отличаться могут и базовые наборы символов: в мире Microsoft стандартными являются использовавшийся в DOS набор симво лов ASCII и использующийся в Windows набор ANSI. У Apple собственный набор символов, несовместимый ни с ASCII, ни с ANSI. Кроме того, не обходимо позаботиться о том, чтобы информация программы и пользова тельские данные отображались шрифтами, в которых имеются нужные символы. Иначе может получиться, что в полностью русифицированной программе в текстовом поле с жестко заданным шрифтом правильно ото бражаются при вводе только английские буквы, а вместо русских появля ются странные символы. Клавиатура В разных странах применяются и разные раскладки клавиатуры. Сис темное программное обеспечение интерпретирует внутренние коды кла виш, ставя им в соответствие коды текущей кодовой страницы. И кодовая страница, и раскладка клавиатуры определяются настройкой системы. На немецкой клавиатуре имеется несколько акцентированных символов, на пример а и о. На французской отсутствуют квадратные скобки. Греческая клавиатура, так же как и русская, переключается между английским и греческим наборами символов. В скандинавском алфавите имеются спе- |