Непрерывн ое ин теграци онное  тестировани е мобильного  SDK
Алексей  Альтер - Песоцкий ≈ 1  год  в мир е  ру чног о  тес тир ова н ия  web ≈ 3  года   в мир е  авто мати зации  mob ile @alter_ al in/ap eso tskiy
— это библио тека  мо би льной  ан ал итик и,   ко торая: • по мо га ет  стро ить эфф ек тивные  ре кламные  кампании • ус та на вливает качес тво т рафи ка • оп ре деля ет  по льзовательски й retention • со би рает  си стем ные  со бытия • оп ре деля ет  аудитори ю  по льзователей по во зрасту/по лу/локации • ри су ет  кр асив ые  отче ты • iOS • Andro id • Unity
Сист емные  со быт ия instal l  /  up date la un ch  / sessi on pu rch ase log in,  reg ist rati on ,  le vel,  inv it e custom Инт егра ция Android Доб ав ляе тс я  ка к gradle - завис имост ь  или ja r - би бли оте ка iOS Доб ав ляе тс я  в вид е фреймворка Unity Доб ав ляе тс я  в вид е Unity   паке та
По чем у   мы  т ест иру ем  инт егра цию  нашей  библ иот ек и  в  ст оро нн их  при ло жен ия х? По то му  что   мо же м! Кто  есл и  не мы?
G o o g l e   P l a y   C L I java J e n k i n s   J o b   B u i l d e r python
App4_ Job App1_ Job App ium _Job App ium _Jo b App5_ Job App2_ Job App3_ Job App2_ Job App3_ Job App4_ Job App5_ Job App1_ Job
App4_ Job App1_ Job App ium _Job App ium _Jo b App5_ Job App2_ Job App3_ Job App2_ Job App3_ Job App4_ Job App5_ Job App1_ Job
//  и мя сб ор ки //  git ре позиторий //  пара мет ры на вх оде //  и сх одные пара мет ры сб ор ки //  ска ч и ва ние б и лд а из Ho ckey  App //  за пуск appium //  послес б ор оч ное вы ключе ние appium //  за пуск те ст ов
Изи   изи //  пара мет ры при лож ен и я N //  и мя Jenk i ns   Jo b  Bui l der   ша б лона //  пара мет ры при лож ен и я N +1 //  пара мет ры при лож ен и я N +2 //  пара мет ры при лож ен и я N +3 //  пара мет ры при лож ен и я N +4 //  пара мет ры при лож ен и я N +5 //  пара мет ры при лож ен и я N +6 //  пара мет ры при лож ен и я N +7 //  пара мет ры при лож ен и я N +8 //  п ар аметр ы п ри лож ения N +9
Тести руемые  пл атфор мы • iOS • An dr oid Ма сштаб • > 7 0  при лож ен ий • ≈ + 1 п риложен ие  в  месяц Ск ачиван ие  ново го билда • cur l • gp - do w nloa d Тесты • Ap piu m :: Java Отчет • Slac k • Jenk ins:: A ll ure Время п ро хо жде ни я  одно й  сборки • 5  - 10   мину т
• Ус танов ки • Уд аления • Запу ски • Клики json  validation • Поиск у никальных идентификаторов • Поиск системных  событий • Пров ерка  таймштампов • Пр оверк а  минимальной  версии SDK • Пров ерка  налич ия локации и окру жения,  в  зависимости  от perm iss ions • Валидация запрос ов по  json схеме Tracker • От правка  запросов • Перехват   запросов • Сохранение запрос ов
json  • Ус танов ки • Уд аления • Запу ски • Клики validation • Поиск у никальных идентификаторов • Поиск системных  событий • Пров ерка  таймштампов • Пр оверк а  минимальной  версии SDK • Пров ерка  налич ия локации и окру жения,  в  зависимости  от perm iss ions • Валидация запрос ов по  json схеме Tracker • От правка  запросов • Перехват   запросов • Сохранение запрос ов
Запу скае т тестовую  сбор ку
— — + + for  (app   : h ockeyA pp s) for  (app   : marketApp s) Trigg er ne w  bu il ds? ne w  bu il ds? start  app ’s  test  job Exit start  app ’s  test  job
По д ро бнее  о т риггере Реали заци я Jenk ins  Jo b Часто та  запу ска 0 */1  * * * Время вып олнен ия 2. 5  мин Пр изван ие Запу ск тестовых   сбор ок
Trigger Te st  J ob Te st  J ob New  app build? Start appium Sto p appium m yT ra cker re q u ests m itm pro xy P latf orm? iOS D river And roid D river Tes t  Jo b Re sult g et   info dow n loa d a p p   b u il d f or   (test  :  tests) b u il d  id J son valid ation
iOS U pdate Apple  chec ks iOS apps  signing Android  sn iffing   traffic Go og le update s
iOS U pdate Apple  chec ks iOS apps  signing Android  sn iffing   traffic Go og le update s
m it m w eb  - p  8888  -- ignore - h os t s   \ ‘^ (?: (?! t rac k er - api. m y . c om | m y t rac k er . m y c dn. m e| appldn ld. ap ple . c om | m es u . app le. c om ) . ) * $'
iOS U pdate Apple  chec ks iOS apps  signing Android  sn iffing   traffic Go og le update s
iOS U pdate Apple  chec ks iOS apps  signing Android  sn iffing   traffic Go og le update s
Сниф ф инг  т ра ф ика KitKat Lolli po p M arshm al low No ug at Or eo @x ml /n et wor k_sec urity_ con fig
iOS U pdate Apple  chec ks iOS apps  signing Android  sn iffing   traffic Go og le update s
• m y Tracker:  ht tp s:// tracker.m y .com • Appi um :  http s:// appiu m .io • Mit m pr ox y :  ht tp s:// m itm pr ox y .o rg • Jenk in s  Job   Bui ld er:  ht tp s:// do cs.op enstack.o rg /in fra/jenk in s - jo b - bu ild er • Hock ey   App :  ht tp s:// ho ckey app .n et • Fastlane :  ht tp s:// fastlane.to ol s • Goo gl e  Play   CLI:  ht tp s:// np m js.com /p ackage/g oo gl e - pl ay - cli • Network   sec ur ity  con fig : ht tp s:// gi th ub .com /levy itay /Add Securit y Ex ceptio nA nd ro id • Sand bo x  http s ://g ithu b. com /alter - al/contin uo us_i ntegratio n_ testing_ m ob ile_sdk