NJSD大會(huì)給我們帶來了哪些無線測(cè)試技術(shù)干貨

image_1460820398.889859.jpg

2016中國(南京)軟件開發(fā)者大會(huì)(以下簡稱 NJSD CHINA 2016)于 2016 年4月16日在南京軟件谷楚翹城召開惦界。NJSD-CHINA大會(huì)由民間技術(shù)社區(qū)志愿者發(fā)起并組織,遵循“技術(shù)為先”的理念隆圆,探討全球最新軟件技術(shù)植酥,努力打造技術(shù)交流别渔、思想碰撞的中國公益性技術(shù)盛會(huì)。其中『無線測(cè)試技術(shù)』專題論壇由Testerhome主要?jiǎng)?chuàng)始人之一陳曄(Monkey)組織和主持惧互,為我們帶來了一場無線測(cè)試技術(shù)的干貨分享盛宴哎媚。
會(huì)議主要由五個(gè)議題組成:

  1. 滬江無線持續(xù)集成的解決方案(主講人:滬江教育科技資深測(cè)試工程師黃偉東
  2. 無線應(yīng)用兼容性全套方案(主講人:Testin眾測(cè)測(cè)試總監(jiān)李毅)
  3. iOS 自動(dòng)化測(cè)試框架選型(主講人:阿里巴巴高級(jí)測(cè)試工程師陳恒捷)
  4. 安全專項(xiàng)測(cè)試(主講人:58趕集高級(jí)測(cè)試開發(fā)工程師錢輝)
  5. 云化環(huán)境中可靠性測(cè)試的自動(dòng)化技術(shù)分享(主講人:華為技術(shù)規(guī)劃工程師王朝金)

由于第五個(gè)議題不屬于無線測(cè)試的范疇,這里我將為大家介紹前面四個(gè)議題的核心內(nèi)容喊儡。

黃偉東:滬江無線持續(xù)集成的解決方案

滬江無線有多款無線應(yīng)用拨与,面臨很多質(zhì)量問題,比如線上奔潰率高艾猜,開發(fā)提測(cè)質(zhì)量差买喧,測(cè)試回歸耗費(fèi)時(shí)間長等問題。為了提高測(cè)試質(zhì)量和測(cè)試效率匆赃,大東所在團(tuán)隊(duì)搭建了一套持續(xù)集成的質(zhì)量保障體系淤毛。本次大東老師為我們介紹這套體系包括哪些解決方案以及落地實(shí)施的情況。

什么是持續(xù)集成算柳?

持續(xù)集成是指通過自動(dòng)化等手段高頻率地去獲取產(chǎn)品反饋并響應(yīng)反饋的過程

集成什么低淡?

  • 編譯,自動(dòng)化拉取代碼編譯
  • 單元測(cè)試,滬江的單元測(cè)試全部由開發(fā)來完成
  • 打包蔗蹋,同時(shí)提供Debug包和Release包
  • 自動(dòng)化測(cè)試作為冒煙和回歸測(cè)試

持續(xù)集成可以發(fā)現(xiàn)哪些問題

  • 編譯問題何荚,比如代碼無法編譯成功,提醒開發(fā)及時(shí)修復(fù)
  • 安裝問題猪杭,打出來的包無法安裝餐塘,應(yīng)該直接打回
  • App頁面可達(dá)性,關(guān)鍵業(yè)務(wù)都無法跑通皂吮,也應(yīng)該直接打回
  • 專項(xiàng)指標(biāo)戒傻,包括性能,穩(wěn)定性等

持續(xù)集成流程

  1. 自動(dòng)構(gòu)建
  2. Apk掃描
  3. 自動(dòng)化測(cè)試
  4. 專項(xiàng)掃描
  5. 報(bào)告聚合及產(chǎn)品交付

持續(xù)集成的實(shí)現(xiàn)方案

編譯打包

  • Android采用Gradle方式編譯蜂筹,通過Maven進(jìn)行包依賴管理稠鼻,同時(shí)產(chǎn)出Debug-apk和Release-apk
  • iOS采用Xcode編譯,用Cocoapods進(jìn)行包依賴管理狂票,同時(shí)產(chǎn)出Debug-ipa和Release-ipa候齿、Debug-app

Apk掃描

  • 靜態(tài)掃描:反編譯、字符串掃描
  • 包大小檢查:包大小信息闺属、歷史包大小對(duì)比慌盯、與其他產(chǎn)品包大小對(duì)比

自動(dòng)化測(cè)試(選取Appium)

自動(dòng)化框架的特性:

  • 兼容多類App(Android,iOS掂器,H5)
  • 兼容多類設(shè)備
  • 支持并發(fā)測(cè)試

自動(dòng)化測(cè)試流程:


AC4801DF-F339-45CD-BE71-AD3EDF1D56A2.png

專項(xiàng)指標(biāo)測(cè)試

測(cè)試哪些專項(xiàng)指標(biāo):

  1. Apk包大小檢測(cè)
  2. 啟動(dòng)時(shí)間
  3. 穩(wěn)定性測(cè)試
  4. 產(chǎn)品對(duì)比
  5. 性能測(cè)試:通過AOP埋點(diǎn)的方式實(shí)現(xiàn)程序內(nèi)部性能數(shù)據(jù)的收集亚皂,并隨BI數(shù)據(jù)一起上報(bào),平臺(tái)根據(jù)數(shù)據(jù)進(jìn)行性能分析

李毅:無線應(yīng)用兼容性全套方案

image_1460824198.333440.jpg

我們的測(cè)試人員在線下已經(jīng)盡可能去覆蓋所有功能點(diǎn)国瓮,但上線之后還是經(jīng)常會(huì)遇到一些令人頭疼的問題灭必,比如迭代速度緩慢,線上故障嚴(yán)重乃摹,測(cè)試資源不足禁漓,用戶投訴頻繁。這些問題其實(shí)歸根到底都是兼容性的問題孵睬,兼容性問題主要體現(xiàn)在手機(jī)種類多樣化和用戶場景多樣化兩大方面播歼。
傳統(tǒng)的兼容性測(cè)試是獨(dú)立的個(gè)體,我們的測(cè)試人員只是憑靠個(gè)人的力量去覆蓋一些網(wǎng)絡(luò)掰读、終端秘狞、地域、軟件蹈集、數(shù)據(jù)烁试、體驗(yàn)等類型的兼容性。這當(dāng)然是有局限性的拢肆,應(yīng)用上線后也無法滿足所有用戶的需求减响。因此靖诗,現(xiàn)階段我們提出了實(shí)施全面兼容的方案。主要從兩大方面去實(shí)現(xiàn):主動(dòng)式覆蓋和被動(dòng)式覆蓋辩蛋。主動(dòng)式兼容性測(cè)試的手段包括灰度發(fā)布和眾測(cè)等呻畸,被動(dòng)式兼容性測(cè)試的手段包括應(yīng)用埋點(diǎn)移盆,APM等悼院。

主動(dòng)式測(cè)試

我們先介紹下主動(dòng)式測(cè)試的實(shí)現(xiàn)方案,分為三部曲:測(cè)試籌劃咒循,測(cè)試執(zhí)行和測(cè)試分析据途。這主動(dòng)式測(cè)試三部曲的實(shí)施步驟是怎樣的呢?
其中測(cè)試籌劃的主要步驟是:

  1. 規(guī)劃被測(cè)試場景叙甸,比如要覆蓋哪些網(wǎng)絡(luò)颖医,覆蓋哪些地點(diǎn),針對(duì)哪些功能
  2. 確認(rèn)測(cè)試策略裆蒸,確定好是要進(jìn)行用戶體驗(yàn)測(cè)試呢熔萧,還是進(jìn)行終端兼容性測(cè)試,甚至是給產(chǎn)品找茬
  3. 開啟人群劃分僚祷,要確定好測(cè)試人數(shù)要求佛致,測(cè)試人群的類型

接下來測(cè)試執(zhí)行的主要步驟是:

  1. 測(cè)試任務(wù)發(fā)布,比如確定好任務(wù)時(shí)間周期辙谜,系統(tǒng)要求和任務(wù)描述
  2. 測(cè)試結(jié)果收集俺榆,一般是通過問題報(bào)告,日志數(shù)據(jù)装哆,截圖或者視頻的方式收集
  3. 測(cè)試任務(wù)把控罐脊,這個(gè)環(huán)節(jié)比較靈活,可以是通過問題溝通或者進(jìn)度匯報(bào)的方式來把控蜕琴。

最后是測(cè)試分析:
測(cè)試分析是基于測(cè)試執(zhí)行收集的測(cè)試結(jié)果萍桌,主要分析的類型有:硬件性能,頁面凌简,瀏覽器梗夸,應(yīng)用服務(wù)器,網(wǎng)絡(luò)等号醉。

被動(dòng)式測(cè)試

那么被動(dòng)式測(cè)試的實(shí)現(xiàn)方案又是怎樣的呢反症,也可以分為三部曲:網(wǎng)絡(luò)監(jiān)控,性能分析畔派,奔潰&異常铅碍。
首先我們介紹下被動(dòng)式網(wǎng)絡(luò)監(jiān)測(cè),主要監(jiān)測(cè)的數(shù)據(jù)有:響應(yīng)時(shí)間线椰,HTTP錯(cuò)誤率胞谈,RPM,數(shù)據(jù)量,運(yùn)營商烦绳,機(jī)型卿捎,URL等,從而跟蹤HTTP連接径密,發(fā)現(xiàn)第三方SDK和API午阵,跟蹤網(wǎng)絡(luò)響應(yīng)趨勢(shì)。
然后我們看下性能分析要關(guān)注哪些點(diǎn)享扔,主要是I/O底桂,網(wǎng)絡(luò)響應(yīng)時(shí)間,Webview惧眠,CPU籽懦,內(nèi)存等,通過這些數(shù)據(jù)來跟蹤真實(shí)用戶性能體驗(yàn)氛魁,精確分析性能瓶頸暮顺,追蹤慢交互。
最后是奔潰&異常秀存,Android奔潰可以通過UncaughtExceptionHandler來捕獲捶码,要注意的是,Android的奔潰日志只能被捕獲一次应又,如果你的應(yīng)用中有多個(gè)收集線程宙项,可能只有一個(gè)會(huì)生效。iOS也有類似的捕獲機(jī)制株扛,NSSetUncaughtExceptionHandler這個(gè)類可以實(shí)現(xiàn)奔潰日志的捕獲尤筐。

具體實(shí)施方案

  1. 自研兼容性測(cè)試平臺(tái)
  2. 引入第三方服務(wù)
  3. 內(nèi)部&外部灰度測(cè)試

陳恒捷:iOS 自動(dòng)化測(cè)試框架選型

image_1460824266.905191.jpg

自動(dòng)化一直被認(rèn)為是測(cè)試人員的一項(xiàng)基本素質(zhì),但真正要做好自動(dòng)化測(cè)試并不是一件簡單的事情洞就。恒捷先講述了自動(dòng)化測(cè)試的目的盆繁,然后對(duì)iOS常用測(cè)試框架進(jìn)行了對(duì)比分析,最后結(jié)合實(shí)例講述如何進(jìn)行選型旬蟋。

自動(dòng)化測(cè)試的目的

我們引入自動(dòng)化測(cè)試的目的當(dāng)然是為了降低成本油昂,但自動(dòng)化測(cè)試本身也是有成本的:用例編寫成本,用例維護(hù)成本,腳本調(diào)試成本,查錯(cuò)成本藕赞。如果自動(dòng)化測(cè)試的成本要大于不引入自動(dòng)化測(cè)試的成本草慧,那么我們完全沒必要去做自動(dòng)化測(cè)試准颓。因此,我們做自動(dòng)化測(cè)試的第一步是要科學(xué)降低成本。通過經(jīng)典的測(cè)試金字塔,我們可以看到理想的測(cè)試分為三個(gè)階段挑庶,從下到上分別是:單元測(cè)試言秸,模塊級(jí)測(cè)試,UI測(cè)試迎捺。我們可以根據(jù)具體的測(cè)試點(diǎn)來選擇最佳的測(cè)試方式举畸。比如對(duì)于適合最單元測(cè)試的場景,我們就需要選擇一個(gè)單元測(cè)試框架來做自動(dòng)化凳枝。

Paste_Image.png

iOS有哪些自動(dòng)化測(cè)試框架

  1. UIAutomation抄沮,最早點(diǎn),蘋果官方推出的針對(duì)UI的自動(dòng)化測(cè)試工具范舀,相關(guān)框架有Tuneup和Appium
  2. XCTest/XCUITest合是,蘋果在Xcode5加入的單元測(cè)試框架了罪,XCUITest是Xcode7推出的基于XCTest的UI自動(dòng)化測(cè)試框架锭环,其他相關(guān)框架有基于私有API的KIF,Google最近推出的EarlGrey
  3. 注入編譯型泊藕,通過在應(yīng)用中插碼控制應(yīng)用操作辅辩。添加到應(yīng)用功能的部分多以agent形式存在。相關(guān)框架有calabash-ios和Frank
  4. 另類方法娃圆,比如坐標(biāo)系+圖像識(shí)別的方式玫锋,相關(guān)框架有TouchElf(觸摸精靈),不過該框架需要越獄

各測(cè)試階段適合哪些框架

  1. 單元測(cè)試:XCTest
  2. 客戶端功能測(cè)試:KIF,XCUITest,Earlgrey
  3. 冒煙測(cè)試:Appium和Calabash-ios
  4. 回歸測(cè)試:同上

錢輝:安全專項(xiàng)測(cè)試

image_1460824272.252133.jpg

安全測(cè)試是測(cè)試過程中的一個(gè)重要環(huán)節(jié)讼呢,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展撩鹿,移動(dòng)端安全問題也越來越多地暴露出來,尤其是對(duì)于Android這樣一個(gè)開源系統(tǒng)而言悦屏,安全問題更加容易出現(xiàn)节沦。因此,我需要有特定的測(cè)試手段來提前發(fā)現(xiàn)應(yīng)用中的安全風(fēng)險(xiǎn)础爬,并采取措施規(guī)避甫贯。錢輝的講座主要介紹了四個(gè)方面的內(nèi)容:App有哪些安全漏洞,如何檢測(cè)安全漏洞看蚜,漏洞有什么危害叫搁,如何修復(fù)這些漏洞。

App有哪些安全漏洞

  1. 反編譯供炎,一般的攻擊方式是使用apktool工具來反編譯出源碼文件渴逻,篡改后重新打包,偽裝Apk音诫。因此一般的檢測(cè)點(diǎn)有:是否可以被反編譯惨奕,二次打包,重新安裝纽竣。
  2. 權(quán)限掃描墓贿,主要是掃描出所有的權(quán)限的使用情況茧泪,然后定位出使用權(quán)限的代碼
  3. 應(yīng)用組件掃描,檢測(cè)點(diǎn)有:Activity安全聋袋,Service安全队伟,Broadcast Receiver安全,Content Provider安全幽勒,Intent安全等
  4. 本地?cái)?shù)據(jù)存儲(chǔ)嗜侮,檢測(cè)點(diǎn)有:本地?cái)?shù)據(jù)敏感信息,本地?cái)?shù)據(jù)防篡改啥容。
  5. Logcat日志風(fēng)險(xiǎn)控制锈颗,主要檢測(cè)調(diào)試信息和敏感信息
  6. Xposed獲取用戶信息,是否存在Xposed組件獲取用戶名和密碼的風(fēng)險(xiǎn)
  7. 配置信息風(fēng)險(xiǎn)咪惠,主要有兩個(gè):allowBackup和debuggable

檢測(cè)方式

  1. 開放平臺(tái)檢測(cè)
08A8F516-9B08-40F5-8317-CADEA1B7C905.png
  1. 安全團(tuán)隊(duì)人工審計(jì)
    安全團(tuán)隊(duì)要做的事情:一個(gè)測(cè)試點(diǎn)的確定要經(jīng)過反復(fù)的論證击吱,實(shí)踐,要不斷的學(xué)習(xí)了解新興的漏洞遥昧,及時(shí)補(bǔ)充你的測(cè)試點(diǎn)覆醇。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市炭臭,隨后出現(xiàn)的幾起案子永脓,更是在濱河造成了極大的恐慌,老刑警劉巖鞋仍,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件常摧,死亡現(xiàn)場離奇詭異,居然都是意外死亡威创,警方通過查閱死者的電腦和手機(jī)落午,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來那婉,“玉大人板甘,你說我怎么就攤上這事∠昃妫” “怎么了盐类?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呛谜。 經(jīng)常有香客問我在跳,道長,這世上最難降的妖魔是什么隐岛? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任猫妙,我火速辦了婚禮,結(jié)果婚禮上聚凹,老公的妹妹穿的比我還像新娘割坠。我一直安慰自己齐帚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布彼哼。 她就那樣靜靜地躺著对妄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敢朱。 梳的紋絲不亂的頭發(fā)上剪菱,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音拴签,去河邊找鬼孝常。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蚓哩,可吹牛的內(nèi)容都是我干的构灸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼杖剪,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼冻押!你這毒婦竟也來了驰贷?” 一聲冷哼從身側(cè)響起盛嘿,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎括袒,沒想到半個(gè)月后次兆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锹锰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年芥炭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恃慧。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡园蝠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出痢士,到底是詐尸還是另有隱情彪薛,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布怠蹂,位于F島的核電站善延,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏城侧。R本人自食惡果不足惜易遣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫌佑。 院中可真熱鬧豆茫,春花似錦侨歉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肤京,卻和暖如春颊艳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背忘分。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工棋枕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妒峦。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓重斑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肯骇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子窥浪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 思念的人,傷感一顆心笛丙,無奈的靈魂漾脂,憔悴了最美的風(fēng)景,一個(gè)人受傷胚鸯,一個(gè)人想起骨稿,只是一個(gè)錯(cuò)過,只是一個(gè)無奈姜钳。人生沒有下...
    酒分閱讀 134評(píng)論 0 1
  • 今天哥桥,7歲孩子的話讓我幡然醒悟:家長常用“別”辙浑,孩子常犯“倔”! 上午孩子在寫作業(yè)拟糕,他不自覺的又拿起橡...
    睿小鈺閱讀 293評(píng)論 4 8
  • 飲食有度判呕,不吃不該吃的食物。制定規(guī)矩參考:把孩子不可吃的食物列出清單已卸,貼在廚房顯眼位置佛玄,讓孩子清楚哪些食物不能吃,...
    蟲兒變蝴蝶閱讀 112評(píng)論 0 1
  • 關(guān)于響應(yīng)者鏈條的只是一找一大堆累澡,不再贅述梦抢,這里提一嘴目標(biāo)視圖的查詢方式,以及兄弟視圖是如何處理的愧哟。首先視圖是一個(gè)樹...
    我是繁星閱讀 998評(píng)論 0 1
  • 目錄介紹 1.復(fù)雜頁面庫介紹 2.本庫優(yōu)勢(shì)亮點(diǎn)2.1 支持多種狀態(tài)切換管理2.2 支持添加多個(gè)header和foo...
    楊充211閱讀 773評(píng)論 2 11