2017年8月開始接手做持續(xù)集成平臺的工作,該平臺包含打包發(fā)布,每日構(gòu)建,穩(wěn)定測試。做這個的初衷是為了能夠提早的暴露出問題,同時使開發(fā)在打包上盡可能少出錯,提高效率。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供南陽企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站設計、做網(wǎng)站、H5開發(fā)、小程序制作等業(yè)務。10年已為南陽眾多企業(yè)、政府機構(gòu)等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設計公司優(yōu)惠進行中。首先收集現(xiàn)狀,源碼管理混亂,底層打包空間共用,apk打包在本地,沒有穩(wěn)定性測試,專項測試。需求整理,需要做源碼管理,分離底層共用的空間,打包統(tǒng)一使用服務器打包,增加自動化測試,穩(wěn)定性測試,專項測試。
下面說下我們的每日構(gòu)建跟穩(wěn)定性測試:
1.客戶端每日構(gòu)建
1.1、單元測試
單元測試主要是由開發(fā)負責編寫的,主要是因為開發(fā)對產(chǎn)品更加的了解,同時測試開發(fā)團隊人太少了,要做的事情好多,優(yōu)先做其他的。關(guān)于框架選擇,最初想要使用的方案是robolectric + junit4 + mockito + dagger2,然后被項目經(jīng)理及總監(jiān)否定了,選擇了android自帶的測試框架,主要原因相對與互聯(lián)網(wǎng)公司我們公司的平臺也是自己開發(fā)的,所以更需要在真機上執(zhí)行測試。
執(zhí)行過程,每天的凌晨會有定時任務去svn 上check out代碼,連接設備,然后使用gralde命令執(zhí)行測試生成測試報告。
1.2、集成測試
在這里我們的集成測試跟單元測試很像,在用例設計上主要是是按業(yè)務流程去執(zhí)行的單元測試。
對于集成測試,可以加入ui自動化測試,比較喜歡的一個自動化測試是macaca。
1.3、靜態(tài)代碼分析
靜態(tài)分析的話會在服務器上安裝sonar-scanner,執(zhí)行掃描后將結(jié)果上傳到sonaerqube上,代碼規(guī)則的的配置會在sonarqube上,最初開始做靜態(tài)代碼分析不建議開啟很多的規(guī)則項,需要給開發(fā)團隊適應的過程,規(guī)則如果一開始就開很多,開發(fā)估計就直接不改了吧,而且自帶的規(guī)則會有一定的誤報率,需要人工篩查。
1.4、報告郵件通知
執(zhí)行失敗或者成功都回給開發(fā)測試發(fā)送郵件通知。
2、客戶端穩(wěn)定性測試
穩(wěn)定性測試主要是為了暴露apk的性能問題,提高產(chǎn)品的穩(wěn)定性。
執(zhí)行流程,凌晨定時任務會去拉取svn上的代碼,代碼更新好后,會使用腳本sed命令去把leakcannary加入到代碼當中,接著執(zhí)行apk打包,固件打包,將生成的固件通過OTA升級,(ota升級:將包放到指定的服務器,在通過接口配置由哪個版本到哪個版本的升級,應用本身有個server去檢查,從而實現(xiàn)升級)。執(zhí)行monkey命令,第二天去查看monkey日志,oom日志,已經(jīng)是否存在.prof文件該文件是leakcannary生成的,拿到prof文件后可以使用MAT或者Android Studio去分析。
對于性能測試需要關(guān)注網(wǎng)絡,io,流量,內(nèi)存,cpu,而對于我們的產(chǎn)品更加的關(guān)注內(nèi)存,對于其他的指標我們會在功能測試的時候去關(guān)注這塊。
3、服務端每日構(gòu)建
對于服務端的每日構(gòu)建主要是做部署,接口測試,靜態(tài)代碼分析。服務端使用的語言是php,它的部署較為簡單,只需要從使用git pull就可以,部署完成后執(zhí)行接口測試,靜態(tài)代碼分析。接口測試我們使用的是robotframework+requestlibrary,封裝出公共的關(guān)鍵字,寫testcase的時候使用該關(guān)鍵字。靜態(tài)代碼分析使用sonar-scanner,掃描結(jié)果在sonarqube上展示。最后發(fā)送郵件測試報告給開發(fā)/測試。
4、其他
4.1、不足
對于我們的整個流程缺乏ui方面的自動化
靜態(tài)代碼分析規(guī)則不夠完善
單元測試用例太少了
穩(wěn)定性測試缺乏cpu,io,網(wǎng)絡等的監(jiān)控
部分接口業(yè)務無法覆蓋(eg:支付)
4.2、躺過的坑
舊的服務器誰都能上去改東西...
同個服務器使用多個版本的gradle打包
底層源碼(sdk)管理混亂,開發(fā)隨意更新源碼
不支持接口更新ota配置
源碼管理混亂,分支無規(guī)范,非主干開發(fā)
總結(jié):
在做持續(xù)集成的工作中,開始做流程的優(yōu)化,優(yōu)化功能測試流程,自動化流程;接觸了較多的工具,開始做方案的分析,去做整體的架構(gòu)設計跟實現(xiàn),去跟項目經(jīng)理溝通,溝通是一個很大的學問,當中你可能會遇到脾氣好的同時也會遇到脾氣差的,遇到脾氣不好的告訴自己多笑笑,多找他幾次也許問題就能解決。開始更加關(guān)注代碼的質(zhì)量,去了解專項測試。
歡迎加入 51軟件測試大家庭,在這里你將獲得【最新行業(yè)資訊】,【免費測試工具安裝包】,【軟件測試技術(shù)干貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ 群: 755431660
名稱欄目:一篇文章4條總結(jié),快速了解持續(xù)集成測試的基本知識!-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://www.rwnh.cn/article20/ccjdco.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、外貿(mào)網(wǎng)站建設、建站公司、網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容