測試用例設(shè)計的價值與誤區(qū)
測試用例是一系列特定的軟件行為,用于驗證軟件的某特定功能、檢查軟件能否正確處理某種出錯行為、或者檢查其他一些軟件質(zhì)量衡量的屬性 (如性能、安全、可靠性等)。 一個測試用例是一個正式的文件或記錄,描述了測試活動是怎樣具體執(zhí)行的。測試用例設(shè)計的目的就是發(fā)現(xiàn)缺陷,但是測試用例的用處遠遠超出發(fā)現(xiàn)缺陷。
測試用例文檔的一些好處如下:
1、歷史借鑒:測試用例的存在要遠遠超過產(chǎn)品發(fā)布。持續(xù)工程(Sustained engineering)以及產(chǎn)品未來版本的負責(zé)人往往需要借用測試用例來了解測試過什么,以及是如何測試的。測試用例文檔和一個有組織的儲存系統(tǒng)對長期支持或修訂產(chǎn)品的一部分是至關(guān)重要的策略。----注----為了便于后來者對于測試用例的使用和借鑒,測試用例設(shè)計要盡量描述準(zhǔn)確、步驟清晰。
2、測試進展跟蹤:通過測試用例文檔,可以跟蹤一些額外的屬性,如測試用例的執(zhí)行數(shù)目,測試用例的通過或失敗數(shù)目,以及每個功能領(lǐng)域的測試用例總數(shù)。 ----注----在測試用例管理系統(tǒng)中要準(zhǔn)確且實際地描述用例的執(zhí)行結(jié)果,包括其他必填的屬性,便于分期人員從各個屬性和維度進行測試過程分析。
3、可重復(fù)性:好的測試用例文檔可以由任何人在任何時候執(zhí)行。這同樣適用于自動和手動的測試用例。重復(fù)準(zhǔn)確地執(zhí)行同樣的測試對重現(xiàn)步驟或檢測回歸是至關(guān)重要的。 ----注----測試用例的描述要準(zhǔn)確、全面,要能保證除自己以外的測試人員能正確理解和執(zhí)行該用例。
測試用例文檔也有缺點:
1、建立文檔的時間:如果建立測試用例文檔的時間比運行測試用例所需的時間還長,建立測試用例文檔也許就沒有意義了。經(jīng)常有這樣的情況,即測試用例只需要在一個單一的環(huán)境下執(zhí)行寥寥幾次。 ----注----但是從測試用例價值的角度來考慮,建立測試用例文檔卻是個不可裁剪的過程。但是,這個缺點會隨著用例設(shè)計的熟練程度的提高以及用例設(shè)計平均時間成本的減小而逐漸減弱。
2、功能變化引起測試用例過期:建立測試用例所需的時間很可能因功能經(jīng)常變化而增加,以至于失去控制。如果測試用例的功能領(lǐng)域變化頻繁,建立測試用例文檔就不一定是明智的。這種場景之一是嘗試寫測試用例以驗證用戶界面組件。 ----注----功能需求或者設(shè)計和實現(xiàn)的變化常常導(dǎo)致測試用例需要調(diào)整和修改,甚至有時候修改用例的時間會超過新建用例的時間。因此,在用例設(shè)計過程中,保持與設(shè)計、開發(fā)人員的密切溝通,及時了解功能變化的情況十分必要。否則后期再修改用例的時間成本很大。當(dāng)然,在軟件開發(fā)后期,軟件需求和設(shè)計盡量保持穩(wěn)定是最合適的。
3、很難設(shè)想讀者的知識:寫測試用例的人往往極為熟悉被測試的功能。這些人常犯的錯誤是在測試用例中使用術(shù)語或縮寫,而將來運行測試用例的人很可能看不懂這些測試用例。出現(xiàn)這種情況出現(xiàn)時,測試用例已不再能準(zhǔn)確地重復(fù),測試用例也失去了這關(guān)鍵屬性之一。 ----注----為了用例便于后來者正常使用該用例,用例設(shè)計應(yīng)盡量避免使用只有自己熟悉的專業(yè)詞匯和縮寫詞,或者存在用例描述太簡潔但自己能理解的情況。
測試用例設(shè)計的誤區(qū)
創(chuàng)建好的測試用例是一個困難的過程。即使一個錯誤就可以毀掉測試用例的意圖。一些易出問題的領(lǐng)域如下:
1、步驟缺乏: 匆忙建立的測試用例或假設(shè)測試用例的一些步驟會被執(zhí)行而未將它們包括在測試用例里是非常常見的錯誤, 它造成不能準(zhǔn)確地重復(fù)。----注----必要的用例步驟不能省,避免在執(zhí)行用例的時候出現(xiàn)描述不清導(dǎo)致模棱兩可的情況發(fā)生,從而影響案例執(zhí)行進度。
2、太多細節(jié): 雖然提供具體和足夠的信息很重要,不必要的字詞或冗長的解釋,會使測試用例難以遵循。僅需包含足夠的信息以便精確地運行測試用例。 ----注----太多的細節(jié)描述會增加案例設(shè)計的成本,適可而止即可。
3、行話太多: 不要以為運行測試用例的人(包括產(chǎn)品技術(shù)支持和持續(xù)工程)都知道所有你寫的縮略語,代號和縮寫。闡明任何對整個產(chǎn)品生命周期有價值和必要的信息。 ----注----同上缺點3的注釋。
4、不明確的通過/失敗標(biāo)準(zhǔn): 如果運行測試后,不清楚測試是否通過或失敗,那測試用例是毫無用處的。----注----測試用例的預(yù)期結(jié)果一定要準(zhǔn)確和清晰。對于測試后存在不符合預(yù)期結(jié)果的情況,即可判斷為失敗,全部符合預(yù)期結(jié)果則為成功。
posted on 2014-09-26 10:06 順其自然EVO 閱讀(161) 評論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄