無論是在自動化測試實踐,還是日常交流中,經常聽到一個詞:框架。之前學習自動化測試的過程中,一直對“框架”這個詞知其然不知其所以然。
最近看了很多自動化相關的資料,加上自己的一些實踐,算是對“框架”有了一些理解,這篇博客,就聊聊自動化框架的一些事吧。
一、什麼是框架
框架(framework)是一個框子——指其約束性,也是一個架子——指其支撐性。是一個基本概念上的結構,用於去解決或者處理複雜的問題。
在軟件工程中,框架(Framework)是整個或部分系統的可重用設計,表現為一組抽象構件及構件實例間交互的方法;
另一種定義認為,框架是可被應用開發者定製的應用骨架,前者是從應用方面而後者是從目的方面給出的定義。
—— 百度百科
上面的概念比較抽象,換另一個角度解釋:
1、框架本身一般不完整到可以解決特定問題;
2、框架天生就是為擴展而設計的;
3、框架裡面可以為後續擴展的組件提供很多輔助性、支撐性的方便易用的工具,也就是說框架是配套了一些幫助解決某類問題的庫(libraries)或工具(tools)。
約束性:針對解決特定問題的軟件框架會首先定義問題的邊界,進而將相關的軟件組件約束在這個邊界內,保持框架在解決問題方面上的內聚性。
支撐性:框架本身不解決什麼問題,但給瞭解決問題的相關組件一個組合底子,這個底子的科學性和易用性直接影響在此之上進一步開發的科學性和方便性。
—— 知乎
上面的2個對框架的解釋和定義,看起來也並沒有很簡單直白的說清楚什麼是框架,下面是我的一些理解:
定義:為解決某些特定問題而約束邊界,支撐整個問題解決方案,配套了一些解決問題的組件而構成的工具。
特定問題:什麼問題?——自動化測試
約束邊界:為什麼約束?——明確測試範圍和目的
解決方案:用什麼方案解決問題?——編程語言+工具+其他
構成工具的組件:哪些組件?——用例、腳本、數據、日誌、報告、通知
工具:特點是什麼?——靈活性、可擴展性、高內聚低耦合
二、自動化測試
1、為什麼要進行自動化測試?
①、黑盒測試迴歸效率低
②、手動測試的偶然性和不確定性
③、迴歸的覆蓋率不足
④、交付的產品質量無法保證,全
龍騰原創
聯繫作者longtestyan