'

Автоматизация тестирования для Android

Понравилась презентация – покажи это...





Слайд 0

Автоматизация тестирования для Android Проект Testbot


Слайд 1

Концепция подхода Применение Архитектура 2


Слайд 2

Концепция подхода 3


Слайд 3

4


Слайд 4

5 Проблемы


Слайд 5

6 To sikuli or not to sikuli? 100 сценариев Изменились шрифты... Прошла неделя...


Слайд 6

7 Прямой порядок выполнения


Слайд 7

Независимость теста от отображения данных. Обработка непредвиденных ситуаций. 8 Главные задачи


Слайд 8

Event-ориентированная система 9


Слайд 9

10 Что такое Event-ориентированная система? Событие Реакция


Слайд 10

Взаимодействие между приложением и Testbot App 11


Слайд 11

Окрыть документ (курсор в первом параграфе). Перемещать курсор вправо, пока он не достигнет начала следующего параграфа. Нажать Backspace. Exp. result: параграфы объединились. Пример: тест, объединяющий параграфы в текстовом документе 12


Слайд 12

13


Слайд 13

File “For test.docx” is focused Testbot Press Enter 14 File “For test.docx” is focused Press Enter


Слайд 14

Pass Testbot 15 File “For test.docx” is focused Press Enter Document is opened Press Right Cursor is moved right in paragraph 0 Press Right Cursor is moved right in paragraph 0 Press Right Cursor is moved right in paragraph 1 Press Backspace Paragraphs are merged Pass Document opened Press Right Cursor is moved right in paragraph 0 Press Right Cursor is moved right in paragraph 0 Press Right Cursor is moved right in paragraph 1 Press Backspace Paragraphs are merged


Слайд 15

Плюшки 16


Слайд 16

Тестирование неограниченного количества документов Регрессионное тестирование рендеринга CIT Интересная работа 17


Слайд 17

18 Отчет


Слайд 18

Фиксированный набор специально-созданных и реальных документов Снимаем изображение -> картинки Проверяем картинки –> сохраняем как эталон Тестируем этот же набор на следующей сборке Автоматически сравниваем картинки с эталоном 19 Рендеринг


Слайд 19

20 Отчет


Слайд 20

Использование библиотеки OpenCV для поиска изображения на экране Использование в диалогах Зависимость от отображения 21 Просто добавь Sikuli?


Слайд 21

Автоматическая сборка на билд-сервере Нотификация тест-сервера через Jabber Объединение тестов в тест-сеты; ассоциация тест-сета и сборки E-mail нотификации по завершению теста 22 CIT


Слайд 22

23 Покрытие/Время


Слайд 23

Живой тест


Слайд 24

Testbot «изнутри» 25


Слайд 25

Приложение запущено в 3-х отдельных процессах Не смогли получить информацию о состоянии диалогов в 2-ом и 3-ем процессе Нет возможности следить за изменениями в документе 26 Проблемы Robotium


Слайд 26

27 Получение информации о состоянии приложения


Слайд 27

06:29:36.683 E Error:Resource 'arrowleft' not found in 'id‘ 06:29:36.685 E Error:Resource 'arrowright' not found in 'id‘ 06:29:36.793 W Retrieving the token without setting it first. 06:29:36.816 V TESTPOINT: filelist refreshed - ROOT [accounts:nwdeer@gmail.com,] 06:29:36.817 W Retrieving the token without setting it first. 06:29:36.819 E Error:Retrieving the consumer 06:29:36.902 V TESTPOINT: Account is armed in FileSystemList [name:null] [id:null] 06:33:55.052 E Error:Resource 'arrowleft' not found in 'id‘ 06:33:55.053 E Error:Resource 'arrowright' not found in 'id‘ 06:33:55.055 V TESTPOINT activity started; [path:/mnt/sdcard/!QP-Groups-MSO2003.ppt] 06:33:55.060 E Error:Can not load table_styles_default_xml 06:33:55.067 V TESTPOINT: Start loading presentation 06:33:55.279 D openDocument() new HSLFSlideShow finished in: 199 06:33:55.608 D openDocument() initHSLFAndroid finished in: 528 06:33:55.630 D openDocument() new SlideShow finished in: 550 06:33:56.696 D openDocument() SlideAdapters created finished in: 1616 06:33:56.707 I Document was parsed by POI in 1630 ms. 06:33:56.708 V TESTPOINT: End loading presentation 06:33:56.984 D PointImageUtil: Metafile loaded and cached: size: 1789x1531 06:33:57.022 D PointImageUtil: Metafile loaded and cached: size: 1963x1981 06:33:57.246 W Got unhandled activity result. requestCode=12 06:29:36.816 V TESTPOINT: filelist refreshed - ROOT [accounts:nwdeer@gmail.com,] 06:29:36.902 V TESTPOINT: Account is armed in FileSystemList [name:null] [id:null] 06:33:55.055 V TESTPOINT activity started; [path:/mnt/sdcard/!QP-Groups-MSO2003.ppt] 06:33:55.067 V TESTPOINT: Start loading presentation 06:33:56.708 V TESTPOINT: End loading presentation Обработка файла логирования приложения Строки для обработки 28


Слайд 28

Выполнение теста Document is opened Cursor is moved in paragraph 0 Cursor is moved in paragraph 1 Paragraphs are merged Лог 29 A: Document is opened: pressRight(); B: Cursor is moved: if (index == 0) pressRight(); else pressDelete() C: Paragraphs are merged : pass(); Document is opened pressRight() Cursor is moved in paragraph 0 pressRight() Cursor is moved in paragraph 1 pressDelete() Paragraphs are merged Pass();


Слайд 29

А если не сработает? Starting to open document … Лог 30 Starting to load document wait(120); Failed(“Could not load”) A: Starting to load onEvent(): setTimeOut(120) onTimeOut(): failed(“Could not load”);


Слайд 30

А если ошибка? Starting to open document Null pointer exception Лог 31 Starting to load document wait(120); recordStackTrace(); wait(30); Failed(“Could not load”) A: Starting to load onEvent(): setTimeOut(120) onTimeOut(): failed(“Could not load”); onError(): recordStackTrace()


Слайд 31

Пример кода теста 32


Слайд 32

Спасибо! Дмитрий Вильнер dmitry.vilner@quickoffice.com Олег Орлов oleg.orlov@quickoffice.com 33


×

HTML:





Ссылка: