Difference between revisions of "RU/development/qa/vcltesttool/introduction"

From Wiki
Jump to navigationJump to search
m (→‎О TestTool: Исправил опечатки, применил шаблон {{OOo}})
({{Menu|)
Line 118: Line 118:
  
 
= Автоматизированные креш-отчёты =
 
= Автоматизированные креш-отчёты =
: Выберите меню '''Extra Settings Crashreport'''.
+
: Выберите меню {{Menu|Extra|Settings|Crashreport}}.
  
  

Revision as of 10:15, 20 July 2010

Template:RU/documentation/helpneeded



Инструментарий для автоматического тестирования OpenOffice.org

О TestTool

TestTool - это программа, предназначенная для автоматизированного тестирования OpenOffice.org. TestTool взаимодействует через TCP/IP-интерфейс с OpenOffice.org и выполняет тестирование установленного на PC OpenOffice.org. Текущая версия TestTool предназначена для работы с OpenOffice.org 3.0 и выше. Однако, в будущем в OpenOffice.org могут быть внесены несовместимые изменения и потребуется обновить версию TestTool.

TestTool связывается с OpenOffice.org, используя SlotIDs, UniqueIDs, и HelpIDs для управления каждым пунктом меню, окнами, диалогами, и диалоговыми параметрами в OpenOffice.org. Идентификаторы генерируются автоматически в OpenOffice.org построителями процессов или назначаются разработчиками.


SlotIDs Каждый пункт меню имеет SlotID который используется, например, чтобы открыть диалог или совершить действие.
HelpIDs Каждый элемент управления, окно или диалог автоматически получает HelpID для внутренней справочной системы. TestTool использует HelpIDs для идентификации конкретного элемента управления, окна или диалога.
UniqueIDs Разработчики могут назначать UniqueID элементам управления, которые не имеют собственного HelpID, чтобы TestTool мог идентифицировать данный контрол.


Вы можете создать скрипт теста для TestTool на языке программирования StarBasic (подобный VisualBasic). Некоторые команды доступны для TestTool, например, получить или разместить информацию в элементе управления OpenOffice.org. Есть полный список доступных команд, описывающий внутренние команды, методы, и функции TestTool [en]. Вы можете симулировать большинство действий мыши и клавиатуры из TestTool, а так же собирать информацию из элементов управления или изменять установки по умолчанию в OpenOffice.org. Иными словами, TestTool позволяет симулировать поведение пользователя OpenOffice.org.

Расположение TestTool

Окружающая среда TestTool может быть проверена на Mercurial в openoffice.org, и находится в каталоге: testautomation; Или она доступна в виде отдельно пакета.

Приложение TestTool всегда доступно для загрузки. Для других платформ установка так же доступна. Просто используйте двоичный файл из каталога

.../{officepath}/program.

Запустите программу

Documentation linux.png testtool.bin


или

Documentation windows.png testtool.exe


или

Documentation Mac Logo 40.png скопируйте скрипт soffice в testtool и запустите его.


Установка TestTool

Для установки TestTool, распакуйсте содержимое загруженного архива TestTool на локальный диск. Если TestTool планируют использовать несколько пользователей, скопируйте распакованный архив на сетевой диск.

После запуска TestTool выполняет файл настроек

Documentation linux.png .testtoolrc


или

Documentation windows.png testtool.ini


Если ваш файл настроек TestTool расположен в том же каталоге, что и исполняемые файлы TestTool, то он автоматически буде скопирован в каталог

Documentation linux.png home


или

Documentation windows.png профиль



Documentation linux.png Только для Linux: Если вы получили сообщение, аналогичное этому:

"Couldn't bootstrap uno servicemanager for reason : Couldn't create registry file ...services.rdb for writing",
убедитесь, что вы используете nfslock.
Например, в Linux запустите
/etc/init.d/nfslock status
Если команда не выполняется, то измените от имени root и выполните
/etc/init.d/nfslock start и
chkconfig nfslock on.
Это необходимо для дистрибутивов TurboLinux и SuSe 8.1.


Настройка TestTool

Выберите Extra → Settings → Profile.

Testtool-option-profile.jpg
1. Profile: Введите название вашего профиля.
2. Log base directory: Введите путь, куда будут сохраняться результаты тестов.
Например:
Documentation linux.png /opt/qa/qatesttool/errorlog/mymachine


или

Documentation windows.png d:\qa\qatesttool\errorlog\mymachine


3. Base directory: Введите полный путь к Окружению TestTool (БЕЗ завершающего слэша!).
Например:
Documentation linux.png /opt/qa/qatesttool


или

Documentation windows.png d:\qa\qatesttool


4. Default HID directory: Отметьте данный флажок.


При необходимости можно изменить эти настройки в соответствующем конфигурационном файле

Documentation linux.png .testtoolrc


Documentation windows.png testtool.ini



CurrentProfile=_profile_Default
(...)
[_profile_Default]
LogBaseDir=/opt/qa/qatesttool/errorlog/mymachine
BaseDir=/opt/qa/qatesttool
HIDDir=/opt/qa/qatesttool/global/hid

Автоматизированные креш-отчёты

Выберите меню Extra → Settings → Crashreport.


Testtool-option-crashreport.jpg
1. Use Proxy Выберите, если доступ в интернет осуществляется через прокси.
2. Host Адрес прокси. Например:
proxy.somewhere.de
3. Port Введите номер порта прокси. Например:
8080
4. Allow Contact Отметьте этот флажок, если вы разрешите отправлять вам письма касательно ваших креш-отчётов.
5. Email Адрес вашей электропочты. Например:
you@somewhere.de


В последствии можно отредактировать все эти параметры в конфигурационных файлах

Documentation linux.png .testtoolrc


Documentation windows.png testtool.ini



[Crashreporter]
UseProxy=true
ProxyServer=proxy.somewhere.de
ProxyPort=8080
AllowContact=true
ReturnAddress=you@somewhere.de

Выбор установки OpenOffice.org

Есть два варианта:

Выберите меню Extra → Settings → Misc.

Testtool-option-misc.jpg
1. OOo Program Dir Выберите установку OpenOffice.org, предназначенного для тестирования. Например:
/Volumes/OpenOffice.org 2.0.app/Contents/MacOS


В последствии можно отредактировать все эти параметры в конфигурационных файлах

Documentation linux.png .testtoolrc


Documentation windows.png testtool.ini


[OOoProgramDir]
Type=Path
Current=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS
All=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS

Редактор TestTool

TestTool использует подсветку синтаксиса для всего BASIC, StarBasic, и внутренних комманд TestTool. Подробная информация описана в разделе Внутренние команды, методы и функции TestTool [en]. Подсветка может увеличивать время загрузки больших файлов.

Запуск скрипта TestTool

Для запуска установленного OpenOffice.org используйте параметр для запуска TestTool из командной строки

-enableautomation

В среде TestTool запустится крипт с расширением *.bas. Для запуска скрипта загрузите *.bas-файл, и затем выполните этот скрипт через меню или комбинацию горячих клавиш.


Tt run.jpg
Клавиша Меню Описание Клавиша Меню Описание
[F5] Stert Запуск скрипта, создание нового или открытие старого файла результатов, и вставка результатов теста в файл результатов. [Shift]+[F5] Cancel Завершение выполнение скрипта
[F8] Single stepping Запуск пошагового выполнения скрипта. [Ctrl]+[F5] Interrupt Прерывание выполняемого сценария.
[F9] Set / Select a break point Создание точки останова (красный круг) в скрипте на синем бордюре с левой стороны. [Shift]+[F7] Previous Error Перейти к предыдущей ошибке в сценарии.
[F10] Single step over procedures Выполнение по одной подпрограмме скрипта за один раз. [Shift]+[F8] Next Error Перейти к следующей ошибке после синтаксической ошибки в скрипте.

Файл результатов

TestTool автоматически сохраняет результаты в файл результатов в течении всего времени выполнения тестов. Имя файлу результатов даётся по имени выполняемого файла сценария (*.bas-файла), результаты которого сохраняются; при этом файлу результатов даётся другое расширение: *.res.

Например: first.bas → first.res.

Для установки пути сохранения файла результатов, выберите меню Extra → Settings → Profile и введите путь в графу Log Base directory.

Если файл результатов уже есть, то файл будет открыт и новые результаты будут добавлены в начало файла.

Результаты представляются в виде иерархического дерева. Каждую ветвь дерева можно развернуть для просмотра её содержимого. Для этого нужно щёлкнуть по [+] в дереве. Чтобы свернуть ветвь, нужно щёлкнуть по [-].

Tt result.png

  • Первый этап - Чтение файлов. Разверните его, чтобы просмотреть список файлов. Если список окрашен в оранжевый цвет, значит файлы (*.win / *.sid) содержат ошибки. Сумма ошибок показывается в конце теста как предупреждения, произошедшие в ходе инициализации.
  • Следующий вывод содержит автоматически сгенерированное вступление Запуск процедуры. В нём отображается информация о версии TestTool, пути установки OpenOffice.org, а так же о запущенном приложении. Отображается локаль Офиса и системы.
  • Каждая запись, которой предшествует [+] является блоком тестов. Если блок тестов окрашен в цвет отличный от чёрного, значит этот тест содержит ошибки.
  • Оранжевый блок тестов указывает на одно или больше предупреждений. Чтобы увидеть, где произошла ошибка, раскройте секцию и изучите лог предупреждений, который следует отправить разработчикам данного тестового скрипта. Чтобы перейти непосредственно к месту скрипта, где произошла ошибка, дважды щёлкните по этому предупреждению.
  • Светло-зелёный цвет блока обозначает QAErrorLog, вставленный разработчиками в данный раздел тестов, чтобы дать тестерам дополнительную информацию (например - о возникших ошибках и способах их обхода).
  • Светло-синий цвет блока обозначает утверждение о предоставлении дополнительной информации для тестирования и отладки сборки OpenOffice.org.
  • Красный блок показывает наличие одной или более ошибок. Раскрытие данной ветки дерева покажет подробную информацию о проблемах. В примере результирующего файла ошибка произошла, когда TestTool не нашёл слот, потому что в нём есть опечатка "ToosOptions" вместо "ToolsOptions".
  • Раскрывайте красную группу по щелчку на [+] напротив группы уровень за уровнем (главный - блок тестов... - подпрограмма... - ...) для просмотра всех ошибок. Вы так же можете увидеть, что TestTool получил в ответ от OpenOffice.org, так как TestTool может работать запускать следующие тестовые блоки без вывода окон и диалогов. Например:
    • the WORKINGWINDOW "Untitled2 - OpenOffice.org Writer" is closed (geschlossen = closed)
    • Explanation:
    • the working document is closed
    • The TestTool then started the next testcase at the base state of OpenOffice.org (that is, with one open document and no open dialog).
  • В конце теста выводятся номера ошибок и предупреждений.

Запуск сценария тестов из командной строки

Для запуска сценария тестирования из командной строки используйте следующий синтаксис:


testtool.exe [/port=xxx /host=xxx] startprogram /run [/result xxx] [/printlog]
/Port
Указывается com-порт на машине, выделяемый TestTool для связи с OpenOffice.org. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла
Documentation linux.png .testtoolrc


или

Documentation windows.png testtool.ini


/Host
Указывается имя хоста машины, на которой установлен тестируемый OpenOffice.org. Если OpenOffice.org находится на той же машине, что и TestTool, введите localhost. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла
Documentation linux.png .testtoolrc


или

Documentation windows.png testtool.ini


но только в случае использования localhost!
Startprogram
Указания файла-сценариев *.bas, который необходимо запустить на выполнение.
/run
Запуск сценариев тестирования и запись результатов в результирующий файл, и выход из TestTool по окончании тестов.
/result
Ограничивает количество тестов до Х исключая уже выполненные. Данные о выполненных тестах будут взяты из файла результатов.
/printlog
Documentation linux.png Писать данные, записанные в журналы, в стандартный вывод
***** UNIX only ! *****


Например: testtool.exe /port=12481 /host=localhost /opt/qatesttool/writer/update/w_update.bas /run
TestTool запускает сценарий w_update.bas на локальной машине через порт 12481, и завершает TestTool по окончании тестов.

Пакетное выполнение сценариев тестирования

Примеры для Win32 и Unix приведены в статье http://hg.services.openoffice.org/DEV300/file/1467f46f8817/testautomation/tools/run_tests.

Тестирование Non-Product-сборки

Non-Product Version / Non-Product Build - версия не для распространения, содержащая дополнительный отладочный код.
Предназначена для технических специалистов, отличается большим размером и низкой производительностью.
  • Определите файл, где вам необходимо хранить переменные отладки для OpenOffice.org, включив соответствующую секцию в win.ini-файле. (Если вы не имеете доступа к этому файлу, вы можете использовать переменные окружения.):
 [SV]
 dbgsv=c:\dbgsv.ini
 dbgsvlog=c:\dbgsv.log 
  • На платформе Linux/Unix/Win32 вы можете установить и сохранить переменные окружения:
 DBGSV_INIT=/some/path/dbgsv.ini
 DBGSV_LOG=/some/path/dbgsv.log
  • В OpenOffice.org, нажмите [Shift]+[Ctrl]+[Alt]+[D], и выберите TestTool в списке Error .
  • В TestTool, соответствующая индикация будет светло-голубой. Чтобы вручную воспроизвести утверждение, выберите в списке Error .

Окружение TestTool

Окружение TestTool позволяет запускать сценарии, содержит скрипты тестов, и библиотеки (включённых файлов), с помощью которых проводится автоматическое тестирование OpenOffice.org. Окружение TestTool имеет отдельные модули для каждого приложения или области, которую вам необходимо протестировать в OpenOffice.org. Для проверки приложения OpenOffice.org, такого какWriter, потребуется только application module и модуль global.

Имя модуля / Путь Описание

Модули приложений

dbaccess База данных / Источник Данных, работающие в OpenOffice.org
spreadsheet Calc (Электронная таблица)
chart2 Диаграммы электронных таблиц
graphics Impress (приложение для создания презентаций) и Draw (графический редактор)
math Math (редактор формул)
extensions Работа с расширениями
writer Writer (текстовый процессор, редактор HTML-документов и составных документов)
xml Поддержка формата XML-файлов для всего OpenOffice.org

Общие модули

framework Общая функциональность для всех приложений (например - галерей и расширений)
global Все общие процедуры (например - запуск, инструменты, объявление файлов)
tools Полезные автономные приложения (hid.lst perl script)


Следующие подкатегории определены для модулей в окружении TestTool:

Имя модуля / Путь Описание
required Тест ресурсов: Активирует все пункты меню и открывает все диалоги в проверяемом приложении.
optional Выполняет функции общего назначения для каждой функции в тестируемом приложении, в том числе по каждому пункту меню.
tools Подключает библиотеки, которые содержат общие подпрограммы, необходимые для всех сценариев тестирования в модулях или приложениях.

Эти предопределённые имена так же могут находиться в других подкатегориях пути. Чаще всего имя директории является зеркальным отражением имени тестируемой области.

Если вы нашли *.bas-файл в одной из директорий, значит вы находитесь в модуле тестирования. То есть, модуль должен вклчать следующие каталоги / файлы:


Имя модуля / Путь Описание
*.bas Содержит выполняемые сценарии тестирования. Для запуска данного скрипта, откройте *.bas-файл в TestTool, и нажмите [F5] или выберите в меню Program → Start.
inc Содержит библиоткеи и любые ассоциированные файлы, требуемые при тестировании (включены в use-метод в *.bas-файле).
input Файл данных, требуемых при тестировании.
tools Включает библиотеки, содержащие общие подпрограммы, используемые в сценариях тестирования (*.bas). Эти библиотеки должны быть в том же каталоге, что и скрипт теста.

Общие модули

Параметр global-directory требуется для каждого теста. Этот каталог содержит главные процедуры для выполняемых сценариев тестирования, включённых в файл hid.lst, являющегося декларацией, определяющей пункты меню, диалоги, элементы управления OpenOffice.org, а так же общие процедурные инструменты.


Имя каталога Описание
hid Содержит файл hid.lst.
input Содержит общие файлы, требующиеся TestTool.
  • переводит office language dependent умолчальный фильтр имён каждого приложения (filters-каталог)
  • переводит office language dependent имена OLE-объектов (olenames-каталог)
  • фильтры для каждого графического формата, который может прочесть OpenOffice.org (graf_inp-каталог)
sid Включает в себя все декларации SlotID.
system Содержит процедуры для запуска сценариев тестирования в inc-файлах.
tools Содержит общие процедуры в inc-файлах (Например: declare.bas).
update Содержит общие ресурсы для тестов в файлах (опции диалогов и мастеров)
win Содержит все декларации HelpID.

Конфигурирование файла настроек

Конфигурационный файл TestTool

Documentation linux.png .testtoolrc


Documentation windows.png testtool.ini


содержит несколько секций.

Имена секций заключены в квадратные скобки [...].

Каждая секция содержит несколько записей на подобии:

EntryName=Value

Платформа GUI

Current= зависит от платформы.


UNIX Win32
Подсистема Значение Подсистема Значение
Solaris SPARC 01 Win 95 100
SCO UNIX 02 Win 98 395
Linux 03 Win NT 3 351
AIX 04 Win NT 4 400
Solaris x86 05 Win SE 410
Irix 06 Win ME 490
HP 07 Win 2000 500
FreeBSD 08 Win XP 501
Mac OS X 12 Win Server 2003 502
Linux PPC 13
NetBSD 14
Linux 64 bit 15
Linux SPARC 16
eComStation 17


Template:RU/documentation/signtransyear

Template:QaBottom