聊聊測試開發中提升 level 一些關鍵技術
先拋磚引玉說幾個,歡迎大家補充
編譯相關
語法樹分析改寫
如果做測試平臺開發,我相信這一關應該是大多數人都繞不過去的,面對測試開發編寫的指令碼程式碼,無論是在上層做封裝,還是平臺安全性考慮,語法樹分析都是必不可少的。
舉一個例子,如果有人在指令碼平臺上面寫了一個while(true)死迴圈怎麼辦呢?當然我也看過一些公司的實現方案,簡單起來用正則去做也不是不可以,但它的可靠性上來說就要差一大截了。
再比如這樣寫,那就已經不是單純正則可以搞定的事情了。
boolean tag=true
while(tag){
//do something
}
正如前面所說,語法樹分析不光是普通安全性的考慮,還有我們常說的資料驅動測試,目前普遍的做法過於依賴測試人員個人的程式設計習慣和技能。你不能保證每一個測開都可以做到程式碼精通,即便他程式碼寫的好,也不見得有好習慣會主動做用例資料分離。那麼基於語法樹分析改寫,我們是不是可以考慮在系統層面上做一些事情,自動從指令碼里面抽取用例引數呢?
編譯執行相關
看到這個標題可能大多數人都聽懵的,為什麼測試會和編譯扯上關係?說一個常用軟體sonar
你可能就立馬明白了。目前devops技術發展很快,大公司普遍都上了類似PIPELINE的產品,測試作為流水線上卡點必不可少的關鍵一環,除了傳統的這些測試卡點之外,程式碼缺陷分析相關領域必將受到更多的關注,可以提前有一些相關的技術儲備。
通訊相關
協議編解碼
協議編解碼大多數情況下是一些自定義協議或者一些比較偏門的協議裡面會遇到。如果沒有官方工具,或者當前語言生態不支援的話,再或者感覺現有的工具庫用起來蹩腳,自己造輪子也是無可厚非的,這裡吐槽一下某大廠的rpc協議,裡面坑不少。
通用協議的深入實現
這裡就舉個例子,OpenApi規範。以前如果要存http介面的話,可能還得自己建表,設計欄位。目前我們是基於openApi規範把http相關的業務全部重構了一遍,使用者只需要上傳標準OpenApi檔案即可。作為平臺方,我們就可以用上整個OpenApi的生態。這裡指個路OpenApi Tools
當然不光是OpenApi了,還有很多的生態圈可以供大家去探索,這方面儘量少造輪子。
語言相關
插樁
插樁技術指在保證原有程式邏輯完整性的基礎上,在程式中插入探針,通過探針採集程式碼中的資訊(方法本身、方法引數值、返回值等)在特定的位置插入程式碼段,從而收集程式執行時的動態上下文資訊。
除了老生常談的覆蓋率之外,插樁可以應用的領域還是非常多的,單測有效性檢測(程式變異),程式問題定位等方面都有較多的應用。
相關文章
- 面向開發的測試技術(二):效能測試
- Web開發測試中的18個關鍵性錯誤Web
- 軟體開發中的資料庫測試技術資料庫
- 中國5G關鍵技術效能測試完成
- 功能測試怎麼提升測試開發能力?
- 面向開發的測試技術(一):MockMock
- 聊聊測試左移到開發階段
- 面向開發的測試技術(三):Web自動化測試Web
- 中國發布5G研發測試結果關鍵技術已通過驗證
- 關於UI自動化技術及測試的一些看法UI
- 開發美顏SDK的關鍵技術有哪些?
- Android遊戲開發案例與關鍵技術Android遊戲開發
- 關於單測技術選型,聊聊我的思考
- 乾貨 | Dubbo 介面測試技術,測試開發進階必備
- 遊戲測試人員如何提升自己的技術水平?遊戲
- PHP開發人員技術提升心得PHP
- 華為開發區塊鏈壓力測試技術區塊鏈
- 關於技術人員自身能力提升的一些思考
- 開發商談手遊測試發行過程的關鍵因素
- QTP關鍵技術QT
- 直播系統開發過程中的一些關鍵點
- Java Hotspot G1 GC的一些關鍵技術JavaHotSpotGC
- 聊聊開發日常的效率提升工具(全)
- 聊聊真實的 Android TV 開發技術棧Android
- Laravel 測試技術Laravel
- 通用測試技術
- 軟體測試技術-黑盒測試
- Scrum敏捷軟體開發之技術實踐——測試驅動開發TDDScrum敏捷
- 測試開發該如何在團隊中推廣新工具、新技術(深度好文)
- 敏捷開發中的測試敏捷
- 聊聊前端測試前端
- 敏捷測試關鍵成功因素敏捷測試
- Laravel框架關鍵技術解析(1)元件化開發與composer使用Laravel框架元件化
- 教育系統開發中的一些技術問題解析
- 測試通用技術3
- 軟體測試中的行業技術薦行業
- 5G時代要來了 中國5G關鍵技術效能測試完成
- 聊聊技術面試 | 掘金技術徵文面試