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


The Presentation inside:

Slide 0

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


Slide 1

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


Slide 2

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


Slide 3

4


Slide 4

5 Проблемы


Slide 5

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


Slide 6

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


Slide 7

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


Slide 8

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


Slide 9

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


Slide 10

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


Slide 11

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


Slide 12

13


Slide 13

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


Slide 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


Slide 15

Плюшки 16


Slide 16

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


Slide 17

18 Отчет


Slide 18

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


Slide 19

20 Отчет


Slide 20

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


Slide 21

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


Slide 22

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


Slide 23

Живой тест


Slide 24

Testbot «изнутри» 25


Slide 25

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


Slide 26

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


Slide 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:[email protected],] 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:[email protected],] 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


Slide 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();


Slide 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”);


Slide 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()


Slide 31

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


Slide 32

Спасибо! Дмитрий Вильнер [email protected] Олег Орлов [email protected] 33


×

HTML:





Ссылка: