在軟件的整個生命周期中,軟件測試是一個重要環(huán)節(jié),軟件測試用例是軟件測試的基礎(chǔ),也是測試工作的指導(dǎo),所以做好軟件測試用例管理尤為重要。我們軟件測試中心專家從軟件測試用例管理、用例設(shè)計、用例執(zhí)行、用例任務(wù)管理、用例維護和人員以及權(quán)限管理等方面進行詳細闡述,提升測試用例設(shè)計、使用、共享、追溯以及管理的效率,縮短測試周期,降低測試成本。
1 軟件測試用例管理
軟件測試用例管理包括目錄創(chuàng)建、測試用例創(chuàng)建、引用、復(fù)制、導(dǎo)入、導(dǎo)出和統(tǒng)計等功能。
1.1 目錄和測試用例創(chuàng)建
軟件測試用例基于某個產(chǎn)品的某個功能進行設(shè)計。結(jié)合軟件開發(fā)的流程,產(chǎn)品經(jīng)過多次迭代版本的開發(fā)、測試才能進行發(fā)布,軟件測試用例會在不同的迭代版本中重復(fù)執(zhí)行。因此,測試用例按照表1 所示的層級進行管理。
第一級目錄為產(chǎn)品名稱,一個公司或者單位可能開發(fā)多個產(chǎn)品,因此可能存在多個一級目錄。第二級目錄為大版本,即對外發(fā)布版本。第三級目錄為基線庫和小版本,基線庫目錄下的用例為該大版本發(fā)布后最新的用例,該目錄中的用例在測試過程中實時更新測試用例內(nèi)容和測試結(jié)果;小版本中的測試用例為大版本迭代過程中的版本,測試執(zhí)行也是基于小版本進行,測試過程中若發(fā)現(xiàn)測試用例存在問題可進行修改,修改的用例自動回合到基線庫中。第四、五級目錄為產(chǎn)品的功能以及子功能,對功能繼續(xù)詳細劃分。第六級目錄為測試用例。
其中,第一級到第四級,若單位有版本配置管理部分,可配置后在此處自動顯示,保證數(shù)據(jù)源唯一;若沒有版本配置管理部分,系統(tǒng)名稱目錄下支持創(chuàng)建目錄或者用例,同一級目錄名稱不允許重復(fù)。
1.2 軟件測試用例引用
支持不同產(chǎn)品和同一產(chǎn)品不同大版本、不同小版本、同一大版本基線庫到小版本之間測試用例的引用,測試用例引用只引用用例內(nèi)容,不引用用例的測試結(jié)果,引用后的用例編號不發(fā)生變化。
不同產(chǎn)品和同一產(chǎn)品不同大版本、不同小版本間引用的用例單獨存儲,也就是引用后用例變成一個單獨的個體,與原用例不存在關(guān)聯(lián)關(guān)系。同一大版本基線庫到小版本之間測試用例的引用,小版本中的測試用例內(nèi)容發(fā)生變化,基線庫中用例隨之變化,保證基線庫中的用例為當(dāng)前大版本下最新的測試用例。其他小版本可繼續(xù)在基線庫中引用最新的測試用例。
測試用例引用功能在測試執(zhí)行過程中,方便測試管理人員管理測試用例,使不同版本間測試用例清晰,同時,保證各版本以及發(fā)布版本用例的可追溯性。
1.3 復(fù)制
支持對用例或者目錄進行復(fù)制,復(fù)制后的用例編號根據(jù)一定的規(guī)則發(fā)生變化。該場景在用例設(shè)計過程中,用例內(nèi)容大部分相同、少部分內(nèi)容不同時,可進行用例的復(fù)制,復(fù)制后對用例不同之處進行修改即可,大大提升測試用例設(shè)計人員編寫測試用例的效率。
1.4 導(dǎo)入
Excel清晰分級、快速填充序列和復(fù)制等功能在編寫測試用例時,為測試用例設(shè)計人員提供極大的方便。為將Excel中測試用例存儲在測試用例管理系統(tǒng)中,測試用例管理應(yīng)支持按照Excel格式進行用例導(dǎo)入,以及全量、增量和修改導(dǎo)入。要求用例編號作為唯一的標(biāo)識,已執(zhí)行過的測試記錄不能修改,當(dāng)前執(zhí)行結(jié)果可清空。導(dǎo)入的模板應(yīng)該預(yù)置在測試用例管理中,與導(dǎo)出功能的文件格式和標(biāo)題內(nèi)容保持一致。
1.5 導(dǎo)出
軟件測試用例支持導(dǎo)出Excel 和Word 兩種格式,Excel 格式便于批量修改測試用例后進行導(dǎo)入,Word 格式便于試驗大綱編制使用。Word 格式導(dǎo)出時可選擇帶執(zhí)行結(jié)果和不帶執(zhí)行結(jié)果導(dǎo)出,不帶執(zhí)行結(jié)果導(dǎo)出時,測試結(jié)果列將為空。
1.6 統(tǒng)計
支持右鍵按照用例目錄中的文件夾進行執(zhí)行情況統(tǒng)計,同時支持表格顯示統(tǒng)計結(jié)果,包括各子文件夾中以及總的用例個數(shù)、已執(zhí)行個數(shù)、執(zhí)行通過個數(shù)、執(zhí)行不通過個數(shù)和阻塞個數(shù)等,方便測試管理人員進行任務(wù)跟蹤和統(tǒng)計。
1.7 刪除
支持用例單個或者批量刪除,目錄刪除后,目錄下的所有測試用例均被刪除。
2 軟件測試用例設(shè)計
軟件測試用例至少應(yīng)該包括以下元素,即用例編號、系統(tǒng)/ 功能名稱、用例屬性、用例級別、是否可自動化、用例描述、前置條件、測試步驟及系統(tǒng)響應(yīng)、測試結(jié)果、設(shè)計者、執(zhí)行者、執(zhí)行時間和附圖等,具體內(nèi)容如下。
(1)用例編號。在某一產(chǎn)品中為唯一標(biāo)識,按照一定規(guī)律進行編號,如產(chǎn)品名稱、大版本名稱、系統(tǒng)/ 功能名稱、子功能名稱、序號。用例編號用于測試用例的回合、修改、導(dǎo)入等功能,通過測試用例編號進行用例的唯一標(biāo)識和操作。
(2)系統(tǒng)/ 功能名稱。指該用例所屬的系統(tǒng)或者功能名稱,用于對用例進行分類,方便后續(xù)進行搜索、統(tǒng)計等管理,建議前期將系統(tǒng)/ 功能名稱預(yù)置到測試用例系統(tǒng)中或者Excel 的下拉列表中,供測試用例設(shè)計人員進行選擇。
(3)用例屬性。指該測試用例屬于具體類型的測試用例,如功能測試、性能測試、安全測試、接口測試、可靠性測試等,建議前期將用例屬性預(yù)置到測試用例管理系統(tǒng)中或者Excel的下拉列表中,供測試用例設(shè)計人員進行選擇。
(4)用例級別。至少包括3 個級別,分別代表測試用例待測試的重要和緊急程度,第一級別用例也可稱為冒泡用例,代表交付版本的最基本功能。版本交付給測試人員后,首先,進行第一級別用例測試,若第一級別用例測試通過,版本可進行全面測試,否則,版本打回,待最基本功能修復(fù)正常后重新交付給測試人員。其次,第二級別用例是指除冒泡用例之外的基本功能用例,該級別用例在版本發(fā)布前,必須進行全量測試。最后,第三級別用例異常用例,也就是針對測試功能中的異常場景測試的用例,該級別用例正常情況下只測試一次即可。
(5)是否可自動化。用于標(biāo)識測試用例是否可通過自動化進行驗證,建議有兩個選項,即“是”或者“否”,“是”表示該測試用例可通過自動化進行測試,“否”表示該測試用例只能通過手工進行測試。
(6)用例描述。描述用例主要測試的內(nèi)容以及預(yù)期結(jié)果,要求簡單明了,能一目了然地識別測試內(nèi)容和期望結(jié)果。
(7)前置條件。測試前的準(zhǔn)備條件或需要滿足的條件。
(8)測試步驟及系統(tǒng)響應(yīng)。測試步驟體是測試過程中需要執(zhí)行的步驟或者操作,要求盡可能描述詳細,保證測試人員可執(zhí)行性;系統(tǒng)響應(yīng)是指每一步操作系統(tǒng)應(yīng)該如何響應(yīng),如應(yīng)該顯示一個怎樣的畫面。
(9)測試結(jié)果。測試結(jié)果表示測試用例的測試情況,包括通過、不通過和阻塞。測試的結(jié)果與系統(tǒng)響應(yīng)一致時,測試結(jié)果為通過;測試的結(jié)果與系統(tǒng)響應(yīng)不一致時,測試結(jié)果為不通過;還有一部分測試用例可能由于其他系統(tǒng)原因或者其他功能存在問題導(dǎo)致該用例無法測試,這部分測試用例的測試結(jié)果為阻塞。分析測試用例結(jié)論時,可通過測試用例的結(jié)果統(tǒng)計該版本不通過用例的數(shù)量,便于測試管理人員制定下一個版本測試策略或者做出關(guān)于版本是否可發(fā)布上網(wǎng)的結(jié)論。
(10)設(shè)計者。設(shè)計測試用例人員,如果是在系統(tǒng)中進行用例的設(shè)計,那么可直接使用登錄賬戶自動填寫。
(11)執(zhí)行者。執(zhí)行測試用例人員,標(biāo)注測試用例結(jié)果時,可直接使用登錄賬戶自動化填寫。
(12)執(zhí)行時間。本次測試用例執(zhí)行時間,在標(biāo)注執(zhí)行結(jié)果時自動填寫。
(13)附圖。在系統(tǒng)響應(yīng)中,有些預(yù)期結(jié)果無法準(zhǔn)確描述,需要利用圖示進行說明,故此測試用例管理系統(tǒng)需要支持上傳圖片。
3 軟件測試用例執(zhí)行
3.1 軟件測試用例手工執(zhí)行
軟件測試用例執(zhí)行包括單個執(zhí)行和批量執(zhí)行兩種方式。
(1)單個執(zhí)行。選擇樹型結(jié)構(gòu)中的用例,右鍵可標(biāo)注用例結(jié)果為通過、不通過和阻塞。
(2)批量執(zhí)行。選擇樹型結(jié)構(gòu)中的目錄,右鍵可標(biāo)注該目錄下所有用例的結(jié)果。
3.2 軟件測試用例自動化執(zhí)行
支持使用不同插件進行測試用例自動化開發(fā)以及測試結(jié)果的自動標(biāo)注。自動化標(biāo)注的測試用例結(jié)果建議增加標(biāo)識,表示該執(zhí)行結(jié)果通過自動化執(zhí)行。
3.3 執(zhí)行日志記錄
每個版本中,記錄測試用例執(zhí)行日志,包括測試時間(精確到秒)、執(zhí)行方式(手動執(zhí)行、自動化執(zhí)行)、執(zhí)行結(jié)果和執(zhí)行人,有助于用例后續(xù)追溯使用或者統(tǒng)計使用。
最后軟件測試用例執(zhí)行數(shù)據(jù)都要體現(xiàn)到《軟件測試報告》文檔中,比如測試用例通過率、未通過用例、阻塞用例,軟件測試用例的執(zhí)行情況也是整個《軟件測試報告》的精華所在??蓞⒖迹?a href="http://www.yauy.cn/1896.html" target="_blank" title="如何正確解讀和應(yīng)用軟件測試報告中的數(shù)據(jù)">《如何正確解讀和應(yīng)用軟件測試報告中的數(shù)據(jù)》
4 軟件測試用例任務(wù)管理
任務(wù)管理需要支持任務(wù)創(chuàng)建、任務(wù)信息顯示、用例執(zhí)行以及執(zhí)行結(jié)果統(tǒng)計。
(1)任務(wù)創(chuàng)建。支持右鍵基于試驗版本信息測試任務(wù)的創(chuàng)建,輸入任務(wù)名稱,選擇責(zé)任人,選擇該版本下的用例,且同一用例不能重復(fù)分配。
(2)任務(wù)信息顯示。樹型結(jié)構(gòu)中顯示該任務(wù)下的用例信息,右側(cè)顯示任務(wù)詳細信息或者用例詳細信息。
(3)用例執(zhí)行。支持可按照任務(wù)方式進行自動化用例執(zhí)行和手工用例執(zhí)行。
(4)執(zhí)行結(jié)果統(tǒng)計。以任務(wù)為基準(zhǔn),統(tǒng)計結(jié)果內(nèi)容包括各任務(wù)下的用例個數(shù)、已執(zhí)行個數(shù)、執(zhí)行通過個數(shù)、執(zhí)行不通過個數(shù)、阻塞個數(shù)、未執(zhí)行個數(shù)和執(zhí)行進展(已執(zhí)行個數(shù)/ 用例個數(shù))。
5 軟件測試用例維護
軟件迭代過程中,測試用例需要不斷刷新和維護。
針對小的變更,在版本交付過程中,應(yīng)對測試用例進行維護修改;
針對需求變更或者新增,應(yīng)及時增加和刪除測試用例;
版本發(fā)布后,根據(jù)用戶反饋的缺陷,應(yīng)及時分析并補充測試用例。因此,測試用例維護是比較重要的過程,應(yīng)及時刪除過時、冗余的用例,刷新需變更的用例,及時補充新需求用例。
6 軟件測試人員及權(quán)限管理
(1)測試人員管理。支持用戶的登錄、創(chuàng)建、修改和刪除,默認(rèn)有一個管理員賬戶;支持用戶與權(quán)限的關(guān)聯(lián),用例只能按照指定操作的權(quán)限進行操作或者顯示。
(2)權(quán)限管理。支持權(quán)限創(chuàng)建、修改和刪除,各功能應(yīng)具有自己的權(quán)限項,針對不同人員,通過分配相應(yīng)的權(quán)限對用例的操作進行控制。
軟件測試用例是測試人員最基本的操作依據(jù),軟件測試用例合理的管理,對軟件測試的質(zhì)量和測試人員的工作效率會有較大的提升。本文結(jié)合軟件開發(fā)和測試的工作經(jīng)驗,詳細分析了測試用例管理應(yīng)具備的功能,將這些功能完全應(yīng)用到軟件測試過程中,使整個驗證過程更清晰,管理效率更高,追溯性更強。