接口測試自動化實踐指南
引用牛人定義的接口測試概念——接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測 試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。由于剛剛接觸接口測試,暫時定義成系統外部接口測試,內部及各個子系 統之間逐個引入。
為什么做接口測試呢?
1、系統越做越大,越做越復雜,子系統的數量也逐步增長;
2、客戶技術能力也不斷地提升;
3、原有的測試方法不能有效地發現bug;
接口測試的目的是什么?
以保證系統的正確和穩定為核心,以持續集成為手段,提高測試效率,提升用戶體驗,降低產品研發成本。關注持續集成是接口測試的靈魂,否則接口測試帶來工作量會成指數增長。
接口測試的摸索
1、嘗試使用各種腳本、框架和流程規范,找到適合自己團隊的最優方案,采用perl腳本直接模擬接口協議完成測試,特點靈活多變,適應性較強,缺點:維護成本過大,推廣比較緩慢(大部分測試人員的開發基礎相對開發人員較低)
2、考慮測試部大部分成員不太了解開發技術,所以直接采用腳本開發接口測試很難實現,借鑒測試部自動化成功經驗,接口測試引入Robot framework,讓做過自動化測試的成員較快地接受。接口測試被所有測試人員和開發人員所接收,每一個成員都能快速地完成接口測試用例,最大程度地提高軟件質量的穩定性。
接口測試自動化的實現
1、由于使用robot framework框架,所以選擇python腳本語言能更好地應用到robot framework框架
2、Smpp協議接口驅動模擬器——采用twisted框架完成網絡通信,采用smpp.pdu模塊完成協議解析。
3、已Smpp協議接口驅動為基礎,編寫適合robot framework框架的關鍵字,并引入框架,完成接口自動化測試用例。
為什么選擇python和robot framework呢?
1、Python腳本語言支持面向對象開發,復用程度較高,有相當成熟的網絡開發框架twisted,能夠快速地搭建一個網絡應用(外部子系統模擬器)。
2、Python腳本語言與C++、java等語言結合的比較好,robot framework框架使用python實現的,能夠方便地應用到框架中去。
3、Robot framework框架有一套完成用例組織、調試和產生報告功能,并支持遠程接口調用,在完成接口自動化測試過程中,無須考慮這些。
接口測試的未來
實現一個框架,通過簡單的配置虛擬出各種接口,并將被測試系統運行在虛擬機中,自動完成內部代碼、內存檢測、數據校驗與邏輯檢測。