Автоматизированное тестирование
   RIA с нуля на примере Flex
         Алексей Кабанов. EMC
2

                       План

•   RIA & Flex
•   Тестирование Flex
•   Выбор инструментов
•   Обзор разработанной системы
•   Подключение к ночному тестированию
•   Оценка результатов
3


          Rich Internet Applications
Rich Internet Applications (RIA) – веб-
приложения, обладающие характеристиками
настольных приложений и запускаемые
пользователем в браузере или на виртуальной
машине.
Технологии:
• AJAX
• Adobe Flex
• MS Silverlight
• JavaFX
4


                Adobe Flex

Flex – это родственная Flash технология,
основанная на описании интерфейса
приложения с помощью языка MXML.

Примеры:
• Buzzword (www.buzzword.com)
• FlauntR (www.flauntr.com)
• Toufee (www.toufee.com)
5


Пример Flex-приложения
6


             Тестирование Flex

Flex-приложения работают на многих ОС и
браузерах, поэтому требуется огромное
количество ресурсов для их тестирования на
всех возможных конфигурациях.

Как поступить, когда существующие
инструменты не удовлетворяют требованиям
тестирования?
7
       Автоматизация тестирования
                  Flex

Три основных способа автоматизации
тестирования Flex-приложений:
• Сравнение скриншотов
• Использование MSAA
• Через адаптер, основанный на Flex
  Automation API
8


              Безопасность Flex

• Flex не позволяет работать с элементами в
  другом домене, если это не разрешено в
  crossdomain.xml файле на удаленном хосте.

• Flex-приложение не может получить доступ к
  файловой системе, если это не разрешено в
  Adobe Flash Security Manager’е.
9

             Выбор инструментов

Встроенная поддержка Flex-приложений:
• QuickTestProfessional 9.2
• SilkTest
• TestComplete 5
• Selenium
• RubyFx
• ...
10


         Требования к тестированию

•   Сложное модульное приложение
•   Обилие расширенных компонентов
•   Тестирование на нескольких ОС и браузерах
•   Возможность включения тестов в систему
    ночного тестирования, написанную на Perl
11

Общая схема
12


            Специфика системы

• Кросс-платформенность
• Планирование запуска тестовых циклов
• Поддержка множества клиентов
• Логин с использованием корпоративной
  учетной записи
• Возможность ночного прогона тестов
13


Создание чекпоинта
14


Генерация движения мыши
15

             Результаты



Разработка и внедрение    ~ 2 ч/мес

Автоматизировано тестов     180

Стоимость                    ?
Q&A

Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере Flex

  • 1.
    Автоматизированное тестирование RIA с нуля на примере Flex Алексей Кабанов. EMC
  • 2.
    2 План • RIA & Flex • Тестирование Flex • Выбор инструментов • Обзор разработанной системы • Подключение к ночному тестированию • Оценка результатов
  • 3.
    3 Rich Internet Applications Rich Internet Applications (RIA) – веб- приложения, обладающие характеристиками настольных приложений и запускаемые пользователем в браузере или на виртуальной машине. Технологии: • AJAX • Adobe Flex • MS Silverlight • JavaFX
  • 4.
    4 Adobe Flex Flex – это родственная Flash технология, основанная на описании интерфейса приложения с помощью языка MXML. Примеры: • Buzzword (www.buzzword.com) • FlauntR (www.flauntr.com) • Toufee (www.toufee.com)
  • 5.
  • 6.
    6 Тестирование Flex Flex-приложения работают на многих ОС и браузерах, поэтому требуется огромное количество ресурсов для их тестирования на всех возможных конфигурациях. Как поступить, когда существующие инструменты не удовлетворяют требованиям тестирования?
  • 7.
    7 Автоматизация тестирования Flex Три основных способа автоматизации тестирования Flex-приложений: • Сравнение скриншотов • Использование MSAA • Через адаптер, основанный на Flex Automation API
  • 8.
    8 Безопасность Flex • Flex не позволяет работать с элементами в другом домене, если это не разрешено в crossdomain.xml файле на удаленном хосте. • Flex-приложение не может получить доступ к файловой системе, если это не разрешено в Adobe Flash Security Manager’е.
  • 9.
    9 Выбор инструментов Встроенная поддержка Flex-приложений: • QuickTestProfessional 9.2 • SilkTest • TestComplete 5 • Selenium • RubyFx • ...
  • 10.
    10 Требования к тестированию • Сложное модульное приложение • Обилие расширенных компонентов • Тестирование на нескольких ОС и браузерах • Возможность включения тестов в систему ночного тестирования, написанную на Perl
  • 11.
  • 12.
    12 Специфика системы • Кросс-платформенность • Планирование запуска тестовых циклов • Поддержка множества клиентов • Логин с использованием корпоративной учетной записи • Возможность ночного прогона тестов
  • 13.
  • 14.
  • 15.
    15 Результаты Разработка и внедрение ~ 2 ч/мес Автоматизировано тестов 180 Стоимость ?
  • 16.