我們的自動化測試為什么這么難?(3)

發表于:2012-12-10來源:Csdn作者:磚家叫獸點擊數: 標簽:自動化測試
自動化測試平臺的搭建需要考慮其各方面的表現,因為它是一個較為通用的應用程序,故而,它的 兼容性 和健壯性要求很高。在一個測試組織或者一個公

  自動化測試平臺的搭建需要考慮其各方面的表現,因為它是一個較為通用的應用程序,故而,它的兼容性和健壯性要求很高。在一個測試組織或者一個公司內部,一般自動化測試平臺應該可以做到通用于所有的系統測試,即便它們所采用的技術乃至理念會有所不同。就像我們通過測試平臺STAF可以實現調度像QTP、SELENIUM這種UI層的自動化測試,也可以完成對JUNIT測試用例的運行調度和管理。而測試結果的分析也可以通過相應的報表系統來完成,按照我們自己的需求,把調度管理和分析管理等其他功能模塊有機組合在一起,形成一個功能較為完整的測試平臺。平臺建設得好,無論是單純的UI層驗證測試還是敏捷測試,我們應該都能夠支持得好。

  我們知道,并不是一個自動化測試框架就能夠應用于所有系統的自動化開發,因為被測程序的特點本身就本不相同,即便在同一個公司,也會因不同的開發風格和開發技術而要求有不同的測試方法。所以自動化測試框架雖不需要每個系統單獨開發一套,但是也很難做到用一個框架支持所有系統的測試,最好的辦法就是根據開發技術劃分所需要使用的測試框架種類,例如QTP測試的純WEB型、GUI型和各種插件開發型(如dotNet、JAVA等)。

  關于自動化測試平臺和框架的異同等方面,筆者曾在另外一篇自己的學習總結《軟件測試自動化的探索與管理》中曾有過闡述,這里不再贅述。在完成這些基礎建設之后我們才能夠開始我們的大規模的人力投入,來進行針對每一個項目和系統的具體實施,否則如果先后顛倒或者本末倒置,勢必會讓我們面臨糾結的重復建設和開發投入。而另一方面,在自動化測試實施的過程中,我們可能會隨時面臨很多的問題和困擾,但是在解決這些問題之后,我們測試人員的技能又能夠得到提升。在技能提升的前提下,后續又可以進行新的改進和新需求的達成,這是一個循環的過程,也是自動化測試建設本身的持續優化。

  從上圖可以看到,這一系列的過程都是圍繞著一個中心進行的,那就是自動化測試的KPI指標。前文曾簡單提到過KPI的導向作用,我們千萬不要小看那么幾組小小的數字,更不要指望測試人員能夠“跳出考核指標,為真理而奮斗”。所以如果我們的指標指向偏離我們的核心目標,那么自動化建設就會被引入誤區,可能產生形式化、教條化甚至作假問題的產生。我們核心的目標是系統可用率和缺陷消除率(在一個分層扁平式管理的大型IT公司里,考核除了依賴對這些基礎的貢獻度的考察,我們還真沒有想到其他更好的辦法,雖然有敏捷思想的沖擊和新考核建議的提出,但是在體制下和運營方式沒有發生大的變化之前,或許只有這種考核方式才能勉強應付用戶的資金投入和期許了),既然缺陷的消除對我們如此重要,那么我們的自動化測試行為就應該圍繞著應可能多的發現應用缺陷這個主題來進行。所以自動化測試的覆蓋率、運行通過率等指標都只是過程中的參考數據,根本不能用來考核自動化的成果,這些指標的作用在自動化測試實施層面上還不如同行專家評審,雖然它們對中高層管理者來說有一定的參考意義。雖然很多人一再強調,UI自動化測試只是用來驗證系統的正常運行,增加測試人員的信心,但是我始終不以為然。如果一個版本周期只在版本即將封版的時候運行一兩次,或許可以這么說;但是自動化測試是可以投入系統測試階段中使用的,至少可以進行基本的冒煙測試執行。如果在自動化應用于冒煙測試卻發現不了缺陷,而手工執行能夠發現一些嚴重問題,那么這個系統的自動化測試程序絕對是不合格的。依托自動化測試管理平臺,我們適當提高運行頻率,通過大面積自動化的頁面操作,一定能夠發現很多問題——如果我們愿意為腳本灌入足夠多的測試數據,愿意在運行結束之后仔細地分析測試結果,那么自動化測試絕對是有產出的。

  自動化測試的指標也是可以持續優化的,通過不同階段的現狀,適當調整自動化測試的KPI,用以指導自動化測試工作的開展。筆者認為無論高層的KPI如何定制,但是拆解到自動化測試實施的過程中,就需要更加有可行性并且具備正確的引導作用。例如我們可以考慮采集如下數據進行分析,來判斷的自動化腳本開發的有效性和自動化測試建設對于我們的系統測試的幫助有多少:

  腳本評審通過率:通過評審的測試腳本/所有通過開發、調試的測試腳本

  腳本同步及時率:在應用缺陷修復之后指定時間內完成的測試腳本數/所有運行失敗腳本數

  測試缺陷發現率:通過自動化測試發現的缺陷數/所有系統測試缺陷數

  功能選擇活動率:三個月內涉及功能變更的測試腳本數/所有測試腳本數

  資源占用超標率:平均運行時間超過手工測試用例平均執行時間的腳本/所有測試腳本數

  如是種種,各位不妨結合自己的實際進行參考或者設置,筆者這里只是簡單舉例,并不具備通用性;只是希望大家可以多參與交流、多思考,組織頭腦風暴神馬的都可以,只是千萬不要閉門造車。

  結束語

  測試人員需要能夠勝任重復性的工作,但是測試人員絕不需要勝任被引導著去重蹈覆轍的行為,自動化測試建設成功與否,完全取決于參與建設的人的素質。本文標題里有個“要”字,是因為筆者認為自動化測試建設的成敗、自動化測試之路走得是否通順完全在人,而并非測試工具等其他外在因素。

  可一敗,不可再敗!慎!慎!

  萬事開頭難,但絕不該始終都難!三思!三思!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97