什么是自動化測驗?顧名思義就是以程式測驗程式,自動執行指定動作,實作測驗目的,以代碼實作測驗思維,以腳本替代手工執行,從簡單的獨立功能腳本到依托自動化框架運行的腳本集合都屬于自動化測驗范疇,本文旨在通過討論以下幾個方面,總結自動化測驗價值最大化的經驗,
一、 什么專案適合自動化測驗?
實施自動化測驗之前需要對軟體開發程序進行分析,以觀察其是否適合使用自動化測驗,
通常需要同時滿足以下條件
1、需求變動不頻繁
測驗腳本的穩定性決定了自動化測驗的維護成本,如果軟體需求變動過于頻繁,測驗人員需要根據變動的需求來更新測驗用例以及相關的測驗腳本,而腳本的維護本身就是一個代碼開發的程序,需要修改、除錯,必要的時候還要修改自動化測驗的框架,如果所花費的成本不低于利用其節省的測驗成本,那么自動化測驗便是失敗的,
專案中的某些模塊相對穩定,而某些模塊需求變動性很大,我們便可對相對穩定的模塊進行自動化測驗,而變動較大的仍是用手工測驗,
2、專案周期足夠長
自動化測驗需求的確定、自動化測驗框架的設計、測驗腳本的撰寫與除錯均需要相當長的時間來完成,這樣的程序本身就是一個測驗軟體的開發程序,需要較長的時間來完成,如果專案的周期比較短,沒有足夠的時間去支持這樣一個程序,那么自動化測驗便成為笑談,
3、自動化測驗腳本可重復使用
如果費盡心思開發了一套近乎完美的自動化測驗腳本,但是腳本的重復使用率很低,致使其間所耗費的成本大于所創造的經濟價值,自動化測驗價值就無法體現,所以要求測驗腳本人員在開發自動化框架和自動化腳本時需要注意到兼容性和可擴展性,盡量生成可通用的測驗AW集合,測驗腳本集合,
另外,在手工測驗無法完成,需要投入大量時間與人力時也需要考慮引入自動化測驗,比如復雜場景構建、大壓力下測驗、大量重復性測驗等,
二、 自動化測驗的基本流程以及注意事項

如圖1所示,自動化測驗的基本流程主要包含需求分析,自動化測驗計劃設計,用例設計,自動化測驗框架設計與開發,腳本開發,環境搭建,整體聯調運行等,
1、需求分析:
- 分析哪些點需要進行自動化,在需求分析階段參與進來,在被測代碼開發階段輸出依賴點,保證自動化開發時效率更高,代碼改動更小;
2、用例設計:
- 建議先根據測驗點設計所有用例,然后分別查看是否可以實作自動化,最后正向補充可能遺漏的自動化場景;
3、自動化測驗框架設計與開發:
-
自動化測驗框架與軟體架構類似,定義了在使用該套腳本時需要呼叫哪些檔案、結構,呼叫的程序,以及檔案結構如何劃分,
而根據自動化測驗用例,我們很容易能夠定位出自動化測驗框架的典型要素: -
a. 公用的物件,
不同的測驗用例會有一些相同的物件被重復使用,這些公用的物件可被抽取出來,在撰寫腳本時隨時呼叫,當這些物件的屬性因為需求的變更而改變時,只需要修改該物件屬性即可,而無需修改所有相關的測驗腳本, -
b. 公用的環境,
各測驗用例也會用到相同的測驗環境,將該測驗環境獨立封裝,在各個測驗用例中靈活呼叫,也能增強腳本的可維護性, -
c. 公用的方法,
當測驗工具沒有需要的方法時,而該方法又會被經常使用,我們便需要自己撰寫該方法,以方便腳本的呼叫, -
d. 測驗資料,
一個測驗用例需要執行很多個測驗資料,我們便可將測驗資料放在一個獨立的檔案中,由測驗腳本執行到該用例時讀取資料檔案,從而達到資料覆寫的目的,
在該框架中需要將這些典型要素考慮進去,在測驗用例中抽取出公用的元素放入已定義的檔案,設定好呼叫的程序,
4、測驗腳本的開發
- 需要注意腳本兼容性和可擴展性,盡量保證測驗腳本在不同的測驗環境上均可執行,在不同版本中均可達到測驗效果,可擴展性即為在本腳本基礎上方便地增加測驗步驟或者增加執行的回圈次數等,
三、 過往自動化測驗程序中的一些經驗
1、自動化測驗的資源和技術儲備
- 根據專案情況合理安排資源,包括物料設備和人力技術,保證能夠持續推動作業,
2、自動化測驗依賴于開發,運維,測驗的配合
-
運行測驗腳本的必要條件,需要特別注明
-
介面有變更需要開發提前需知會測驗,測驗進而調整介面測驗腳本
-
測驗腳本需要隨時review,確認腳本實作了用例的測驗意圖
3、用例質量
- 用例應該能夠保證預期結果的確定性和準確性,避免出現因用例導致的腳本失敗,影響自動化測驗結果的可信度,浪費大量資源去定位問題,
4、測驗腳本質量
- 腳本務必完全實作用例的測驗意圖,腳本要方便兼容和擴展,資料集中存放,腳本內不出現寫死的輸入引數,如果腳本存在問題,但測驗結果為PASS,則可能會長期掩蓋一個真實的BUG,
四、 DapuStor的自動化測驗
DapuStor自驗盤片HaiShen系列,在研發程序中進行了大量的自動化測驗作業,包括CI測驗、開發自驗測驗、性能測驗、掉電測驗、冒煙測驗、長穩測驗等,目前采用TestLink+Jenkins+RobotFrame模式實作自動化框架的設計,用例的管理,以及任務的構建和執行,通過持續的自動化構建,比較有效地保證了產品的質量,支撐了產品的研發進度,
參考資料
我是個自動化測驗人員上面是我收集的一些視瞥澩,在這個程序中幫到了我很多,如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們(785128166)里面有各種軟體測驗資源和技術討論,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556603.html
標籤:其他
上一篇:k8s 操作命令(合集List)
下一篇:返回列表
