【吐槽】低程式碼的介面自動化測試平臺不好用
前言
之前在小公司呆了一年半,搭建了 Python 的介面自動化框架,純程式碼實現雖說不算簡單,但自由度更好,能夠更好的除錯和新增功能。
之後來到國內某大公司的軟體測試工作(外包),到現在也呆了一年半多,公司使用的是零程式碼關鍵字驅動的介面自動化測試平臺,有點類似於這個平臺。寫了 30+ 用例,有一些自己的感想,故分享出來
無法轉化為自身價值
就算把平臺使用得再好,出去了就沒有了這樣的平臺,所有的經驗就都失效
公司強調線上作業,在這樣的一個前提下,測試人員被迫學習這個介面測試自動化平臺的使用。
比較離譜的是,明明市面上有比較好的 JSONPath 定位方式,但平臺依然基於 JSONPath 定義了自己的一套語法,這意味著我需要學習它的語法,真的無語。明明看它生成的 Java 程式碼最後都是使用的 JSONPath。
使用者體驗不好
感覺就是平臺開發者並不清楚使用者 (測試人員) 實際的使用場景。當然,我們測試人員編寫測試點時,也經常考慮不到使用者那麼多複雜業務場景。
很多功能操作後的預設狀態,和心理預期不符。例如
- 點選『一鍵除錯』之後,編寫自動化用例的介面就被覆蓋了,需要點選『取消全屏』才能同時看到用例編寫介面和除錯執行頁面。既然是除錯,那我一般是對用例執行情況不確定才點的,我希望看到:是否有出錯?出錯在哪裡?能快速定位到指令碼位置。
- 除錯失敗時,JSON 文字過長被隱藏,需要下載壓縮包,找到對應檔名才能檢視完整的文字。太麻煩了,為什麼不直接給這個 JSON 檔案的下載連結呢?。出現問題 debug,還得下載壓縮包,解壓壓縮包,比對檔名,找到對應 JSON 檔案,太心累了。
- 除錯速度極其慢。因為是零程式碼,每次除錯都得將指令碼轉義成程式碼,並編譯。如果編譯報錯/執行出錯,就需要調整後再次執行。編譯的時間又很慢,不斷地編寫自動化指令碼、編譯除錯、修改指令碼、編譯除錯,浪費了大量的等待時間。Postman 可以斷點執行,執行不透過只需要修改後重新執行這一個介面就可以了。
只能用 Java 編寫指令碼
我用 Python 比較多,也熟悉一點 Java,但真不想寫 Java
平臺是 Java 實現的,因此『自定義程式碼』節點只能使用 Java 編寫,不支援其他語言。有很多資料準備/資料處理操作是必須要編寫『自定義程式碼』才能完成
- Java 的語法就比較嚴格,對於不熟悉的人來說,容易忘掉末尾的 “;” 雙引號,每次新增變數都得進行型別定義。
- 又或者使用到了 Java 中的一些資料結構,需要進行額外的學習才能編寫出可用的程式碼。
- 最可惡的是,『自定義程式碼』中無法像編譯器中一樣,給出程式碼是否有問題的提醒。這意味著只能在執行時,才能報出編譯錯誤。這對於不熟悉 Java 語言的人來說,太容易發生了。
後記
團隊內的介面自動化效果很差。發現的 bug 少,都沒有起到最基礎的輔助的作用。更像是領導 PPT 上的一項 KPI,只論數量,不論質量。好在領導也清楚 UI 自動化更為雞肋,沒有讓我們推行。
正如前輩們所說,介面自動化更看重的是自動化用例的設計能力,而非平臺能力。平臺底層無非就是資料準備、響應斷言、資料提取、線上管理、報告生成,並不能當做護城河。業務千千萬,如何把業務高效落實到介面自動化上,才比較值得關注。
所以,不再迷信所謂的自動化平臺,Testhome 上也不建議大家分享輪子,使用者體驗都做不好的情況下,沒人用呀,還不如用 postman 方便。累計到 5000、6000 條用例時,維護真的麻煩。
我們的自動化用例更偏向於場景級,是多個介面之間組合呼叫,而不是單個介面的入參校驗。因此會寫用例會稍微麻煩一點。
在人力不足、缺少維護的情況下,自動化只能是領導們的 KPI。面試時也許還可以說道說道。
相關文章
- 一次不算成功的介面自動化測試平臺實踐 -- 吐槽自己,反思自己,輕噴
- Django 介面自動化測試平臺Django
- Linux下搭建介面自動化測試平臺Linux
- 低程式碼開發平臺好不好用?
- 自動化測試平臺
- UI 自動化測試平臺UI
- 各位測試大佬可有實用的介面自動化測試平臺推薦?
- 介面自動化測試的覆蓋和 Diff 平臺的悖論
- 功能測試吐槽
- API自動化測試平臺,高效實現對API的自動化測試API
- Apifox(1)比postman更優秀的介面自動化測試平臺APIPostman
- 基於 HttpRunner 的介面自動化測試平臺宣講 (已落地)HTTP
- API自動化測試平臺,支援場景化的API測試API
- 35+老測試員生涯回顧,揭秘無力吐槽的自動化真相…
- JMeter 介面自動化測試(手工轉自動化指令碼)JMeter指令碼
- 介面自動化測試
- Python 介面自動化測試Python
- 介面自動化程式碼-AI 建立嘗試AI
- 自動化功能測試平臺TestComplete的分散式測試教程(三)分散式
- 自動化功能測試平臺TestComplete的分散式測試教程(二)分散式
- Eolink Apikit「 零程式碼」快速發起 RPC 介面自動化測試APIRPC
- 基於 HttpRunner + Django + Vue + Element UI 的介面自動化測試平臺,生產可用HTTPDjangoVueUI
- Robot Framework自動化測試框架核心指南-如何做好自動化測試平臺框架的設計Framework框架
- IT去中心化背後的低程式碼平臺中心化
- [python] request 介面測試自動化指令碼轉化為 [locust] 效能測試指令碼Python指令碼
- GAutoNext 全平臺遊戲自動化測試利器遊戲
- 介面自動化測試 - RobotFramework RESTinstanceFrameworkREST
- 二、介面自動化測試(2)
- 介面自動化測試框架 HttpFPT框架HTTP
- protobuf 介面自動化測試摸索
- 測試平臺之介面測試
- 開源免費的自動化測試平臺推薦
- 介面自動化測試框架搭建的思路框架
- 移動自動化測試平臺,瞄準金融行業行業
- 做個調查,你們的介面自動化怎麼做的,程式碼方式還是測試平臺方式,效果怎麼樣
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 吐槽一下最近一些號稱自然語言進行自動化測試的框架框架
- 請問大家,自動化測試可以實現一個指令碼測試全部平臺嗎?指令碼