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