【IT168 專稿】 如何選擇合適的測試用例實(shí)現(xiàn)自動化? 對于自動化測試團(tuán)隊(duì)而言,容易犯的一個典型的錯誤是:沒有選擇恰當(dāng)?shù)臏y試用例來實(shí)現(xiàn)自動化。 大部分測試自動化項(xiàng)目失敗的原因主要?dú)w咎于被測試應(yīng)用程序的快速變化、不恰當(dāng)?shù)臏y試用例、不可靠的框架、腳本編程的問題。分析這些問題的根源,我們可以看到,自動化測試必須分階段逐步開展,而不能局限在某個階段完成自動化測試。因此,建議自動化測試從選擇那些重要的、合適的測試用例開始,然后慢慢地擴(kuò)展到其他方面。這樣會帶來較低的維護(hù)成本,但是實(shí)現(xiàn)更重要的業(yè)務(wù)價值。 通常需要結(jié)合測試用例的復(fù)雜度的評估來考慮選擇的測試用例以及個數(shù)。首先把測試用例按一定的原則分為簡單、中等、復(fù)雜3大類。然后從這3大類的測試用例中按一定的比例來抽取需要實(shí)現(xiàn)自動化的用例。 測試用例的復(fù)雜度分組可以通過綜合分析測試用例包含的測試步驟(操作步驟),以及測試用例所包含的檢查點(diǎn)個數(shù)來判定,例如可參考下表來分類: 表中規(guī)定: 1、如果測試用例中包含的測試步驟個數(shù)小于5,檢查點(diǎn)個數(shù)也小于5,則判定為簡單類型的測試用例,對于這類測試用例,可多選擇一些用于實(shí)現(xiàn)自動化。 2、如果測試用例中包含的測試步驟在5到15個之間,檢查點(diǎn)個數(shù)在5到10個之間,則判定為中等復(fù)雜類型的測試用例,對于這類測試用例,可略選擇少一些用于實(shí)現(xiàn)自動化。 3、如果測試用例中包含的測試步驟在15到25個之間,檢查點(diǎn)個數(shù)在10到15個之間,則判定為復(fù)雜類型的測試用例,對于這類測試用例,可再略為選擇少一些用于實(shí)現(xiàn)自動化。 例如下表顯示了25個測試用例中每個用例所包含的測試步驟: 根據(jù)這個表,可以畫出圖1所示的復(fù)雜度與測試步驟個數(shù)的關(guān)系圖: 圖1 復(fù)雜度與測試步驟個數(shù)的關(guān)系圖 然后,我們可以基于這個圖計算出平均的測試步驟個數(shù)是16個,那么以此為基準(zhǔn)點(diǎn),再定出上、下限分別是8和25,則可以這樣定義測試用例的復(fù)雜度: 簡單 : ≤ 7 個步驟
中等 : ≥ 8 個步驟 -- ≤ 16 個步驟 復(fù)雜 : ≥ 17 個步驟 -- ≤ 25 個步驟 類似的,我們可以再加入檢查點(diǎn)的個數(shù),按類似的方法進(jìn)行計算。 影響測試自動化工作量評估的因素 但是,前面所講到依據(jù)測試步驟和檢查點(diǎn)個數(shù)來判斷測試用例復(fù)雜度的方法還是有不少的缺陷,個數(shù)僅僅是一種參考,還需要綜合考慮其他的方面,例如 1、需要注意每個腳本開發(fā)前的工作量也要納入計算: (1) 通過手工測試確認(rèn)操作的正確性。 當(dāng)然,這些方面的工作量也很大程度上取決于測試用例的測試步驟個數(shù)。 2、另外功能的重復(fù)性也是判斷復(fù)雜度和工作量的因素之一。如果測試用例的步驟比較復(fù)雜,但是與其他測試用例比較類似,具有功能上的重復(fù)性,則也可以標(biāo)志為“中等”或“低”的復(fù)雜度。 3、如果測試用例的測試步驟超過了上限控制點(diǎn)(例如25),那么那些額外的超出上限的步驟可以考慮放到另外一個測試用例中。例如,上面的例子中,編號為06的測試用例包含30個步驟,則可標(biāo)識為“1個復(fù)雜的用例 + 1個簡單的用例” 4、需要考慮那些被標(biāo)識為“復(fù)雜”而不是“中等”的測試用例是否應(yīng)該被自動化實(shí)現(xiàn),因?yàn)閷?shí)現(xiàn)過多的復(fù)雜的測試用例會給自動化測試帶來沉重的負(fù)擔(dān)。
另外,不可忽視的一點(diǎn)是測試工具以及自動化測試工程師的個人技能,這些都會對自動化測試項(xiàng)目能否成功實(shí)現(xiàn)有著重大的影響。 在被測試的應(yīng)用程序中,如果包含了大量的自定義控件、第三方控件,則自動化測試工程師需要付出更多的努力來“對付”這些問題,這是因?yàn)榇蟛糠值臏y試工具在這些方面都僅僅提供非常有限的支持。 測試框架設(shè)計與工作量評估 針對某個測試工具的測試框架而言,商業(yè)的和開源的都有很多,例如QTestWare、SAFFRON、EMOS等。當(dāng)然也可以自己構(gòu)建自動化測試框架。這些框架可以節(jié)省很多腳本編寫、調(diào)試和維護(hù)等方面的工作量。但是需要注意根據(jù)被測試應(yīng)用程序來進(jìn)行修改和個性化改造。 框架的一般特點(diǎn)是: 1、在項(xiàng)目中是可移植、可擴(kuò)展、可重用的。 因此,測試框架的采用與否,設(shè)計合理與否都與自動化測試的實(shí)現(xiàn)難度、工作量有密切的關(guān)系。一般而言,采用合理的測試框架對于減輕自動化測試腳本的編寫難度和工作量都有積極的作用。 但是需要注意的是,測試框架需要隨著腳本的開發(fā)進(jìn)程不斷地更新。如果有很多的腳本在并行開發(fā)的話,框架的維護(hù)難度也會增大。因此,這些方面也是工作量評估需要考慮的方面。 測試腳本編寫工作量的評估 在前面,我們大概介紹了測試用例的選擇、框架設(shè)計和開發(fā)對自動化測試的影響以及工作量的評估。到了腳本開發(fā)和調(diào)試、執(zhí)行的階段,仍然有不少的工作量,例如下表所列的: 我們可以通過分析和評估,然后填寫上面表格,從而得到每個腳本的總體成本。 小結(jié) 本文略為介紹了一些自動化測試實(shí)現(xiàn)過程中可能碰到的問題,以及如何評估這些問題帶來的工作量,為自動化測試團(tuán)隊(duì)開展自動化測試前對項(xiàng)目實(shí)現(xiàn)自動化測試的成本估算提供了一些參考。 總的來說,自動化測試的總體成本計算需要包含以下方面: 1、測試需求收集和分析。 1、《TEST AUTOMATION EFFORT ESTIMATION》 - Babu Narayanan |
|