1. AUTOMATEDTESTING
IN STORE PROJECT
by Alexander Hayorov
<i@hayorov.ru>
Shipping Better Software Faster
2. AGENDA
• Continuous integration инфраструктура
• Непрерывная сборка
• Выкладка артефактов
• О тестировании в целом
• Тестирование стабильности
• Автоматизация регрессионного тестирования
• Немного статистики
3. ОСНОВЫ CONTINUOUS INTEGRATION
Серверная инфраструктура и экосистема CI
Dedicated hardware server with KVM virtualization
Jenkins (CI)
ci.myplaycity.com
Builder server Deploy server
Artifacts storage
(builds, reports)
CVS
(Bitbucket)
6. ВЫКЛАДКА АРТЕФАКТОВ
• на testflight сервис*
* с 21 марта 2014 сервис не предоставляется для android :(
используется для установки на устройства при ручном тестировании
7. ВЫКЛАДКА АРТЕФАКТОВ
• на собственное хранилище
используется в автоматизированном тестировании, также можно
использовать для ручной установки
8. О ТЕСТИРОВАНИИ В ЦЕЛОМ
Непрерывное приемочное тестирование
- проверка соответвии требованиям (описанию)
- формализация тест-кейсов
Пред-релизный цикл тестирования:
- кумулятивное тестирование новых функциональностей
релиза (актуализация регрессионных тестов)
- короткий цикл регрессионного тестирования с высокой
частотой повторения
9. АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ
Дополнительный этап - тестирование стабильности
Monkey test (aka. MarkTesting)
!
4 эталонных устройства
! Имя Версия OC Аналог
etalon-10 2.3.3 Motorola Razr Max
etalon-15 4.0.3 Samsung Galaxy S2
etalon-17 4.2.2 Google Nexus One
etalon-18 4.3 Google Nexus 4
!
Демо видео http://www.youtube.com/watch?v=hvLo1_PwZjU
10 минут приложение в руках обезьяны
11. АВТОМАТИЗАЦИЯ РЕГРЕССИИ
Сценарии тестов на основе тест кейсов ручной регрессии
Шаги составляют тест, тесты объеденены в сьюты (наборы)
Проект тестов повторяет жизненный цикл продукта
12. АВТОМАТИЗАЦИЯ РЕГРЕССИИ
Тесты написаны на python
Запускаются с Jenkins для любого билда и эталонного устройства
Можно смотреть за ходом тестирования на устройстве поVNC
* пароль при подключении к экрану 1q2w3e
!
Демо видео http://youtu.be/RRCRDr0oZbc
13. АВТОМАТИЗАЦИЯ РЕГРЕССИИ
Наглядные отчеты на AngularJS прямо в Jenkins
Демо: http://ci.myplaycity.com:8080/job/store-acceptance-tests/18/allure/?#/home/de455213-
a04a-4768-916a-35d663c33650/98fe1439-79fc-4b98-9cae-92e97f6b4c9e
14. НЕМНОГО СТАТИСТИКИ
Автоматизировано 21 ручной тест-кейс
Покрытие кода 64%*
* по критерию покрытия вход/выход
Покрытие экранов 66% (46)
Время прогона 14 минут