(一)測試用例是軟件測試過程管理的方法
? ? ? ? 軟件測試是軟件質量管理中最實際的行動,同時也是耗時最大的一項工作
? ? ? ? 軟件測試需要有組織、步驟和計劃的開展
? ? ? ? 軟件測試工作需要能夠量化,而測試用例是將測試行為具體量化的方法之一
(二)測試用例定義
? ? ? ? 測試用例就是設計一種情況,軟件在這種情況下,能夠正常運行并且達到期望執(zhí)行結果。如果程序在這種情況下不能正常運行,而且這種問題會重復發(fā)生,那可能是一個軟件缺陷
(三)作用
? ? ? ? 在開始實施測試之前設計好測試用例,可以避免盲目測試并提高測試效率
? ? ? ? 測試用例的使用使軟件測試的實施重點突出、目的明確
? ? ? ? 在軟件版本更新后只需修正少部分的測試用例便可展開測試工作,降低工作強度,縮短項目周期
? ? ? ? 測試用例的通用化和復用化使軟件測試易于開展,并隨著測試用例的不斷精化其效率也不斷攀升
? ? ? ? 測試用例有助于不斷的改進工作??梢灾滥男y試用例測出Bug的機率比較大,哪些測試用例需要改進,對以后工作的改進提供依據(jù)
? ? ? ? 在時間緊迫的情況下,不知道要測什么,或者要先測試哪些功能,測試用例可以用來分清重點
? ? ? ? 測試用例是測試工作的見證,有了測試用例,就知道測試了哪些功能,哪些功能沒有測到
(四)測試用例基本要素
? ? ? ? 測試用例編號,測試項日,測試標題,重要級別,預置條件,輸入,操作出驟,預期輸出,測試結果,測試者&時間
(五)測試用例維護
? ? ? ? 測試執(zhí)行過程中,應該注意及時更新測試用例,發(fā)現(xiàn)遺漏了一些測試用例,這時候應該及補充
? ? ? ? 發(fā)現(xiàn)有些測試用例在具體的執(zhí)行過程中根本無法操作,這時候應該修改這部分用例
? ? ? ? 發(fā)現(xiàn)若干個冗余的測試用例完全可以由某一個測試用例替代,那么刪除冗余的測試用例
(六)執(zhí)行
? ? ? ? 被測試對象就緒后,根據(jù)測試用例執(zhí)行順序,優(yōu)先級,執(zhí)行測試用例
? ? ? ? 測試執(zhí)行過程中,當測試的實際輸出結果與測試用例中的預期輸出結果一致時,則該測試用例通過,否則需要進一步排查失敗的原因
(七)定義執(zhí)行優(yōu)先級
? ? ? ? 定義測試用例的優(yōu)先級,對測試的執(zhí)行效率影響非常大
? ? ? ? 最基礎——>優(yōu)先級最高
(八)全方位檢查軟件輸出
? ? ? ? 即便實際測試結果與測試的預期結果一致,也要查看軟件產品的操作日志、系統(tǒng)運行日志和系統(tǒng)資源使用情況,來判斷測試用例是否執(zhí)行成功了,全方位觀察軟件的輸出可以發(fā)現(xiàn)很多隱蔽的問題
(九)加強測試過程記錄
? ? ? ? 如果測試執(zhí)行步驟與測試用例中描述的有差異,要記錄下來,作為日后更新測試用例的依據(jù)
? ? ? ? 如果軟件產品提供了日志功能,比如有軟件運行日志、用戶操作日志,在每個測試用例執(zhí)行后記錄相關的日志文件,作為測試過程記錄,特別是對于執(zhí)行失敗的用例
(十)及時確認發(fā)現(xiàn)的問題
? ? ? ? 測試執(zhí)行過程中,如果確認發(fā)現(xiàn)了軟件的缺陷,要及時提交問題報告單
? ? ? ? 如果發(fā)現(xiàn)了可疑問題,又無法定位是否為軟件缺陷,需要保留現(xiàn)場,然后通知相關開發(fā)人員到現(xiàn)場定位問題。如果開發(fā)人員在短時間內可以確認是否為軟件缺陷,測試人員給予配合
? ? ? ? 如果開發(fā)人員定位問題需要花費很長的時間,測試人員不要因此耽誤自己的測試時間,可以讓開發(fā)人員記錄重現(xiàn)問題的測試環(huán)境配置,然后回到自己的開發(fā)環(huán)境上重現(xiàn)問題,繼續(xù)定位問題
(十一)測試用例評審
概念:
? ? ? ? 測試用例的評審能夠使用例的結構更清晰,覆蓋的用戶場景更全面
? ? ? ? 對于測試工程師來說也是一個快速提高用例設計能力的過程
? ? ? ? 測試用例是軟件測試的準則,但它并不是一經編制完成就成為準則。由于用例開發(fā)人員的設計經驗和對需求理解的深度各不相同,所以用例的質量難免會有不同程度的差異
評審時機:
? ? ? ? 在用例的初步設計完成之后進行評審
? ? ? ? 在整個詳細用例全部完成之后進行二次評審。如果項目時間比較緊張,盡可能保證對用例設計進行評審,提前發(fā)現(xiàn)其中的不足之處
關注點:
? ? ? ? 用例設計的結構安排是否清晰、合理,是否利于高效對需求進行覆蓋
? ? ? ? 優(yōu)先極安排是否合理
? ? ? ? 是否覆蓋測試需求上的所有功能點
? ? ? ? 用例是否具有很好可執(zhí)行性。例如用例的前提條件、執(zhí)行步驟、輸入數(shù)據(jù)和期待結果是否清晰、正確;期待結果是否有明顯的驗證方法
? ? ? ? 是否已經刪除了冗余的用例
? ? ? ? 是否包含充分的異常測試用例
? ? ? ? 是否從用戶層面來設計用戶使用場景和使用流程的測試用例
? ? ? ? 是否簡潔,復用性強。例如,可將重復度高的步驟或過程抽取出來定義為一些可復用標準步驟