SlideShare a Scribd company logo
Визначення автоматизованого
тестового покриття для
мобільних додатків: iOS та
Android
Київ 2016
Iana Kokriashkina
QA Team Lead
at
yana.thinkmobiles e-mail:
yana.gusti@gmail.com
Київ 2016
Що таке автоматизація?
використовуючи симулює
перед кожним
або
Київ 2016
Майбутнє належить автоматизації
36,5 %
37 %
Test Engineers or
Test Analysts
Test Leads or
Test Managers
Automation Test
Engineers
«STATE OF TESTING 2015/2016»
39 % 34
%
7,5 % 8
%
Київ 2016
Пошук рішення для тестового покриття
Київ 2016
Бібліотека для тестового покриття Android app
- проект Oleksandra Kucherenka, який називається Android
Test + Espresso + JaCoCo.
Київ 2016
Деякі зміни в коді
1. шлях до AndroidJacocoTestRunner в
build.gradle.
testInstrumentationRunner
"com.example.android.AndroidJacocoTestRunner"
Київ 2016
2. залежності espresso на robotium
androidTestCompile
'com.jayway.android.robotium:robotium-solo:5.4.1'
Приклад простенького коду для логіну
@SmallTest
public void testProfile() throws
Exception{
//check Logout or not
if
(solo.waitForView(R.id.search_button)) {
solo.clickOnText("Staff");
solo.scrollToBottom();
solo.clickOnText("Logout");
}
solo.typeText(0, "username");
solo.clickOnView(solo.getView(R.id.et
Password_ASM));
solo.typeText(1, "123456");
solo.clickOnText("LOG IN");
Assert.assertTrue(solo.searchText(“Profile
"));
}
Київ 2016
Результати автоматизованого UI тестування
Щоб отримати графічний результат, тести можуть бути
запущені двома способами:
from the command line:
from IDE and CLI:gradlew:
app:connectedAndroidTes
t
gradlew:
app:jacocoTestReport
Київ 2016
Результати у вигляді таблиці (файл “index.html”) знаходяться в
<Project name>appbuildreportscoveragedebug папці
Результати автоматизованого UI
тестування
Київ 2016
Інструменти для написання
автоматизованих тестів для iOS
Київ 2016
Налаштування проекту
Відкрити код додатку в
XCode
Відкрити загальні
налаштування білда
Включити “Instrument
Program Flow”
Включити “Generate Test
Coverage Files”
у “Info.plist” файлі додати
“Application does not run in
background”
Київ 2016
Запуск тестів в командному рядку
instruments
-t '/Applications/ Xcode.app/ Contents/
Applications /Instruments.app/
Contents/ PlugIns/
AutomationInstrument.xrplugin/
Contents/ Resources/
Automation.tracetemplate'
-w 'device name'
'/Users/PC name/Library /Developer/
Xcode/ DerivedData/ project name-
/Build/Products/Debug-
iphonesimulator/application name.app'
-e UIASCRIPT '/Users/PC
name/Documents/Main.js'
Київ 2016
Результати автоматизованого UI тестування
Відкрити
“Window/Projects”
вибрати поточний проект
натиснути на стрілку
вправо, розташовану
біля“Derived Data”
Київ 2016
Результати автоматизованого UI тестування
Перейти в розділ
“Build/Intermediates”
виберати поточну версію
збірки
відкрити “Object-normal”
формат і бітність системи
(х86 або х64).
Відкрити файли в папці з
розширенням ".gcda" за
допомогою Cover Story
Експортуйте в HTML-файл
(“File/Export to HTML”) та
відкрийте “index.html”
Київ 2016
CONCLUSIONS
Використання інструментів для обчислення покриття коду
автоматизованими тестами підвищує швидкість та ефективність
роботи QA інженерів. Замовник отримує зрозумілий формат
результатів, зникає необхідність тестеру вручну готувати
репорти. Обидві сторони задоволені :)
Київ 2016
yana.thinkmobiles
yana.gusti@gmail.com
Київ 2016

More Related Content

PPTX
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
PPTX
Як покращити Python web UI тести
PPTX
QA on a Large-Scale Medical Project. Automation as a Necessity
PPTX
Automation as a Way to Do Routine Work Quickly and Effortlessly
PPTX
Тестування Програмного Забезпечення на Практиці - Червень 2014
PPTX
Євгеній Пасєка, Володимир Ревак “Як протестувати медичний проект і не зашкоди...
PPTX
CoreCamp "Automated testing basics for developers"
PPTX
Automated testing
QA Fest 2016. Яна Кокряшкіна. Паралельний запуск автоматизованих тестів за до...
Як покращити Python web UI тести
QA on a Large-Scale Medical Project. Automation as a Necessity
Automation as a Way to Do Routine Work Quickly and Effortlessly
Тестування Програмного Забезпечення на Практиці - Червень 2014
Євгеній Пасєка, Володимир Ревак “Як протестувати медичний проект і не зашкоди...
CoreCamp "Automated testing basics for developers"
Automated testing

Viewers also liked (20)

PDF
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
PDF
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
PPTX
QA Fest 2016. Екатерина Шепелева. Секрет успеха: как стать и оставаться востр...
PPTX
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...
PPTX
QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...
PPTX
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
PDF
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
PPTX
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
PPTX
Безопасность мобильных приложений. Что тестировать?
PPTX
QA Fes 2016. Артем Быковец. Как выживать тестировщику в Agile среде
PDF
Mobile automation uamobile
PPTX
Qa Automation - отбрасываем лишнее и тестируем суть
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
PPTX
QA Fest 2016. Роман Горин. Введение в системы распознавания речи глазами тест...
PPTX
How QA engineers could affect quality?
PPTX
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
PPTX
Поиск багов при тестировании переходов с веба в мобильное приложение
PPTX
Лучшие тестировщики - наши пользователи
PPTX
XPath локаторы в Selenium WebDriver
PPTX
Тестирование мобильных API: Behind The Scenes
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QA Fest 2016. Екатерина Шепелева. Секрет успеха: как стать и оставаться востр...
QA Fes 2016. Анна Карпенко. Специфика тестирования мобильных приложений или к...
QA Fest 2016. Артем Быковец. Bug Report - таска для девелопера за соседним ст...
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Антон Серпутько. Автоматизация запуска тестов с помощью Jenkins...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Безопасность мобильных приложений. Что тестировать?
QA Fes 2016. Артем Быковец. Как выживать тестировщику в Agile среде
Mobile automation uamobile
Qa Automation - отбрасываем лишнее и тестируем суть
Типичные ошибки начинающих писать тесты на WebDriver
QA Fest 2016. Роман Горин. Введение в системы распознавания речи глазами тест...
How QA engineers could affect quality?
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
Поиск багов при тестировании переходов с веба в мобильное приложение
Лучшие тестировщики - наши пользователи
XPath локаторы в Selenium WebDriver
Тестирование мобильных API: Behind The Scenes
Ad

More from QAFest (20)

PDF
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
PPTX
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
PPTX
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
PDF
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
PDF
QA Fest 2019. Никита Галкин. Как зарабатывать больше
PDF
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
PDF
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
PPTX
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
PPTX
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
PDF
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
PPTX
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
PDF
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
PPTX
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
PDF
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
PDF
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
PDF
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
PPTX
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
PPTX
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
PDF
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
PPTX
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Сергій Короленко. Топ веб вразливостей за 40 хвилин
QA Fest 2019. Анна Чернышова. Self-healing test automation 2.0. The Future
QA Fest 2019. Doug Sillars. It's just too Slow: Testing Mobile application pe...
QA Fest 2019. Катерина Спринсян. Параллельное покрытие автотестами и другие и...
QA Fest 2019. Никита Галкин. Как зарабатывать больше
QA Fest 2019. Сергей Пирогов. Why everything is spoiled
QA Fest 2019. Сергей Новик. Между мотивацией и выгоранием
QA Fest 2019. Владимир Никонов. Код Шредингера или зачем и как мы тестируем н...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
Ad

QA Fes 2016. Яна Кокряшкіна. Визначення автоматизованого тестового покриття для мобільних додатків: iOS та Android

  • 1. Визначення автоматизованого тестового покриття для мобільних додатків: iOS та Android Київ 2016
  • 2. Iana Kokriashkina QA Team Lead at yana.thinkmobiles e-mail: yana.gusti@gmail.com Київ 2016
  • 3. Що таке автоматизація? використовуючи симулює перед кожним або Київ 2016
  • 4. Майбутнє належить автоматизації 36,5 % 37 % Test Engineers or Test Analysts Test Leads or Test Managers Automation Test Engineers «STATE OF TESTING 2015/2016» 39 % 34 % 7,5 % 8 % Київ 2016
  • 5. Пошук рішення для тестового покриття Київ 2016
  • 6. Бібліотека для тестового покриття Android app - проект Oleksandra Kucherenka, який називається Android Test + Espresso + JaCoCo. Київ 2016
  • 7. Деякі зміни в коді 1. шлях до AndroidJacocoTestRunner в build.gradle. testInstrumentationRunner "com.example.android.AndroidJacocoTestRunner" Київ 2016 2. залежності espresso на robotium androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.4.1'
  • 8. Приклад простенького коду для логіну @SmallTest public void testProfile() throws Exception{ //check Logout or not if (solo.waitForView(R.id.search_button)) { solo.clickOnText("Staff"); solo.scrollToBottom(); solo.clickOnText("Logout"); } solo.typeText(0, "username"); solo.clickOnView(solo.getView(R.id.et Password_ASM)); solo.typeText(1, "123456"); solo.clickOnText("LOG IN"); Assert.assertTrue(solo.searchText(“Profile ")); } Київ 2016
  • 9. Результати автоматизованого UI тестування Щоб отримати графічний результат, тести можуть бути запущені двома способами: from the command line: from IDE and CLI:gradlew: app:connectedAndroidTes t gradlew: app:jacocoTestReport Київ 2016
  • 10. Результати у вигляді таблиці (файл “index.html”) знаходяться в <Project name>appbuildreportscoveragedebug папці Результати автоматизованого UI тестування Київ 2016
  • 12. Налаштування проекту Відкрити код додатку в XCode Відкрити загальні налаштування білда Включити “Instrument Program Flow” Включити “Generate Test Coverage Files” у “Info.plist” файлі додати “Application does not run in background” Київ 2016
  • 13. Запуск тестів в командному рядку instruments -t '/Applications/ Xcode.app/ Contents/ Applications /Instruments.app/ Contents/ PlugIns/ AutomationInstrument.xrplugin/ Contents/ Resources/ Automation.tracetemplate' -w 'device name' '/Users/PC name/Library /Developer/ Xcode/ DerivedData/ project name- /Build/Products/Debug- iphonesimulator/application name.app' -e UIASCRIPT '/Users/PC name/Documents/Main.js' Київ 2016
  • 14. Результати автоматизованого UI тестування Відкрити “Window/Projects” вибрати поточний проект натиснути на стрілку вправо, розташовану біля“Derived Data” Київ 2016
  • 15. Результати автоматизованого UI тестування Перейти в розділ “Build/Intermediates” виберати поточну версію збірки відкрити “Object-normal” формат і бітність системи (х86 або х64). Відкрити файли в папці з розширенням ".gcda" за допомогою Cover Story Експортуйте в HTML-файл (“File/Export to HTML”) та відкрийте “index.html” Київ 2016
  • 16. CONCLUSIONS Використання інструментів для обчислення покриття коду автоматизованими тестами підвищує швидкість та ефективність роботи QA інженерів. Замовник отримує зрозумілий формат результатів, зникає необхідність тестеру вручну готувати репорти. Обидві сторони задоволені :) Київ 2016