為何強化測試用例在測試活動中的作用 軟件測試
本文不可能將軟件測試流程優化的話題闡述的面面俱到,因此只從管理角度談談測試用例在測試活動中的重要性,以及測試用例管理流程的一些改進思路。
1. 強化測試用例在測試活動中的作用
測試用例在實際中沒有起多大作用,在實際測試時根本沒有按測試用例執行,測試執行后沒有把新的測試用例補充到用例庫中……為何如此?我們分析認為,根本原因是對測試用例重要性的認識不夠,測試流程不完善,針對測試用例的管理流程更不完善,從三個方面具體來說:
1) 測試用例的重要性是毋庸置疑的,它是軟件測試全部過程的核心,是測試執行環節的基本依據,如果這個依據不能足夠發揮它應起的作用,那是不是說這個依據不明確、依據設計的不合理呢?答案是肯定的!
2) 制定了完備有效的測試用例,為什么不按測試用例執行測試呢?首先是因為企業沒有嚴格和良好的機制促使和保證測試執行者這樣做;其次是個別測試人員投機取巧心理作祟的表現。
3) 測試用例設計得不可能天衣無縫,不可能完全滿足軟件需求的覆蓋要求,測試執行過程里肯定會發現有些測試路徑或數據在用例里沒有體現,那么事后該將其補充到用例庫里,以方便他人和后續版本的測試;如果沒有這樣做,那么測試部門負責人和每個測試員都難辭其疚,是該重新坐下來思考一下公司的測試用例管理規范和測試流程了。
2. 改進測試用例執行過程
那么究竟如何做,才能盡量避免上述問題呢?我們不妨從軟件開發周期的每個階段就把這些問題考慮進去,以便從初始就力爭將問題縮到最小,將其扼殺在萌芽階段,以防后期階段出現問題時互相推卸責任或干脆束手無策!
1) 軟件需求分析階段,筆者從來認為測試人員從軟件生命周期的需求階段就開始介入。通常測試人員的測試工作開展在開發周期的末尾,如果前期不涉入,如何通曉整個系統的需求和架構而對其充分測試呢?雖然該觀點被大多數同行所認可,但我知道依然有很多公司為了節省費用,不讓測試人員參與前期調研或制定需求,經常的做法是等到系統開發完畢或將近完成,跟測試經理說一聲"這邊有個項目,你找幾個人來測試一下吧!"經驗表明,這樣的做法實不可取。
測試人員(指項目的測試負責人和測試工程師)在需求階段的任務有:
a. 參與軟件需求調研,以測試角度分析需求的可測性,可構思將來對其測試的方法、原則等;更重要的是,對不可測或難以測試性問題要及時與客戶或項目經理協調解決。
b. 全面了解系統需求,從客戶角度考慮軟件測試需要達到的驗證狀態,即何些功能點需重點測試、何些無需,以便將來制定測試計劃。 推薦企業采用類似于IBM Rational Requisitepro的需求管理工具來制定和管理軟件需求,同時需要測試人員的配合,保證對軟件測試環節的充分考慮。
2) 軟件分析設計階段,測試人員除制定測試計劃書等基本工作外,筆者認為還有一個相當必要的任務,那就是將系統的可測性落實到書面文檔,以備將來編寫測試用例。 之所以要這么做,是因為考慮到很多企業編寫測試用例直接參考需求規格說明書或者分析流程圖,這樣跨度大,難度也大,是造成測試用例不完備、覆蓋范圍小的重要原因。 如果公司采用類似于IBM Rational Rose的建模分析工具和IBM Rational Rose XDE Developer的可視化設計開發環境,這個工作更好執行;如果沒有,那么測試人員更有必要編寫一份《軟件功能點測試描述書》,它是軟件的詳細測試分析文檔,其主旨是將系統分析人員的開發分析文檔加工成以測試為角度的功能點分析文檔,重要的是描述對系統分解后每個功能點逐一的校驗描述,包括何種方法測試、何種數據測試、期望測試結果等,這些信息都是描述性的,無須具體數據;它的作用是據此編寫測試用例,以及測試執行時的參考依據,基于它直接來源于需求,覆蓋當然最全,也最能貼近客戶要求。
文章來源于領測軟件測試網 http://www.kjueaiud.com/