![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Компьютеры, Программирование
Программное обеспечение
Проблемы интеграции: Mercury Interactive QuickTest & TestDirector |
Роман Касьяненко Эта статья ориентирована на тестировщиков со средним и выше уровнем подготовки. Поэтому предполагается, что тестировщик знаком с такими инструментами компании Mercury I erac ive как Quick es (функциональное тестирование) и es Direc or (управление процессом тестирования). В данной статье все внимание будет сосредоточено на процессе их совместной интеграции, которая, будучи реализованной, дает ощутимые преимущества при разработке и тестировании конечного продукта (экономия времени, денежных средств и человеческих ресурсов, затрачиваемых на тестирование; тесная интеграция процессов разработки и тестирования, что, в свою очередь, также повышает качество разрабатываемого продукта). Примечание: все нижеописанное взято из моего личного опыта работы, однако принимая во внимание то, что я занимаюсь тестированием web-сайтов, некоторые решения заточены именно под web-тестинг, хотя общая картина, я предполагаю, будет приблизительно такой же и для многих других случаев. Главная цель: для проекта, скриптование которого осуществляется группой тестеров, реализовать выполнение пакета скриптов ( es se ) в полностью автоматическом режиме. Приступим! Предполагается, что Quick es , es Direc or и плугины (plug-i s), необходимые для их совместной работы, установлены и все функционирует без проблем (на данный момент я использую Quick es Professio al версии 6.5 и es Direc or версии 7.2). Итак, некоторый разрабатываемый продукт прошел входное тестирование. После этого, с помощью es Direc or, был создан некоторый набор тест-кейсов для тестирования этого продукта (этот набор включает в себя тест-кейсы для входного тестирования плюс тест-кейсы для расширенного и, возможно, экстремального тестирования). Теперь необходимо сгенерировать «заготовки» для скриптов (это экономит время на комментирование скриптов а также делает результаты выполнения скриптов более читабельными) с помощью того же es Direc or, после чего самое время приступить к разработке скриптов (а вот здесь в игру вступает Quick es ). Когда скрипты будут готовы, их необходимо объединить в пакеты (опять же, используя es Direc or), которые и будут запускаться для выполнения регрессивного тестирования (вот здесь, наконец-то, начинается взаимодействие «звездной пары» — es Direc or использует Quick es для запуска отдельных скриптов некоторого пакета). Теперь рассмотрим вопросы, которые могут возникать в процессе реализации всего вышеописанного: — Как заставить скрипт понимать какие из запущенных во время исполнения скрипта экземпляров браузера необходимо использовать? Проблема в том, что es Direc or тоже запускается в браузере, и поначалу я часто встречался с ситуацией, когда, во время исполнения скрипта, Quick es , запущенный es Direc or’ом, использовал браузер, в котором был загружен тот же es Direc or. естественно, на этом выполнение пакета скриптов прерывалось. Решение: прописать для каждого объекта браузера (в репозитории объектов), используемого в скрипте, специальный (отсутствующий по умолчанию в списке стандартных атрибутов) атрибут “crea io ime” – 0 для первого используемого браузера, 1 – для второго и т.д
. Это дает возможность идентифицировать экземпляры браузера по времени их создания скриптом. — Как избежать ошибок автоматического распознавания объектов во время выполнения скрипта? Решение: отказаться от «Smar Ide ifica io fea ure», после чего возрастет трудность и, соответственно, время написания скриптов, но в то же время возрастет и их надежность. — Как минимизировать время, затрачиваемое на написание скриптов? Решение: использовать общие репозитории объектов и общие библиотеки стандартных функций для отдельных проектов (повторное использование кода). — Как минимизировать время, затрачиваемое на конфигурацию скриптов? Решение: все скрипты отдельного проекта должны пользоваться общими переменными окружения; для этого необходимо создать i i-файл, в который будут помещены переменные окружения для отдельного проекта и указать этот файл как источник переменных окружения для каждого скрипта этого проекта. В таком случае, перед запуском пакета скриптов необходимо изменить только этот файл. Для удобства, к корневой ветке проекта в es Direc or можно присоединить линк на этот файл. — Как избежать невозможности исполнения последующих скриптов пакета при возникновении ошибок на сайте, которые приводят к аварийному «подвисанию» или «размножению» браузеров и их диалоговых окон? Решение: в конце каждого скрипта необходимо предусмотреть код, который итеративно будет закрывать все диалоги и браузеры, которые используются скриптом. — Как избежать невозможности исполнения последующих скриптов пакета при возникновении ошибки в некотором из скриптов этого пакета? Решение: настроить каждый скрипт проекта так, чтобы он останавливал свое выполнение в случае возникновения ошибки, вместо того, чтобы показывать message box с описанием ошибки (это пункт конфигурации скрипта по умолчанию, однако он уместен лишь на стадиях написания и отладки скрипта). Теперь подведу итог общей инструкцией (взято из «конвеншенов» компании, в которой я работаю), руководствуясь которой необходимо разрабатывать каждый скрипт конкретного проекта: 1. Load Quick es (crea e ew es scrip ) 2. Go o « es Se i gs » 3. O «Ru » ab do followi g: check «Disable Smar Ide ifica io duri g he es ru » checkbox 4. O «E viro me » ab do followi g: selec «User-defi ed» value i «Variable ype» dropdow lis check «Load variables a d values from ex er al file (reloaded each es ru )» checkbox specify file wi h e viro me variables i he «File:» edi box 5. O he «Resources» ab do followi g: specify library files i he «Associa ed library files:» sec io ab selec «Shared» radiobu o specify objec reposi ory file i he ac iva ed edi box i he same sec io 6. Close « es Se i gs » dialog a d save 7. Develop es scrip accordi g o he correspo di g es case 8. I ser code which closes all browsers a d dialogs i s a ces, excep browser i s a ce i which es Direc or is loaded, i he e d of he es scrip : While Browser(" i le:=(?!Mercury es Direc or). ","i dex:=0").Exis While Browser(" i le:=(?!Mercury I er e Explorer", "i dex:=0").Exis Browser(" i le:=(?!Mercury I er e Explorer", "i dex:=0").Close We d Browser(" i le:=(?!Mercury es Direc or).
","i dex:=0").Close We d 9. Af er es scrip is fi ished, go o « es Se i gs » agai 10. O «Ru » ab do followi g: cha ge «pop up message box» value of he «Whe error occurs duri g es ru :» dropdow lis o he «s op ru » value 11. Close « es Se i gs » dialog a d save Вот и все! Теперь пакет скриптов можно запускать на выполнение, которое абсолютно не требует вашего присутствия (чего мы и добивались). Каждое утро я просматриваю результаты выполнения пакета скриптов. А вечером, уходя с работы домой, я нажимаю всего одну кнопку — «Ru all es s». Надеюсь, кому-то все это пригодится так же как пригодилось мне.
Внутри все тоже хорошо - процессор Intel Core 2 Duo и видеокарта GeForce Go 8400GS не дадут заскучать даже Vista Ultimate. Да и цена отличная - примерно 40 тысяч рублей. Для такого дизайна это просто копейки - стоило бы поставить кое-кому в пример (не будем показывать пальцем). Отличный вариант для молодых и горячих сердцем, хотя для традиционной клиентуры HP подходит плоховато. DEPO Neos 430i: В поддержку перехода Знаете, от чего сейчас больше всего болит голова у так называемых CIO (самых-самых главных сисадминов)? Вовсе не от пива с друзьями накануне, а от постоянно всплывающей проблемы интеграции Windows Vista в корпоративные сети, где все уже вроде бы давно и стабильно работает под Windows XP. Но то и дело возникают купленные начальством Vaio с Vista, да и вообще - пересидеть апгрейд до прихода полумифической Windows 7, кажется, не получится. Новая ОС - новые требования к железу, и вот тут Vista с ее безапелляционной заявкой на 2-гигабайтный минимум и становится проблемой. Впрочем, новые решения от зарекомендовавших себя поставщиков не выглядят слабаками
1. Евросоюз: проблемы интеграции
2. Экономическая реформа в Болгарии и проблемы ее интеграции в мировую экономику
3. Проблемы развития общих рынков в международной экономической интеграции
4. Проблемы и перспективы европейской экономической интеграции
5. Проблемы европейской валютной интеграции
9. Основные проблемы генетики и механизм воспроизводства жизни
10. Проблемы обеспечения продовольствием и перенаселение Земли
11. Глобальна продовольча проблема
13. Проблема занятости трудовых ресурсов, их численность. Центральный экономический район.
15. Проблемы размещения производительных сил. Карпатский регион
16. Продовольственная проблема мира
17. Индия. Проблемы и пути их решения
18. Социально-экономические проблемы угольной промышленности
19. Демографические проблемы Китая
20. Глобальные проблемы здоровья человечества
21. Мировое хозяйство-основные черты и проблемы развития
25. Прибуткове оподаткування підприємств, проблеми та шляхи розвитку в Україні
26. Проблемы и перспективы развития денежной системы России
27. Проблемы налогообложения в Российской экономике
28. Проблемы реформирования налоговой системы в России
29. Проблемы формирования бюджета Ханты-Мансийского Автономного Округа
30. Государственный долг России: проблемы и решения
31. Проблема ограничения административных деликтов от преступления
33. Проблемы защиты авторского права в сфере web-журналистики Рунета
34. Особенности и проблемы правового регулирования договора строительного подряда
36. Проблема отношений всей России с Кавказом
37. Государство и проблемы монополий
41. Проблема нераспространения и не использования оружия массового уничтожения (ОМУ)
42. Приватизация муниципального жилищного фонда: Проблемы и правовые последствия
43. Налоговая система России: сущность, проблемы, перспективы развития
44. Актуальные проблемы возмещения налога на добавленную стоимость при экспорте товаров за пределы РФ
46. Проблемы наказания несовершеннолетних
47. Проблема происхождения права
48. Проблемы страхования автотранспорта в России
49. Проблемы сочетания представительного и прямого правления
50. Проблемы законности в Российской Федерации
51. Договоры в сфере найма труда: проблемы отраслевого разграничения
52. Свинец и проблемы экологии
53. Глобальные проблемы современности
57. Бахтин М.М. "Проблемы речевых жанров"
58. Основные проблемы культуры речи в СМИ
59. И.И.Крылов на Кавказских Минеральных Водах. Изучение проблемы
60. Проблема классификации языков
61. Философские проблемы фантастики
62. Проблема трагической судьбы России в повести А. Платонова "Котлован"
63. Философские проблемы в лирике М.Ю. Лермонтова
64. Культура, природа, человек. Проблемы и пути их решения
65. Перевод. Искусство перевода и его проблемы
67. Проблемы национального характера в русской прозе 20 века
68. Проблема освоения иноязычных заимствований русскоязычными индивидами
69. Синтаксические функции герундия в испанском языке. Проблема атрибутивного герундия
74. Проблемы генезиса капитализма в России
76. Египет как дар Нила. Проблема общины
77. Проблема интерпретации мифа в аттической трагедии
78. Проблемы использования и пути развития интернет-компьютерных технологий в России
79. Кибернетика и сознание. Проблемы искусственного интеллекта
80. Интеграция Word с приложениями и объектами
81. Проблема выбора средней величины
82. Эвтаназия, как проблема современной медицины
84. Этические проблемы трансплантологии
85. Психологические проблемы анорексии и булемии
89. Половые преступления по УК РФ 1996г. (общая характеристика и проблемы квалификации)
90. Кассационное производство и его проблемы
91. Экономические и социальные проблемы охраны окружающей среды
92. Проблемы радиационной обстановки
93. Экологические проблемы народонаселения
94. Проблемы экологии. Возможные пути их решения
95. Проблемы загрязнения окружающей среды. Загрязнение атмосферы
96. Проблемы защиты окружающей среды Свердловской области
97. Проблема возникновения жизни на земле
98. Глобальные проблемы человечества: загрязнение водной среды