SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Эффективная архитектура
Мобильной Автоматизации
для проектов разной степени
сложности
(на примере Java + Robotium)
Android приложения
Типы Android приложений:


нативные;



веб-приложения (HTML5);



гибридные.

Компонеты Android приложений:


Activities;



Services;



Broadcast receivers;



Content providers;
Тестируемое Android
Приложение
Гибридное Android приложение,
написаное с помощью:


PhoneGap



Sencha ExtJS
Robotium - тестовый фреймворк c открытым
исходным кодом для написания автоматических
функциональных тестов Android приложений.
Преимущества Robotium:


мощные тесты, с минимальными знаниями тестируемого приложения;



aвтоматически работает с несколькими Android Activities;



быстрое выполнение тестов;



интегрируется с Maven или Ant для выполнения тестов как часть
непрерывной интеграции.

Разработчики же Robotium библиотеки говорят "Этот как
Selenium, только для Android"
Тест кейсы:
Всплывающее сообщение появляется, если даты не заполнены.
№

Действие

Ожидаемый результат

1

Нажать кнопку GO

Откроется Set Up окошко приложения

2

Нажать кнопку Next

Появится всплывающее окошко с
сообщением: "Please enter a valid due
date and birth date to continue".

3

Нажать кнопку ОК на
всплывающем окне

Откроется Set Up окошко приложения

Добавленное сообщение отображается в Hot List.
№

Действие

Ожидаемый результат

1

Нажать кнопку Hot List

Откроется Hot List окошко приложения

2

Нажать кнопку Add new
Hot List Item кнопку

Появится текствое поле и две кнопки
Close и Done

3

Ввести текст в текствое
поле

4

Нажать кнопку Done

Новая запись добавилась в Hot List
Robotium тесты без архитектуры
Всплывающее сообщение появляется, если даты не заполнены.

Добавленное сообщение отображается в Hot List.
Robotium Тесты с паттернами Page
Object and UI Control
Всплывающее сообщение появляется, если даты не заполнены.

Добавленное сообщение отображается в Hot List.
Robotium Тесты с паттернами Page
Object, UI Control, Navigator и Fluent
Interface
Всплывающее сообщение появляется, если даты не заполнены.

Добавленное сообщение отображается в Hot List.
Архитектурные решения для
тестирования Android приложений
1. Architecture for small size applications
Base class for all tests
UI Control Design Pattern for Automation
PageObject Design Pattern for Automation (dynamic, not static)
2. Architecture for medium size applications
Flow Design Pattern for Automation (Page Object and Flow are two separate
entities)
Develop specific internal Java based DSL (Domain Specific Language), the
simplest one for now
3. Architecture for huge applications
Sophisticated Navigator Design Pattern for Automation
Page Objects meta info based code-generation
Flows stubs meta info based code-generation
Full internal Java based DSL
4. Fully integrated environment approach
Custom integration with Test Management Systems
Custom integration Continues Integration Systems
Custom TestRunner
Custom summarized reports
UI Control
Базовый класс для всех простых контролов (текстовых полей,
кнопок и т.д.):

Класс текстового поля:

Класс сложного контрола:
Page Object
Базовый класс для всех окошек Anroid приложения:

Page Object класс Hot List окна приложения:
Navigator
Пример Navigator класса, реализованного на Java для Robotium
автоматических тестов:
Fluent Interface (Flow)
Базовый класс для всех
Flow классов:

Flow класс для Hot List
окна приложения:
Кодогенерация
Кодогенерация — это процесс генерации кода на
основе определенных данных.
Подходы к генерации кода:


генерация кода на основе более высокоуровневого;



генерация на основе метаданных;



кодогенерация на основе шаблонов.
Инструменты для кодогенерации:
JET
BLU AGE
Atom Weaver
CGLib
JavaGen
Архитектурные решения для
тестирования Android приложений
1. Architecture for small size applications
Base class for all tests
UI Control Design Pattern for Automation
PageObject Design Pattern for Automation (dynamic, not static)
2. Architecture for medium size applications
Flow Design Pattern for Automation (Page Object and Flow are two separate
entities)
Develop specific internal Java based DSL (Domain Specific Language), the
simplest one for now
3. Architecture for huge applications
Sophisticated Navigator Design Pattern for Automation
Page Objects meta info based code-generation
Flows stubs meta info based code-generation
Full internal Java based DSL
4. Fully integrated environment approach
Custom integration with Test Management Systems
Custom integration Continues Integration Systems
Custom TestRunner
Custom summarized reports
Эффективная архитектура мобильной автоматизации

Weitere ähnliche Inhalte

Was ist angesagt?

Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюSQALab
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеSQALab
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Александр Шамрай
 
презетация Visual basic
презетация Visual basicпрезетация Visual basic
презетация Visual basickseniya_kristina
 
Интеграция Microsoft TFS в корпоративную среду
Интеграция Microsoft TFS в корпоративную средуИнтеграция Microsoft TFS в корпоративную среду
Интеграция Microsoft TFS в корпоративную средуАлександр Шамрай
 
Appium для народа
Appium для народаAppium для народа
Appium для народаSQALab
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?sqadays8
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIautomated-testing.info
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийAlexander Byndyu
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийSQALab
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIMoscowJS
 
Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008Александр Шамрай
 
Blitz Smart Card Plugin
Blitz Smart Card PluginBlitz Smart Card Plugin
Blitz Smart Card PluginMikhail Vanin
 
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest
 
Особенности тестирования веб приложение
Особенности тестирования веб приложениеОсобенности тестирования веб приложение
Особенности тестирования веб приложениеDressTester
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsAndrew Mayorov
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsCodeFest
 

Was ist angesagt? (18)

Bugs
BugsBugs
Bugs
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решениюАвтоматизация тестирования iOS приложений: от идеи к готовому решению
Автоматизация тестирования iOS приложений: от идеи к готовому решению
 
Поиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложениеПоиск багов при тестировании переходов с веба в мобильное приложение
Поиск багов при тестировании переходов с веба в мобильное приложение
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 
презетация Visual basic
презетация Visual basicпрезетация Visual basic
презетация Visual basic
 
Интеграция Microsoft TFS в корпоративную среду
Интеграция Microsoft TFS в корпоративную средуИнтеграция Microsoft TFS в корпоративную среду
Интеграция Microsoft TFS в корпоративную среду
 
Appium для народа
Appium для народаAppium для народа
Appium для народа
 
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
Алексей Баранцев -- Какое дело тестировщикам до исходного кода?
 
Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UI
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложений
 
Подходы к тестированию андроид приложений
Подходы к тестированию андроид приложенийПодходы к тестированию андроид приложений
Подходы к тестированию андроид приложений
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008Управление качеством проекта разработки ПО в TFS 2008
Управление качеством проекта разработки ПО в TFS 2008
 
Blitz Smart Card Plugin
Blitz Smart Card PluginBlitz Smart Card Plugin
Blitz Smart Card Plugin
 
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
 
Особенности тестирования веб приложение
Особенности тестирования веб приложениеОсобенности тестирования веб приложение
Особенности тестирования веб приложение
 
Victor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platformsVictor Kuzmin - How to organize service development for several mobile platforms
Victor Kuzmin - How to organize service development for several mobile platforms
 
Мониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application InsightsМониторинг приложений ASP.NET на основе сервиса Application Insights
Мониторинг приложений ASP.NET на основе сервиса Application Insights
 

Ähnlich wie Эффективная архитектура мобильной автоматизации

Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...QA Club Minsk
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGDataArt
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...QA Club Minsk
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...solit
 
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникСоздаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникSigma Software
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...it-people
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...COMAQA.BY
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on AppiumAnton Sirota
 
Автоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложенийАвтоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложенийТранслируем.бел
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...SQALab
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancevAlexei Lupan
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5DevDay
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NETMedia Gorod
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserAndrew Mayorov
 

Ähnlich wie Эффективная архитектура мобильной автоматизации (20)

Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
Эльдар Гусейнов "Эффективная архитектура мобильной автоматизации для проектов...
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад ПлотникСоздаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
Создаем масштабируемое корпоративное JavaScript-приложение, Влад Плотник
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
DUMP-2012 - Мобильные технологии - "Как мы выстраиваем разработку сервиса под...
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Mobile Automation based on Appium
Mobile Automation based on AppiumMobile Automation based on Appium
Mobile Automation based on Appium
 
Автоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложенийАвтоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложений
 
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Sqadays 8-barancev
Sqadays 8-barancevSqadays 8-barancev
Sqadays 8-barancev
 
Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5Разработка мобильных приложений на HTML5
Разработка мобильных приложений на HTML5
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
Microsoft и облако Azure для разработчиков на Android – сервисы для бэкенда, ...
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
Roman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. BrowserRoman Zdebskiy - Client vs. Browser
Roman Zdebskiy - Client vs. Browser
 

Mehr von ISsoft

Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестированииISsoft
 
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...ISsoft
 
Testing of mobile apps
Testing of mobile appsTesting of mobile apps
Testing of mobile appsISsoft
 
Testing, qa, qc. what the difference
Testing, qa, qc. what the differenceTesting, qa, qc. what the difference
Testing, qa, qc. what the differenceISsoft
 
Ranorex presentation
Ranorex presentationRanorex presentation
Ranorex presentationISsoft
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеISsoft
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийISsoft
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требованийISsoft
 
Sql practise for beginners
Sql practise for beginnersSql practise for beginners
Sql practise for beginnersISsoft
 
Отдел юзабилити
Отдел юзабилитиОтдел юзабилити
Отдел юзабилитиISsoft
 
ToDoList
ToDoListToDoList
ToDoListISsoft
 
Prototype presentation
Prototype presentationPrototype presentation
Prototype presentationISsoft
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baISsoft
 
решение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистоврешение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистовISsoft
 
Development of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesDevelopment of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesISsoft
 
Bdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеBdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеISsoft
 
инфотекс автоматизация тестирования
инфотекс   автоматизация тестированияинфотекс   автоматизация тестирования
инфотекс автоматизация тестированияISsoft
 
Sikuli script
Sikuli scriptSikuli script
Sikuli scriptISsoft
 
Планирование тестирования - релизные планы
Планирование тестирования - релизные планыПланирование тестирования - релизные планы
Планирование тестирования - релизные планыISsoft
 

Mehr von ISsoft (20)

Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестировании
 
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
введение в практическую разработку по в Is soft 4-1 and 4-2 clients and commu...
 
Testing of mobile apps
Testing of mobile appsTesting of mobile apps
Testing of mobile apps
 
Testing, qa, qc. what the difference
Testing, qa, qc. what the differenceTesting, qa, qc. what the difference
Testing, qa, qc. what the difference
 
Ranorex presentation
Ranorex presentationRanorex presentation
Ranorex presentation
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проекте
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Тестирование требований
Тестирование требованийТестирование требований
Тестирование требований
 
Sql practise for beginners
Sql practise for beginnersSql practise for beginners
Sql practise for beginners
 
Отдел юзабилити
Отдел юзабилитиОтдел юзабилити
Отдел юзабилити
 
ToDoList
ToDoListToDoList
ToDoList
 
ISTQB
ISTQBISTQB
ISTQB
 
Prototype presentation
Prototype presentationPrototype presentation
Prototype presentation
 
решение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте baрешение основной проблемы Agile (scrum) проектов в контексте ba
решение основной проблемы Agile (scrum) проектов в контексте ba
 
решение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистоврешение одной из ключевых проблем компетенции Ba специалистов
решение одной из ключевых проблем компетенции Ba специалистов
 
Development of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesDevelopment of automated tests for ext js based web sites
Development of automated tests for ext js based web sites
 
Bdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проектеBdd or dsl как способ построения коммуникации на проекте
Bdd or dsl как способ построения коммуникации на проекте
 
инфотекс автоматизация тестирования
инфотекс   автоматизация тестированияинфотекс   автоматизация тестирования
инфотекс автоматизация тестирования
 
Sikuli script
Sikuli scriptSikuli script
Sikuli script
 
Планирование тестирования - релизные планы
Планирование тестирования - релизные планыПланирование тестирования - релизные планы
Планирование тестирования - релизные планы
 

Эффективная архитектура мобильной автоматизации

  • 1. Эффективная архитектура Мобильной Автоматизации для проектов разной степени сложности (на примере Java + Robotium)
  • 2. Android приложения Типы Android приложений:  нативные;  веб-приложения (HTML5);  гибридные. Компонеты Android приложений:  Activities;  Services;  Broadcast receivers;  Content providers;
  • 3. Тестируемое Android Приложение Гибридное Android приложение, написаное с помощью:  PhoneGap  Sencha ExtJS
  • 4. Robotium - тестовый фреймворк c открытым исходным кодом для написания автоматических функциональных тестов Android приложений. Преимущества Robotium:  мощные тесты, с минимальными знаниями тестируемого приложения;  aвтоматически работает с несколькими Android Activities;  быстрое выполнение тестов;  интегрируется с Maven или Ant для выполнения тестов как часть непрерывной интеграции. Разработчики же Robotium библиотеки говорят "Этот как Selenium, только для Android"
  • 5. Тест кейсы: Всплывающее сообщение появляется, если даты не заполнены. № Действие Ожидаемый результат 1 Нажать кнопку GO Откроется Set Up окошко приложения 2 Нажать кнопку Next Появится всплывающее окошко с сообщением: "Please enter a valid due date and birth date to continue". 3 Нажать кнопку ОК на всплывающем окне Откроется Set Up окошко приложения Добавленное сообщение отображается в Hot List. № Действие Ожидаемый результат 1 Нажать кнопку Hot List Откроется Hot List окошко приложения 2 Нажать кнопку Add new Hot List Item кнопку Появится текствое поле и две кнопки Close и Done 3 Ввести текст в текствое поле 4 Нажать кнопку Done Новая запись добавилась в Hot List
  • 6. Robotium тесты без архитектуры Всплывающее сообщение появляется, если даты не заполнены. Добавленное сообщение отображается в Hot List.
  • 7. Robotium Тесты с паттернами Page Object and UI Control Всплывающее сообщение появляется, если даты не заполнены. Добавленное сообщение отображается в Hot List.
  • 8. Robotium Тесты с паттернами Page Object, UI Control, Navigator и Fluent Interface Всплывающее сообщение появляется, если даты не заполнены. Добавленное сообщение отображается в Hot List.
  • 9. Архитектурные решения для тестирования Android приложений 1. Architecture for small size applications Base class for all tests UI Control Design Pattern for Automation PageObject Design Pattern for Automation (dynamic, not static) 2. Architecture for medium size applications Flow Design Pattern for Automation (Page Object and Flow are two separate entities) Develop specific internal Java based DSL (Domain Specific Language), the simplest one for now 3. Architecture for huge applications Sophisticated Navigator Design Pattern for Automation Page Objects meta info based code-generation Flows stubs meta info based code-generation Full internal Java based DSL 4. Fully integrated environment approach Custom integration with Test Management Systems Custom integration Continues Integration Systems Custom TestRunner Custom summarized reports
  • 10. UI Control Базовый класс для всех простых контролов (текстовых полей, кнопок и т.д.): Класс текстового поля: Класс сложного контрола:
  • 11. Page Object Базовый класс для всех окошек Anroid приложения: Page Object класс Hot List окна приложения:
  • 12. Navigator Пример Navigator класса, реализованного на Java для Robotium автоматических тестов:
  • 13. Fluent Interface (Flow) Базовый класс для всех Flow классов: Flow класс для Hot List окна приложения:
  • 14. Кодогенерация Кодогенерация — это процесс генерации кода на основе определенных данных. Подходы к генерации кода:  генерация кода на основе более высокоуровневого;  генерация на основе метаданных;  кодогенерация на основе шаблонов. Инструменты для кодогенерации: JET BLU AGE Atom Weaver CGLib JavaGen
  • 15. Архитектурные решения для тестирования Android приложений 1. Architecture for small size applications Base class for all tests UI Control Design Pattern for Automation PageObject Design Pattern for Automation (dynamic, not static) 2. Architecture for medium size applications Flow Design Pattern for Automation (Page Object and Flow are two separate entities) Develop specific internal Java based DSL (Domain Specific Language), the simplest one for now 3. Architecture for huge applications Sophisticated Navigator Design Pattern for Automation Page Objects meta info based code-generation Flows stubs meta info based code-generation Full internal Java based DSL 4. Fully integrated environment approach Custom integration with Test Management Systems Custom integration Continues Integration Systems Custom TestRunner Custom summarized reports