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

From Wiki
Jump to navigationJump to search
(переводим...)
(переводим...)
Line 377: Line 377:
 
|-
 
|-
 
| '''framework'''
 
| '''framework'''
| General functionality for all applications (for example, galleries and extras)
+
| Общая функциональность для всех приложений (например - галерей и расширений)
  
 
|-
 
|-
 
| '''global'''
 
| '''global'''
| All general routines (for example, startup, tooling, declaration files)
+
| Все общие процедуры (например - запуск, инструменты, объявление файлов)
  
 
|-
 
|-
 
| '''tools'''
 
| '''tools'''
| Useful standalone applications (hid.lst perl script)
+
| Полезные автономные приложения (hid.lst perl script)
  
 
|}
 
|}
The following subcategories are defined for the TestTool Environment modules:
+
 
 +
Следующие подкатегории определены для модулей в окружении TestTool:
  
  
Line 434: Line 435:
  
 
|}
 
|}
 +
 
== global-Module ==
 
== global-Module ==
 
The ''global-directory'' is required for each test. The directory contains the main routines for running a test script, including the ''hid.lst'', the declaration files that identify menu items, dialogs and controls in OpenOffice.org, and general tooling routines.
 
The ''global-directory'' is required for each test. The directory contains the main routines for running a test script, including the ''hid.lst'', the declaration files that identify menu items, dialogs and controls in OpenOffice.org, and general tooling routines.

Revision as of 15:26, 13 April 2010

Template:RU/documentation/beingedited 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

general modules

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

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


module name / path name Description
required Resource test: Activates all menu items and opens all dialogs of the tested application.
optional Performs a general functionality test for each feature in the tested application, including each menu item.
tools Includes libraries that contain the general subroutines that are required by all test scripts in the module or application.

These are only the defined name, you can also find other subcategories in the paths. Mostly the named of the directory mirror the tested area.

If you find a *.bas-file in one of these directories you are in a test-module. Those module should include the following directories/files:


module name / path name Description
*.bas Indicates executable test scripts. To run the script, open the *.bas file in TestTool, and then press F5 or choose Program - Start.
inc Includes the libraries and any associated files that are required for a test (included by use-method in the *.bas-file)
input Inputs the files that are required for the test.
tools Includes libraries that have general subroutines that are required by test scripts (*.bas). The libraries must be in the same directory as the test script.

global-Module

The global-directory is required for each test. The directory contains the main routines for running a test script, including the hid.lst, the declaration files that identify menu items, dialogs and controls in OpenOffice.org, and general tooling routines.


directory name description
hid Contains the hid.lst file.
input Contains common files that are required by the TestTool.
  • translated, office language dependent default filter names for each application (filters-directory)
  • translated, office language dependent OLE-object names (olenames-dir)
  • files for each graphic format that OpenOffice.org can read (graf_inp-dir)


sid Includes all SlotID declarations.
system Contains the routines to start a test script in these inc-files.
tools Contains general tooling routines in these inc-files (for example, declare.bas).
update Contains general resource-test routines in these files (options-dialog and autopilots)
win Contains all HelpID declarations.

Configuration file entries

The configuration file (UNIX: .testtoolrc, Win32: testtool.ini) contains several sections.The section name is surounded by '[', ']' and contains several entries like: EntryName=Value.

GUI Platform

Current= depends on the Platform.


UNIX Win32
Subsystem Current Subsystem Current
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/signyear

Template:QaВottom