AUTOMATED TESTING IN STORE PROJECT
by Alexander Hayorov <[email protected]>
Shipping Better Software Faster
AGENDA• Continuous integration инфраструктура
• Непрерывная сборка
• Выкладка артефактов
• О тестировании в целом
• Тестирование стабильности
• Автоматизация регрессионного тестирования
• Немного статистики
ОСНОВЫ CONTINUOUS INTEGRATIONСерверная инфраструктура и экосистема CI
Dedicated hardware server with KVM virtualization
Jenkins (CI) ci.myplaycity.com Builder server Deploy server
Artifacts storage (builds, reports)
CVS (Bitbucket)
НЕПРЕРВЫВНАЯ СБОРКА“Debug” сборка master по commit
НЕПРЕРВЫВНАЯ СБОРКАСборка из веток
ВЫКЛАДКА АРТЕФАКТОВ • на testflight сервис*
* с 21 марта 2014 сервис не предоставляется для android :(
используется для установки на устройства при ручном тестировании
ВЫКЛАДКА АРТЕФАКТОВ • на собственное хранилищеиспользуется в автоматизированном тестировании, также можно использовать для ручной установки
О ТЕСТИРОВАНИИ В ЦЕЛОМНепрерывное приемочное тестирование - проверка соответвии требованиям (описанию) - формализация тест-кейсов
Пред-релизный цикл тестирования:- кумулятивное тестирование новых функциональностей релиза (актуализация регрессионных тестов)
- короткий цикл регрессионного тестирования с высокой частотой повторения
АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯДополнительный этап - тестирование стабильности
Monkey test (aka. Mark Testing) !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 минут приложение в руках обезьяны
АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯОбнаруживает критические ошибки в приложении
* приложение вынужденно завершилось, причина - ошибка при обращении к БД при условии 100% занятой карты памяти
АВТОМАТИЗАЦИЯ РЕГРЕССИИСценарии тестов на основе тест кейсов ручной регрессии
Шаги составляют тест, тесты объеденены в сьюты (наборы)
Проект тестов повторяет жизненный цикл продукта
АВТОМАТИЗАЦИЯ РЕГРЕССИИТесты написаны на python
Запускаются с Jenkins для любого билда и эталонного устройства
Можно смотреть за ходом тестирования на устройстве по VNC
* пароль при подключении к экрану 1q2w3e
!Демо видео http://youtu.be/RRCRDr0oZbc
АВТОМАТИЗАЦИЯ РЕГРЕССИИНаглядные отчеты на AngularJS прямо в Jenkins
Демо: http://ci.myplaycity.com:8080/job/store-acceptance-tests/18/allure/?#/home/de455213-a04a-4768-916a-35d663c33650/98fe1439-79fc-4b98-9cae-92e97f6b4c9e
НЕМНОГО СТАТИСТИКИ
Автоматизировано 21 ручной тест-кейс
Покрытие кода 64%*
* по критерию покрытия вход/выход
Покрытие экранов 66% (46)
Время прогона 14 минут
СПАСИБО
Top Related