新的系統(tǒng)不再用沖天炮,基于react&& spring boot做前后端分離,有web app 微信h5,并用yapi做接口管理。整套研發(fā)管理基于ci,第一步代碼檢查用了eslint&p3c,app端用了360fireline,SQL試soar不過優(yōu)化建議不太準(zhǔn)。通過git hooks使有問題的代碼根本不上編譯,暴力但是效果不錯。
前端ui自動化有過幾個嘗試,headlness的puperteer,優(yōu)化后的rf,163的airtest,h5頁面試過fautotest,頁面變化大維護(hù)成本超高,做了一個嘗試(謝謝閑魚大神指導(dǎo)),基于記錄頁面圖像做深度學(xué)習(xí),判斷文字異常,界面錯位,報錯信息等頁面問題,水平所限,記錄圖片和自動化腳本有了,但是tensorflow沒寫出來。
用Android 和 IOS的monkey,除了幫助做app穩(wěn)定性,在積累圖片上也是成功過的,關(guān)于app做過基于adb的非功能數(shù)據(jù)的收集和對比,橫向比類似的app,縱向比不同版本,雖沒有專業(yè)的電表但是發(fā)現(xiàn)了幾個crash(感謝微信的大神指導(dǎo),這里有一些機(jī)器學(xué)習(xí)的策略待專研)。接口由yapi管理,直接做了基于結(jié)構(gòu)化數(shù)據(jù)的管理,接口變化提醒測試、生成測試腳本和數(shù)據(jù),當(dāng)然數(shù)據(jù)還是難在斷言,這個yapi沒有版本管理,不過基于里面的mongodb還是可以繼續(xù)做進(jìn)一步拓展。
接口還做了一個簡單的壓力locust嘗試,運行沒發(fā)現(xiàn)太多問題,但轉(zhuǎn)教大神后,他們輕松挖得數(shù)據(jù)庫鎖并發(fā)低cpu內(nèi)存高等問題,nmon是個不錯的監(jiān)控工具。
過程中不斷強(qiáng)化utdd和bdd的應(yīng)用,需要很好的單元測試習(xí)慣才能做utdd,而bdd在 lettuce和Sikulix已經(jīng)試過,沒把業(yè)務(wù)拆明白,都是吹牛皮。mock擋板在這個過程中起到重要作用,膜拜一下趙大神自帶的mockman,想法和實現(xiàn)是見過開源同類產(chǎn)品的翹楚。
Jenkins的插件和burpsuite插件是好玩意,前者滿足ci落地的最后一公里,后者滿足屌絲想用一些掃描又沒有錢買license.
經(jīng)歷這兩類不同插件的開發(fā)使我明白好的架構(gòu)真的很重要。當(dāng)然2.0流水線還沒懂,但是devops aiops不應(yīng)該只有概念,要實踐才能有新知,可惜…