Download - Автоматизация тестирования для Android 3
![Page 1: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/1.jpg)
Автоматизация тестирования для Android
Проект Testbot
![Page 2: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/2.jpg)
2
Концепция подхода
Применение
Архитектура
![Page 3: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/3.jpg)
3
Концепция подхода
![Page 4: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/4.jpg)
4
![Page 5: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/5.jpg)
5
Проблемы
![Page 6: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/6.jpg)
6
To sikuli or not to sikuli?
100 сценариевИзменились шрифты...Прошла неделя...
![Page 7: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/7.jpg)
7
Прямой порядок выполнения
![Page 8: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/8.jpg)
8
Независимость теста от отображения данных.
Обработка непредвиденных ситуаций.
Главные задачи
![Page 9: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/9.jpg)
9
Event-ориентированная
система
![Page 10: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/10.jpg)
10
Что такое Event-ориентированная система?
Событие
Реакция
![Page 11: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/11.jpg)
11
Взаимодействие между приложением и Testbot
App
Testbot
Even
ts
Информация пользовательского уровня
Фокусировка на файле
Файл открылся
Открылось контекстное меню
Анализ события
Анализ контекста
Actio
ns
Используемая память
Ошибки в приложении
Время
Служебная информация
![Page 12: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/12.jpg)
12
1. Окрыть документ (курсор в первом параграфе).
2. Перемещать курсор вправо, пока он не достигнет начала следующего параграфа.
3. Нажать Backspace.Exp. result: параграфы объединились.
Пример: тест, объединяющий параграфы в текстовом документе
![Page 13: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/13.jpg)
13
![Page 14: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/14.jpg)
14
Time Line
File “For test.docx” is focused
Testbot
Press Enter
File “For test.docx” is focused
Press Enter
![Page 15: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/15.jpg)
15
Pass
Time Line TestbotFile “For test.docx” is focused
Press EnterDocument is opened
Press RightCursor is moved right in paragraph 0
Press RightCursor is moved right in paragraph 0
Press RightCursor is moved right in paragraph 1
Press BackspaceParagraphs 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
![Page 16: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/16.jpg)
16
Плюшки
![Page 17: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/17.jpg)
Тестирование неограниченного количества документов
Регрессионное тестирование рендеринга
CIT
Интересная работа
17
![Page 18: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/18.jpg)
18
Отчет
![Page 19: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/19.jpg)
19
Фиксированный набор специально-созданных и реальных документов
Снимаем изображение -> картинки Проверяем картинки –> сохраняем как
эталон Тестируем этот же набор на следующей
сборке Автоматически сравниваем картинки с
эталоном
Рендеринг
![Page 20: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/20.jpg)
20
Отчет
![Page 21: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/21.jpg)
21
Использование библиотеки OpenCV для поиска изображения на экране
Использование в диалогах Зависимость от отображения
Просто добавь Sikuli?
![Page 22: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/22.jpg)
22
Автоматическая сборка на билд-сервере Нотификация тест-сервера через Jabber Объединение тестов в тест-сеты;
ассоциация тест-сета и сборки E-mail нотификации по завершению
теста
CIT
![Page 23: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/23.jpg)
23
Покрытие/Время
1 4 7 10 13 16 19 22 25 28 31 340
5
10
15
20
25
30
35
40
45
50
TestbotSikuli
![Page 24: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/24.jpg)
Живой тест
![Page 25: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/25.jpg)
25
Testbot «изнутри»
![Page 26: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/26.jpg)
26
Приложение запущено в 3-х отдельных процессах
Не смогли получить информацию о состоянии диалогов в 2-ом и 3-ем процессе
Нет возможности следить за изменениями в документе
Проблемы Robotium
![Page 27: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/27.jpg)
27
Testpoints
Файл логирования
Получение информации о состоянии приложения
Testbot
![Page 28: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/28.jpg)
28
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 consumer06: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_xml06:33:55.067 V TESTPOINT: Start loading presentation06:33:55.279 D openDocument() new HSLFSlideShow finished in: 19906:33:55.608 D openDocument() initHSLFAndroid finished in: 52806:33:55.630 D openDocument() new SlideShow finished in: 55006:33:56.696 D openDocument() SlideAdapters created finished in: 161606:33:56.707 I Document was parsed by POI in 1630 ms.06:33:56.708 V TESTPOINT: End loading presentation06:33:56.984 D PointImageUtil: Metafile loaded and cached: size: 1789x153106:33:57.022 D PointImageUtil: Metafile loaded and cached: size: 1963x198106: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 presentation06:33:56.708 V TESTPOINT: End loading presentation
Обработка файла логирования приложения
Строки для обработки
![Page 29: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/29.jpg)
29
Выполнение теста
1. Document is opened
2. Cursor is moved in paragraph 0
3. Cursor is moved in paragraph 1
4. Paragraphs are merged
Лог Time Line A: Document is opened:
pressRight();
B: Cursor is moved:
if (index == 0) pressRight();else pressDelete()
C: Paragraphs are merged :
pass();
Document is openedpressRight()
Cursor is moved in paragraph 0
pressRight()Cursor is moved in paragraph 1
pressDelete()Paragraphs are merged
Pass();
![Page 30: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/30.jpg)
30
А если не сработает?
1. Starting to open document
…
Лог Time Line
Starting to load document
wait(120);Failed(“Could not
load”)
A: Starting to load
onEvent(): setTimeOut(120)
onTimeOut(): failed(“Could not
load”);
![Page 31: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/31.jpg)
31
А если ошибка?
1. Starting to open document
2. Null pointer exception
Лог Time Line
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(
)
![Page 32: Автоматизация тестирования для Android 3](https://reader033.vdocuments.site/reader033/viewer/2022061301/54db5e7e4a7959b6618b475f/html5/thumbnails/32.jpg)
32
Пример кода теста