1. 程式人生 > >如果時間不夠 ,無法進行充分的測試怎麼辦?

如果時間不夠 ,無法進行充分的測試怎麼辦?

使用風險分析,確定測試的重點。
  
  由於很少有機會對一個應用軟體進行所有可能的測試 ( 包括所有可能的事件組合、所有的相關性、或者一切可能出錯的東西 ) ,對大多數軟體開發專案來說,利用風險分析是適當的。這需要判斷技能、常識、感覺和經驗。如果有正當理由,也可採用正式的方法。需要考慮下列因素:
  
  1 對於該專案的用途而言,哪種功能最重要?
  
  2 哪種功能對使用者最明顯?
  
  3 哪種功能對安全影響最大?
  
  4 哪種功能對使用者最有用?
  
  5 對客戶來說,該應用軟體的哪個部分最重要?
  
  6 在開發過程中,該應用軟體的哪個部分可以最先測試?
  
  7 哪一部分程式碼最複雜,容易導致出現錯誤?
  
  8 哪一部分的應用程式是在急迫或在驚恐的情況下開發出來的?
  
  9 哪一部分程式與過去專案中引起問題的部分相類似/有關?
  
  10 哪一部分程式與過去專案中需要大量維護的部分相類似/有關?
  
  11 需求和設計的那些部分不清楚或不容易讀?
  
  12 開發人員認為在應用軟體中哪些部分是高風險的?
  
  13 哪些問題能造成最差的發行?
  
  14 哪些問題最能引起使用者抱怨?
  
  15 哪些測試可以容易地覆蓋多種功能?
  
  16 哪些測試在覆蓋高風險部分的測試時使用時間最少?

======================================================

我的經歷:如果測試時間不夠,肯定不能全功能覆蓋,我們是否應該只測客戶比較關心的,比較常用的功能?
    測試目前主要是產品測試和專案測試。做自己公司的產品測試,如果碰到不能按原計劃完成,本著為質量負責,一般都可以申請延期。
如果是做專案,迫於合同和客戶驗收的壓力,碰到不能按原計劃完成的情況,就是專案風險了。而處理的方式基本都是“先測客戶比較關心的,比較常用的功能”,保證通過客戶驗收,拿到專案款。分析客戶驗收所關心的功能點(比如客戶最近幾天提過什麼需求,肯定要測試,因為時間短,他肯定記得),分析系統最脆弱的地方,走通所有業務流程等。而客戶驗收時候,不關心和不可能想到得地方可以不測試(比如系統中很多同步功能)。



    我講個自己的經歷,做的是國內最大保險公司的一個平臺,由幾個系統共同構成。由於前期公司為了節約成本,一直投入比較少的資源,到了後期,明顯感覺到專案不可能如期完成,更要命的是,測試前期沒有跟進,對於這個專案的質量沒有任何把握。
   公司處理措施:
1.增加研發人手,由前期三人,增到5人;
2.由我帶3名測試人員介入,一名效能測試工程師,開始測試。
3.研發部門經理每天跟進進度。
4。提出延期請求。
   客戶態度:
1.對前期專案成果極度不滿意,狠批改專案的負責人。
2.為了專案進度,非常配合提供測試環境和資源。
3.一頓臉色後,給出15天的延期許可。

公司接下來的工作:
1.完成未完成的功能和客戶新提出的功能。

2.在提供的環境上進行測試。
3.集中處理長期積累的缺陷。
4.整合幾個系統。
發現問題:
1.沒有良好的需求管理,平時客戶開會或郵件發來的需求忘記或者沒有完全理解。
2.發現測試進展緩慢,人手不夠,不瞭解需求,缺少測試環境,經常發現嚴重問題而停止測試,釋出新的測試版本。
3.幾個系統整合後,發現更多的新問題
4.效能測試結果表明,效能無法達到客戶的要求。
  專案進入風險處理期,公司的處理:
1.更換專案經理
2.編造謊話應付客戶,說一定能如期交付。
3.指示測試人員(具體說是說),只測試客戶關心的功能和主要業務流程。
4.指示測試人員(我),修改測試報告,不合格的功能刪除,只寫測試通過的功能。
5.指示我修改效能測試資料,說明效能指標基本達到。

測試人員的處理(我):
1.請示了測試部經理後,按專案經理的要求做了。

專案的結果:
1.交付了一個客戶根本無法正常使用的平臺,客戶暴怒。
2.客戶中止了所有與公司的合同,包括結束了持續兩年的合作友誼。
3.客戶拒付剩餘的專案款。
4.公司開除所有參與專案的開發人員,包括專案經理(雖沒有影響到測試,但我感覺公司管理混亂,也主動請辭了)。
5.公司失去了一個大客戶。

  這是血的教訓,對於公司損失的是錢和信譽,對於客戶損失的是錢和無限拖延的專案以及產品延期造成的競爭力影響。
對於開發,除了瘋狂加班的勞累,還有開除的冤屈;對於測試,沒有堅持自己的職業道德。
  我講述的這個經歷,可能大部分的專案都不會發展到這種地步,到我們必須充分意識到風險的存在。所以我覺得作為測試,碰到時間緊張,測試資源欠缺,所唯一能做的是上報公司,讓他們協調人工和資源,做延期處理。這樣做公司可能因不能如期交付而受到一些經濟上的損失,但交付一個合格的產品給客戶,絕對不會有信譽上的損失,從長久看,會有更多的收益。作為測試,你沒有任何權利自己做風險處理---測“客戶關心的,測主要功能”,都是錯誤的做法。作為測試,堅守住自己的職業道德,只做自己職責範圍的工作和力所能及的事;作為測試,不但要為支付給你工資的老闆負責,也請為你手中的軟體負責,為客戶支付的金錢負責。