思考自動化測試--分層測試(三)

思考自動化測試--分層測試(三)

由于多種原因吧,自動化測試剛開始發展,都想去做手工測試代替,都想做黑盒的覆蓋測試。結果,自動化測試維護成本過高,穩定性也不好,但是執行效率,回歸起來又不錯。越來越多的人在思考如何更好的做自動化測試。尤其是在敏捷開發盛行的年代,自動化測試已經成了軟件開發測試過程中,重要的組成部分,那么到底怎么做自動化測試收效最高呢。目前較為流行的方式--分層測試。
我比較推薦分層測試的金字塔說法:分層測試就是構建高效的測試金字塔,不同層次的測試可以用盡量低的成本防御不同類型的風險。
說法慢抽象的,先來看個實例圖,再做慢慢解釋:


測試金子塔
測試金子塔

上面我們先看到了金字塔了,然后我以比較常見的web項目做例子來解釋分層測試。誠如上面說的如果我們單純做黑盒的自動化測試,其實就是在UI這個層次上,不斷開發維護腳本,結果可能帶來的風險就是人員的無限投入,卻很難得到比較好的測試效果。而這個金子塔的意思就是將應用,分成不同層次的自動化測試,比方說UI就是通過界面進行端對端測試,一般是黑盒測試;service一般針對接口,服務,比方說如果你用REST方式構建web的話,那么可以對REST接口進行測試,還有比方說直接對HTTP接口進行測試,對webservice接口進行測試;而Unit這個包含的比較多了,簡單的說在web應用的dao,service,controller,model這些可以寫類似junit的單元測試,javascript,css也可以做前段的單元測試。這這個金子塔就說的,根據層次劃分,不同層次的測試量不同, 越是在塔尖的,測試開發維護都比較復雜,那么測試的量就越小,而下層的單元測試則可進行比較高的覆蓋測試。
簡單的說,分層自動化測試,就是把我們單一看著UI的功能自動化測試,將自動化測試擴展到不同的軟件層次上,進行測試。
這種測試方式,相比于傳統的自動化測試,會有幾個改變:

  • 將開發拉入測試:其實測試工作也是開發一個很重要的工作內容,傳統的開發測試分的很細的方式,不利于分層測試,像單元測試,還是需要開發多多投入。
  • 將測試引入開發:分層的測試,需要對被測系統的開發結構有認識,至少你要知道你覆蓋了多少了吧,甚至開發大致怎么實現的,不然UI前面對那些接口也不知道那很難評估測試結果的。
  • 最好跟持續集成配合使用:重復利用自動化測試的執行成本低的效率,在工程集成完畢前后,更加自動地執行測試,及時的反饋測試結果,從而更好地提高測試效率。
  • 使用Mock來實現分層測試,因為是分層那么就可能有隔離一些模塊或者外系統,那么就可以用Mock來模擬這些隔離的模塊,進行測試。
  • 需要合理的評估測試覆蓋,不同層次的測試程度都需要合理的評估,這個范圍的控制是保證分層測試測試質量的最核心的規劃,這個才是成功關鍵。

綜上所述,分層自動化測試是追求覆蓋的傳統自動化測試的一種修正,充分利用自動化測試的優點,盡量規避自動化測試的缺點。當然分層測試也有些要注意的問題:

  • 測試重復:分層可能對測試是重復的,在上層測過了,下層還繼續測。從測試角度上說是重復測試,但是從整個流程看測試的話,不同層次的測試,屬于過程的不同階段,比方說單元測試,可以在編譯后進行測試,在集成前就可以發現問題,而UI的自動化測試則更加滯后一點,功能不同效果不同,測試的重復還是可以忍受的。
  • 測試遺漏:這個就很需要對測試覆蓋的規劃能力,而且這里要說明的一點,自動化測試不能或者很難做到全覆蓋測試。手工測試還是不能放下的,而手工做到全覆蓋是有必要的。
  • 測試復雜度,分層測試需要工具比較多,人員能力比較強,要控制那么多工具進行測試,還要對業務,甚至開發有了解,還要開發人員參與進來,投入也不小。

不管分層測試有多少難度,他是目前解決自動化測試開發維護的一個比較好的方案。如果要大規模使用自動化測試,我想分層的思想應該是不容忽視的。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內容