問題描述:在編寫測試計劃的時候要考慮可能發(fā)生的風險,并提出應對措施。那么到底都有哪些風險要注意呢?如何解決呢?另外這些風險如何在計劃中寫明呢,不會寫“張三可能要離職”,“開發(fā)提交代碼可能會延期”吧?
  精彩答案:

  會員liuchunyanli、貝貝酷、namisang:

  設計方面:

  風險:(1)沒有詳細設計說明書;

  解決方案:測試人員要在開發(fā)階段對相關設計及需求文檔進行分析,對大體模塊功能進行分類,分析業(yè)務邏輯,在不清楚的地方及時與開發(fā)人員溝通。

  風險:(2)沒有統(tǒng)一的界面設計規(guī)范。

  解決方案:與項目負責人確認測試標準。

  開發(fā)方面:

  風險:(1)所有模塊開發(fā)沒有統(tǒng)一設計,開發(fā)人員有自己的設計方式;

  解決方案:與項目負責人確認標準方式,與標準方式不一致的地方全部以BUG形式提交。

  風險:(2)需求變更開發(fā)。

  解決方案:建議將需求變更形成文檔,對沒有文檔的需求變更,在測試過程中發(fā)現(xiàn)及時與開發(fā)負責人確認,并存檔相關變更文檔。

  測試本身:

  風險:(1)人力資源;

  解決方案:保證穩(wěn)定的人員安排。

  風險:(2)硬件資源;

  解決方案:事先分析測試所需硬件資源,及時申請,保證測試工作順利進行。

  風險:(3)版本控制;

  解決方案:嚴格控制版本,BUG以版本為單位進行提交。在測試過程中及BUG確認階段禁止任何代碼更新。

  風險:(4)測試時間不足。

  解決方案:動員測試人員完成測試任務,必要時,應給予相應物質獎勵。

  測試風險是不可避免的、總是存在的,所以對測試風險的管理非常重要,必須盡力降低測試中所存在的風險,大程度地保證質量和滿足客戶的需求。在測試工作中,主要的風險有:

  一、質量需求或產品的特性理解不準確,造成測試范圍分析的誤差,結果某些地方始終測試不到或驗證的標準不對;

  二、測試用例沒有得到百分之百的執(zhí)行,如有些測試用例被有意或無意的遺漏;

  三、需求的臨時/突然變化,導致設計的修改和代碼的重寫,測試時間不夠;

  四、質量標準不都是很清晰的,如適用性的測試,仁者見仁、智者見智;

  五、測試用例設計不到位,忽視了一些邊界條件、深層次的邏輯、用戶場景等;

  六、測試環(huán)境,一般不可能和實際運行環(huán)境完全一致,造成測試結果的誤差;

  七、有些缺陷出現(xiàn)頻率不是百分之百,不容易被發(fā)現(xiàn);如果代碼質量差,軟件缺陷很多,被漏檢的缺陷可能性大;

  八、回歸測試一般不運行全部測試用例,是有選擇性的執(zhí)行,必然帶來風險。

  前面三種風險是可以避免的,而四至七的四種風險是不能避免的,可以降到低。后一種回歸測試風險是可以避免,但出于時間或成本的考慮,一般也是存在的。

  針對上述軟件測試的風險,有一些有效的測試風險控制方法,如:

  測試環(huán)境不對可以通過事先列出要檢查的所有條目,在測試環(huán)境設置好后,由其他人員按已列出條目逐條檢查;

  有些測試風險可能帶來的后果非常嚴重,能否將它轉化為其他一些不會引起嚴重后果的低風險。如產品發(fā)布前夕,在某個不是很重要的新功能上發(fā)現(xiàn)一個嚴重的缺陷,如果修正這個缺陷,很有可能引起某個原有功能上的缺陷。這時處理這個缺陷所帶來的風險很大,對策是去掉(Diasble)那個新功能,轉移這種風險;

  有些風險不可避免,設法降低風險,如“程序中未發(fā)現(xiàn)的缺陷”這種風險總是存在,我們要通過提高測試用例的覆蓋率(如達到99.9%)來降低這種風險;

  為了避免、轉移或降低風險,事先要做好風險管理計劃和控制風險的策略,并對風險的處理還要制定一些應急的、有效的處理方案,如:

  在做資源、時間、成本等估算時,要留有余地,不要用到;

  在項目開始前,把一些環(huán)節(jié)或邊界上的可能會有變化、