關於自動化測試平臺搭建的初步構想

一.前言
測試平臺可以理解爲一個測試管理平臺,主要用WEB來進行實現,方便其他人統一工作,方便公司統一管理,可以提高公司效率。該平臺主要是爲測試服務,但不僅爲測試提供服務。一切的出發點都是爲了提高工作效率,減少公司成本,爲公司提供一個更加愉快的工作環境。
二.爲什麼需要測試平臺
目前,很多小公司或者較大一點的公司,測試完全是基於功能測試,如果只是進行功能測試則可以直接使用開源的項目質量管理軟件(例如:禪道)即可。如果進行接口、UI自動化測試、性能方面的測試,則可有考慮自己搭建測試平臺。下面就以接口測試爲例,接口測試一般抓包後需要進行消息體的構造,有人喜歡用postman工具直接保存接口,有人喜歡直接使用fiddler等其他的工具,這樣不同的測試人員各自工具不統一、各自用例也不統一。前者新人來了接手工作可能需要學習新的工具,雖然時間短但也是成本的消耗,後者如果本地機器出現了問題可能所有用例都沒有了。既消耗了公司的成本又導致部門管理不規範。
如果搭建一個統一的平臺就可以解決上述問題,例如直接在WEB界面上直接將消息體複製進來即可完成接口測試並添加額外的數據校驗功能,各個接口各個場景測試通過後直接將內容保存到數據庫中。這樣,1是代碼集中統一管理了;2是要求低,對操作人員低,任何人只需要按照格式進行消息體的構造就可以進行接口測試;3是所有人只要有相應的權限即可共享用例,方面測試人員相互交流學習,也可發現問題並完善用例;4是提高了工作效率;5是相比較已有的開源工具,可以隨意擴展。
文章以接口測試爲例簡述搭建測試平臺的思路。我們知道,接口是程序的最重要的一部分,而接口測試相對於性能和功能來說可能也是比較簡單的。我們只需要理解接口協議,看懂接口文檔,熟悉用戶使用場景,理解用戶的表面需求和隱性需求,我們就可以設計出各種各樣的接口測試用例,並可以與開發工作同時進行。
三.怎麼做
既然是自己搭建平臺進行接口測試,個人認爲WEB是最好的選擇,我們只需要部署好服務端,客戶端可以直接訪問不用像其他應用程序一樣需要在每臺客戶端安裝其他軟件。
使用HTML/CSS鋪一個界面,保證可以輸入URL、RequestBody及對應的請求方式即可,這樣後臺接受前端傳來的數據進行解析並拼接(後臺的處理主要看前端傳參的形式,最好是事先定義好規範)。後端將處理好的參數發送到相應的服務器,並接收響應的返回值返回給前面並在界面上顯示即可。這樣一個最簡單的接口測試流程就完成了。如圖所示:
關於自動化測試平臺搭建的初步構想
四.如何完善
前面只是一個簡單的接口測試的過程,只能說可以完成接口測試功能,但是和其他測試工具相比並不能體現出平臺的優勢,如何保證平臺的優勢呢?
接口返回後,必須需要自動進行相關參數的校驗,1是返回狀態或返回值的校驗;2是相關數據庫數據的校驗;這些工作均可以在頁面完成,如果是返回狀態或返回值的校驗可以直接用一個json格式來指定需要校驗的字段及對應的值(值可以是變量)。如果是需要校驗數據庫則可以通過表單的形式來完成,表單內需要校驗的值可以是任意的,例如:可以是入參的值;可以入參處理後的值;可以使用正則來校驗數據庫值的類型(有些要求有值即可,有些要求是字母、數字;有些要求包含某些指定的值;可以指定查詢條件(where或in等等)……
這樣,只需要定義好格式就可以完成從請求到返回結果校驗的全過程了。
五. 如何擴展
如果只包含接口測試就稱之爲測試平臺,則有些大題小做了。個人認爲,測試平臺既能通過WEB頁面完成相關的測試還應該能定時自動運行指定的用例(當人多,機器自然不足時,可以指定用例在半夜來自動跑用例);可以在代碼發佈之前進行檢測代碼的質量,只有當代碼只能滿足指標時才允許發佈;可以將各個項目的公用測試工具(例如mock消息)都可以包含進平臺中,這樣所有人都可以直接使用…
關於自動化測試平臺搭建的初步構想
只有想不到的,沒有做不到的。前提是成本低、效率高,不能只是爲了平臺化而刻意平臺。
六.歡迎關注作者公衆號
關於自動化測試平臺搭建的初步構想
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章