測試的難點在於把所有的測試場景都覆蓋到了
怎么辦:
如何保證測試的覆蓋率
簡單的辦法就是:系統測試完畢后,如果一個bug都沒有,則代表覆蓋率100%。
測試用例覆蓋率很難達到100%,越復雜的功能越難保證,只能說盡量提高測試覆蓋率。
通過以下手段可以提高覆蓋率:
1、編寫測試用例前,檢查相關需求需求、設計文檔是否有問題(功能描述不清,設計邏輯缺陷),如有問題找相關設計或者開發問清楚。
2、然后整理成需要覆蓋的功能列表或者思維導圖,功能列表包含新增和修改功能點,性能需求也要列出來(因為要整理對應的性能測試用例),同時還需要對既有功能進行一個梳理,檢查是否會與其他功能有交互,整理出影響點。
3、把功能列表發給組員,並找時間進行會議評審,主要對功能等進行查漏補缺。
4、最后才行進測試用例編寫,注意編寫規范。
5、編寫完畢后,把測試用例發給組員,開會進行評審,主要對檢查點、用例規范進行查漏補缺。
6、執行測試用例過程中,發現用例不完善或者錯誤,需對測試用例進行及時的修改與調優
7、測試完畢后對漏測的bug進行測試用例補充。
一、首先測試需求分析要全面。
測試需求分析分兩步:
1、測試需求的獲取
需求的來源:
顯式需求:
(1)原始需求說明書
(2)產品規格書
(3)軟件需求文檔
(4)有無繼承性文檔
(5)經驗庫
(6)通用的協議規范
隱式需求:用戶的主觀感受,市場的主流觀點,專業人士的評價分析
2,需求的分析 ,產生測試需求文檔
將不同的需求來源划分成一個個需求點,針對每一點進行測試分析:
(1)界定測試范圍
(2)利用各種測試設計的方法產生測試點
在測試方法方面,可做如下注意:
其一,分析出口入口。從入口分析,將可能出現的環境,條件,操作等內容分類組合,然后根據各位測試達人的方法進行整合,逐一驗證。從出口分析,將可能出現的結果進行統計,根據結果的不同追根溯源,再找到不同的操作以及條件等內容,統計成文檔,逐一驗證。
其二,多種測試手法的學習和使用。大家可能更多的關心測試方法,但是具體操作的手法也是需要注意的。畢竟測試方法比較容易找到,各位達人都很熟悉。如果將每個人不同的測試手法總結出來並在自己的測試實施中加以使用,可能會收到意想不到的成果。
在測試流程方面,可作如下注意:
其一,初期要做好需求分析。將需求逐漸細化到小功能點,針對每個功能點進行測試設計。對於完成的測試設計文檔,經過項目相關人員的檢查評審,做成所需要的初稿。
其二,在測試過程中,根據需求變更和具體測試執行過程中遇到的問題完善測試設計文檔。
其三,測試執行結束后,對於出現的問題進行總結。其中包含自己本身發現的問題,也可能會有客戶提出的問題。將總結出來的結果融合到測試設計當中去,進一步完善測試設計文檔。
對於一次測試,是不可能有覆蓋度全面的測試的。需要多次去總結積累,才會使測試越來越全面。
在測試流思維方面,可作如下注意:
其一,測試全面不等於全面測試。不同階段對於軟件測試有不同的要求,比如在0.8版本以前,對於不重要的畫面問題或是細小的功能問題就不需要關心。但是在驗收階段,這些內容可能更需要注意。
其二,學無止境,只有不斷的去學習不斷的去思考,才能使自己測試的能力更強,測試對象的全面性也更完整。
二、 當測試需求分析完成,並且形成文檔后,要進行測試需求評審,保證需求的准確性以及完整性。
三、 測試需求完成以后,可以根據測試需求設計測試用例。
要保證測試用例能夠全面覆蓋測試需求,要包含所有的情況。
測試用例設計上划分為單功能測試用例和測試場景設計,單功能測試覆蓋的需求中的功能點,測試場景覆蓋需求中的業務邏輯。
在設計測試用例的時候,可以使用多種測試用例設計方法。
●首先進行等價類划分,包括輸入條件和輸出條件的等價類划分,合理設置有效等價類和無效等價類,這是減少工作量和提高測試效率最有效的方法。
● 必須使用邊界值分析,經驗表明,這種方法設計出的用例能發現很多程序錯誤。
● 可以使用錯誤推測法追加一些測試用例,這需要依靠您的智慧和經驗。
● 對照程序邏輯檢查已設計出的測試用例的邏輯覆蓋度,如果沒有達到覆蓋標准應當再補充足夠的測試用例。
● 如果程序的功能說明中含有輸入條件的組合情況,一開始就可選因果圖和判定表驅動法。
●對於參數配置類的軟件,要用正交試驗法選擇較少的組合方式達到最佳效果。
● 對於業務流清晰的系統,可以利用場景法貫穿整個測試方案過程,在案例中綜合使用各種測試方法。
當測試用例設計完成后,要組織測試用例的評審,這樣可以吸取別人的意見,減少遺漏,補全測試用例。
四、 測試用例編寫完成后,就是測試執行,
● 測試用例執行100%覆蓋。
●在測試執行過程中,要繼續對測試用例補充完善,確保提高測試覆蓋率。
五、 在整個測試過程中,需求都是不可能不變的,所以要及時的更新測試需求、測試用例。
六、 要將測試需求、測試用例以及發現的bug關聯起來,便於管理和跟蹤,同時也便於查看覆蓋率。