生活随笔
收集整理的這篇文章主要介紹了
《移动APP测试实战》学习笔记
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言: ?很久沒有交學(xué)習(xí)作業(yè)了,上一篇博客居然在國慶節(jié)前。其實(shí)最近一直在學(xué)習(xí)移動APP測試,包括搭建AndroidStudio的開發(fā)環(huán)境,學(xué)習(xí)移動APP測試工具,但由于項目變化的原因,一直不能專心地來小結(jié)。
總的來說,讀完很有收獲。個人收獲較大的是:1、ch5輔助測試中的接口Mock,AOP,有些新的理念上的觸動,暴露平時接觸測試?yán)碚撎珳\薄,另外工具整合能力差許多;2、ch6的內(nèi)容,以及ch7的開發(fā)自測。這兩個合在一起;3、ch4的一些具體內(nèi)容。 其他一些零零碎碎的倒是基本有經(jīng)驗(yàn)。但是許多工具還需要在實(shí)際項目中用。 ?
下面是每章的內(nèi)容和收獲:偏Android,關(guān)于iOS的暫時不準(zhǔn)備涉及。另外,后面對一些工具進(jìn)行使用和評估,具體的再寫。
第一章:研發(fā)流程。
這方面?zhèn)€人經(jīng)驗(yàn)比較豐富。移動互聯(lián)網(wǎng)的特色是在開發(fā)和測試之間,有個體驗(yàn)階段。
第二章:功能測試自動化。
主要是基于JMeter的接口自動化。配合其中的一些環(huán)境設(shè)置、腳本嵌入等。以前主要是用到JMeter做性能測試,不如LR好用。
UIAutomatorViewer,獲取APP中對象的ID。配合自動化測試框架Appium的使用。
第三章:性能測試。
1)Web前端性能測試:web頁面,可以配合HttpWatch及WebPageSpeed,PageSpeed(Google Chrome)等各大瀏覽器自帶的分析器。
2)App端性能測試: 內(nèi)存-.hprof文件分析;webview渲染性能--通過Logcat分析;其他常見性能如耗電、啟動時間、流量等放在了專項測試。
3)后臺服務(wù)性能測試:類似常規(guī)的網(wǎng)站的壓力測試,JMeter就可以。AB(ApacheBench)也可以用來測試Http連接數(shù)。
第四章:專項測試。
這個貌似重點(diǎn)內(nèi)容。
1)兼容性測試。其實(shí)主要是真機(jī)平臺的問題,其實(shí)用各大云測平臺(Testin、百度MTC)很不錯。作者推薦自己錄制編寫腳本(例如robotium),云平臺測試的方式。其實(shí)和UI自動化測試有些關(guān)聯(lián)。
2)流量測試。a,系統(tǒng)自帶的,讀取文件解析就可以。 ?b,編碼,通過系統(tǒng)API來獲取。c,直接外部抓包估計--Fiddler。
3)電量測試。 ?a,電表;b,電池監(jiān)控器 GSam Battery Monitor Pro。
4)弱網(wǎng)絡(luò)測試。a,iOS自帶的開發(fā)者選項“Network link conditioner”;b,基于代理的弱網(wǎng)絡(luò)模擬。windows下面的Network Delay Simulator; Mac下的Network Link Simulator。內(nèi)置了3G,2G,Wifi等不同場景,當(dāng)然也可以設(shè)置。 這個是以前沒有怎么接觸的。
5)穩(wěn)定性測試。 a,基于Monkey的隨機(jī)操作。這個前面有一些了解,通過adb命令,可以控制APP,次數(shù),幾類事件的百分比。b,MonkeyRunner的使用。可以通過腳本來控制事件類型。 c)穩(wěn)定性測試后讀取ANR日志文件。 d)模糊測試的方法。 FuzzingTest。作者使用Sulley框架。通過腳本對可變異的和不可變異的內(nèi)容進(jìn)行設(shè)置,這個后面有必要嘗試。可變異的內(nèi)容進(jìn)行多次隨機(jī)化。
6)安全測試。
6.1)安裝包測試。 dex2jar進(jìn)行反編譯、簽名、完整性校驗(yàn)。通過manifest文件,檢查權(quán)限設(shè)置 。
6.2)敏感信息測試。數(shù)據(jù)庫、日志 、配置文件有沒有敏感詞,明文密碼、cookie信息等。
6.3)軟鍵盤劫持。-檢查是否支持第三方輸入法。 ?
6.4)賬戶安全。密碼明文存儲、傳輸;賬戶鎖定策略;同時會話通知;注銷機(jī)制。 ?
6.5)數(shù)據(jù)通信安全。
6.6)組件安全。一般是使用drozer。
6.7)服務(wù)器端。 如SQL注入。跨站腳本攻擊XSS。CSRF跨站請求偽造。越權(quán)訪問。 這些都是常規(guī)的,可以用滲透測試工具Appscan、Fortify。和專門的工具。
7)環(huán)境相關(guān)的測試。 a、干擾測試。來電、短信、通知、電量低、告警等。 b、權(quán)限測試。一方面檢查授權(quán);一方面檢查不給予授權(quán)的情況。 c、邊界情況。 如存儲滿、電量低、飛行模式、系統(tǒng)時間有誤、第三方依賴(調(diào)用第三方應(yīng)用失敗)等。
8)定位測試。
第五章:輔助測試方法
1、代碼靜態(tài)掃描。開源的如FindBugs、Lint。以插件方式工作。 例外工作中用到一些商用的,Klocwork,Coverity等。
2、代碼覆蓋率分析。例如jacoco(主流),emma。工作中使用商用的Vectorcast,Jtest。
3、接口Mock。 a,直接修改后臺server;b,搭建測試Server; C,在數(shù)據(jù)返回的途中截獲并修改。Fiddler可以提供AutoResponder來實(shí)現(xiàn)。 作者提供基于FiddlerCore二次開發(fā)的Mock工具。(改善了加密的響應(yīng)不能匹配和篡改的問題)
4、AOP測試方法。 Aspect Oriented Programming。 前面基本沒有接觸過。 AspectJ是java下面實(shí)現(xiàn)AOP的一個框架。
第6章 發(fā)布過程中的質(zhì)量管理
1、持續(xù)集成。jenkis 。這個久聞大名,沒有接觸過。 持續(xù)集成和發(fā)布平臺的一些要求。
2、內(nèi)測。不同對象應(yīng)提供不同版本。本部門;其他部門;外部粉絲等應(yīng)區(qū)別。
3、灰度測試。 白名單--比例控制(最簡單就是ID篩選)--根據(jù)設(shè)定邏輯篩選---基于功能維度的灰度等不同策略。
第7章 質(zhì)量的度量和推動
這個其實(shí)Bug管理系統(tǒng)就搞定。主流的基本都用過了,感覺開源的簡潔的Bugfree就可以滿足一般的需要的。
開發(fā)自測,設(shè)計走查,產(chǎn)品走查。值得說的,還是開發(fā)自測這個。通過提供測試用例集給開發(fā),并對Bug區(qū)分:不能發(fā)現(xiàn),使用即應(yīng)發(fā)現(xiàn),運(yùn)行提供的自測用例集應(yīng)發(fā)現(xiàn)的不同手段。
第8章 發(fā)布之后的質(zhì)量管理
交叉測試,線上監(jiān)控。 監(jiān)控如何埋點(diǎn)是關(guān)鍵。其實(shí)也算是一種可測試性設(shè)計要求。
問題的收集和反饋,這些都是必須的。
總結(jié)
以上是生活随笔為你收集整理的《移动APP测试实战》学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。