軟件測試的時代 - 軟件測試思想、軟件測試技術新體驗
 
 案例分析

 
 
 


案例分析第四期(2005-06)

你在日常的工作中沒有遇到問題嗎?如果有,你也可以提交案例!我要提交案例
案例分析
   
本期案例
題目:如何讓開發控制提交的測試版本的質量?
所屬主題:配置管理
作者:lovetest
案例內容:
  開發提交給測試的版本有的時候是因為沒有更新最新的代碼,打包錯誤等等原因導致好容易發布的版本不可測,浪費大家的時間;蛘呤情_發人員沒有完全改好問題,改好你提的問題卻又引發了別的問題。
解決方法:
  曾經考慮過拒絕測試,但是最終提交的時間是定下來的,打回去拒絕測耽誤了測試的時間,測試更被動。
求助問題點:
  怎樣采取一個有效的措施來控制提交版本的質量呢?單純的靠開發人員的責任心?這感覺也有點太虛了,不知道大家有什么好的建議?
相關分析
   
分析一:
  作者:味書生
  分析內容:
1.首先我們要定義出開發的出口標準,要求非常細致的紀錄。
  測試人員可以早介入,將交互點處理成一個交互式間段,這樣就可以有效地促進開發向可測試標準運行,同時作為測試人員可以準確地了解到項目的狀況,不至于在測試開始過于被動,還可以根據開發的情況及時調整計劃,同時向上層提出報警。一定要做接受測試報告,及時地反應項目的情況。
2.測試組開發組共同建立一個好的合作模型。
  現實中我們必須處理開發質量低下的問題,而且必須考慮與開發并行的問題,也就是說沒有絕對的不介入集成測試,甚至單元測試。所以在前期項目計劃時,就要與項目經理達成一致的標準(最高標準,最低標準),最低標準也就是你最差可以接受的情況,增加各個環節的審核,通過多個項目的磨合和總結,得出一些可行的明細標準。
分析二:
  作者:小螞蟻
  分析內容:
  這個問題我曾經也問過別人,我說的只是和黑盒測試相關的內容,我個人的建議是:
1、在項目前期,測試人員就應該介入,同時針對這個項目的開發流程制定一個測試流程。
2、測試流程里包含了程序測試的入口和出口標準,當然這個標準要得到開發人員以及項目負責人,項目經理的認可。
3、在入口標準里,針對這個項目的黑盒測試制定一套測試點,通過測試點的進入測試人員手里測試,沒有經過的打回給開發人員,當然,這個測試點是要對項目比較熟悉或者很有經驗的測試人員來做了。入口標準做好了,對后面的測試工作是否有效是有很大影響的。
4、公司領導要重視測試部門的工作,如果工作上不給予理解和支持.建議你跳巢吧!
分析三:
  作者:baitest
  分析內容:
1.在項目前期測試人員應當及早介入了解項目的進度安排,并制定一套的流程。
2.項目組應當配一個協調員,隨時和開發溝通,同時負責測試程序版本的控制。
分析四:
  作者:小穎
  分析內容:
  開發項目組在建立時,本身就應該包括測試人員,測試人員應作為項目組的成員參加一切關于開發工作的會議,交流及討論,有利于了解開發的方法及開發的各項信息。
  對于版本管理,理想狀態應存在一名配置管理員,作為測試人員與開發人員的交接點對程序版本進行管理,測試完成版本返回配置管理員,開發修改完成版本也給配置管理員,由配置管理員再交給測試人員;但一般公司不會設立這個崗位,而有即便是設了,也不能充分的發揮作用(我們公司就這樣)
我認為的解決方法:
1、測試人員接收程序后,在存放時以程序名稱和時間作為標識,并且每一次提交的程序一直到項目結束后再刪除
2、開發人員提取修改后程序時,不要直接測試,先查看一下上一次程序錯誤的位置是否修改(與機器中保留的上一次提交版本核對)。
3、檢查后,再開始動手測試,如果真的有沒有修改的地方,那就再算一次錯誤,不能總是替他們想的。
分析五:
  作者:flygold
  分析內容:
  規定deadline,如每日12:00以后,不允許版本更新。
分析六:
  作者:cissy
  分析內容:
  小穎所說的方法與我們公司現在進行的方法比較一致。但個人感覺確實沒有很好地得到貫徹實施~~
  我們公司現在在項目的立項階段后就由測試部派譴了質保員進行跟蹤,但由于級別的不一致,引不起項目組的重視,有時只能是很淺地介入項目組的開發進程,應有的作用沒有得到發揮。幸好本部門的部長比較重視,一直在維護質保員的重要性、權威性,希望以后這種情況能得到改善。
  確實現在這種狀態很普遍,也沒有什么很好地解決辦法。要想真正地有效地體現測試的價值,只有從上頭做工作,讓高層真正地支持你,給開發人員一定的壓力,才能讓測試工作真正有效地進行。
分析七:
  作者:akchenyanjun
  分析內容:執行CVS
分析八:
  作者:rosemei
  分析內容:
  個人認為 :開發人員提交測試需代單時,把需要測試的目的描述清楚,其中包括其代碼更新部分需要接受驗證的內容描述,測試人員根據測試需求單,首先驗證其版本更新后的內容,是否通過,以更新內容為接入點,決定是否能夠盡快盡早的打回給開發人員。
  至于其修改后又引發其他地方的錯誤,這是個無法控制的,只能看開發人員修改BUG的嚴謹性了,通過獎懲激勵的辦法,提高開發人員的開發技能是關鍵。
分析九:
  作者:spring_post
  分析內容:
  項目開始的時候,測試部門是要參與的(原因不用多說了),但是一旦項目處于實現過程時,理想的做法是測試部門定期對成果進行測試(通常是一周一次,由RE將現有成果建立一個BUILD交給測試部門)此時開發和測試是并行的,可用CVS管理各個版本(很好用的噢~)至于BUG的提交、確認、修改也都是同時進行的~當然開發人員有責任對所開發的模塊做相應的組件測試~RE在此過程中的作用是相當大的~
分析十:
  作者:ppent
  分析內容:
  個人認為本案例的焦點是如何控制開發人員提交代碼、打包版本的質量,而與測試人員何時介入項目是沒有很大的聯系的,還有樓上說的通過入口標準、檢查后再測試,那是事后的補救辦法,但還是可以減少測試人員不必要的資源投入。
我的看法:
1.記錄每個提交代碼、編譯打包版本的質量情況,每月/季度進行發布。讓大家清楚的看到本階段的各個版本中誰犯了了“沒有更新最新的代碼、打包錯誤、bug沒有改好、bug改這個錯那個”的錯誤。有了這樣的統計結果,相信以后不管是開發人員還是打包人員都會更加小心的。
2.如果有必要,可以根據上面的結果建立獎懲制度。
3.采用配置管理工具,進行良好的版本管理,防止代碼更新遺漏、錯誤的情況。
4.如果是接近發布的版本,慎重起見為了防止改bug而帶來的新的bug,需要評估每個bug修改的難度、優先級、風險等,是否有良好的解決辦法,或者在下個發布版本中修改。
分析十一:
  作者:小胖子
  分析內容:
  前面幾位的方法在實際的工作中都是使用過的,但是制度是理想的,實施起來就不是很理想。我遇到一個開發人員寫的程序,基本上是無法使用沒有一點是根據需求規格說明書寫的。但是我還是耽誤了兩周的時間,最后我在例會上向項目經理提出了正式的交涉,才引起公司的注意。最終那個開發人員因為工作能力問題離開了公司。
分析十二:
  作者:自得其樂
  分析內容:
  我們公司現在的做法是在提交測試之前由開發人員先做VT,測試人員拿到新版本后也是先做快速測試,沒有大的功能性問題才接受該版本,如果隨便點一個功能就報底層的錯誤,就說明開發VT沒有做好,可以打回該版本,由測試員提交delay報告,說明這個版本延遲提交的原因。由管理中心進入來跟蹤查找原因,所以長期這樣開發人員一般對于提交的版本還是比較謹慎的。
分析十三:
  作者:chimi
  分析內容:
  在我單位,具體操作是這樣的:
1.BUG 的跟蹤要抓緊,必須有一個BUG的跟蹤系統來管理BUG。
2.版本的發布和測試版本的管理,要以BUG 管理系統為依據。
3.新加功能的跟蹤也可以用BUG 管理系統那里實現。
4.每次開發人員修改了BUG 或者是 完成了新添加的功能,都必須在BUG 管理系統那里作說明。
5.每天安排一個指定時間來獲取最新版本的程序來做測試,當然之前要確認他們都更新了代碼,編譯服務器也要準時、成功的編譯好測試的版本,確認他們對自己的工作都作了記錄(記錄到BUG 的管理系統)。
6.開始測試新版本的程序。只要其中一環還沒有完成,那部分的內容不作為測試考慮。
分析十四:
  作者:nio
  分析內容:
  其實作為測試來講,沒有必要關注這個問題。
  測試的主要目的是發現問題,至于版本問題,以及BUG有沒有修好,那不是我們測試人員要關注的。我們要做得是如實的反應問題。
  這個問題的出現根源在于測試人員有太多的意見(牢騷),出現這樣的問題,我們要做的是告訴開發人員,在這個版本中有些BUG并沒有修好,至于為何會出現這樣那樣的問題,則和測試一點關系也沒有。
  樓上幾位的觀點,使我認為測試的責職太多……測試其實和版本控制、進度控制等扯不上什么關系吧?一般來說這兩個工作是有專人負責的,不是么?
測試時代工作室分析
   

  問題一:該案中Team的溝通平臺建設有問題,沒有建立組間協調的基本準則,和監督手段,這樣會出現沒有完成的工作可以提交甚至是移交給下一個環節。
  問題二:該案中沒有說是否采用了配置管理工具,但很顯然配置管理規范是沒有做的。
  問題三:該案中的Team Leader 沒有起到疏通流程,接收反饋,改進過程的作用。
  問題四:該案中尚沒有建立很權威的軟件質量標準。
  高質量的工作=過程+管理+技術
  首先,過程。應該說現在很多軟件公司的工作流程都很不完善,需要過程改進。而且更多的時候需求管理和配置管理是過程改進的關鍵和瓶頸所在。需求管理和配置管理不善就會直接的給開發和測試工作帶來負面影響,尤其給測試和開發人員的溝通增加了障礙。導致效率不高,就如本案中提到的問題點。那么配置管理的過程是什么呢?如下圖
  
  當項目組有越多的成員的時候,制定一個規范的流程就顯得越發的重要。
  第二,管理。所謂“無規矩,無以成方圓”,在做好管理之前制定一套合理的管理規范是必須的,流程有了,但是管理不善也是會功虧一簣的。配置管理,可以說是時間、人、工作內容的全面管理。
1.時間,時間管理主要是及時的向配置管理庫中提交更新的內容,從而避免在Build的新版本的時候有遺漏,而導致本案中提到的,測試人員在回歸的時候發現提交的缺陷根本沒有改的狀況,重新再Build一個版本,那自然是人、時、力的極大的浪費。
2.人,作為所有數據的處理和操作主體,是管理的關鍵,一個誤操作就可能使很多人的工作成果付之流水,所以付給不同角色的人不同的權限是很關鍵的,曾經有一個項目經理給所有的人員只能提交,不能刪除的權限,還謂之約“糖公雞”策略。(意思是不但不拔毛,還粘毛)這不是不信任誰,而是在極大程度上保護大家的勞動成果。
3.工作內容,工作內容可以說是工作質量和工作的主體了,同時也是大家交流的主要對象。對于工作內容的管理主要注意下面幾個方面。
* 注釋,很多程序員再寫代碼的時候,不做注釋,一個程序員一種風格,這就給讀代碼,尤其是交叉檢查代碼帶來了困難,人的記憶能力總是有限的,老人家常說“好記性,不如爛筆頭”相信時間久了,代碼的易讀程度就會受到影響。所以代碼要求注釋。
* 更新說明,在做更新的時候要寫說明,我們都知道,變動的代碼是極有可能跟很多其他開發人員寫的代碼有關聯的,那么代碼的變更勢必需要相關聯的代碼也跟著變更,如果沒有,那當然就會出現,提交的缺陷修改完成了,又引入了新的問題的狀況。關聯復雜的情況下定位問題是很不容易的。由此可見更新的說明對于溝通是多么的重要,當然它也是有幫助記憶的作用的。
* 代碼狀態,這個是內容管理很重要的一部分,這個狀態既能標示一個開發人員的工作里程碑,也能給Build新版本提供一個依據。從而保證Build的每一個新版本是開發人員確認過了的有效的一個版本。
  第三,技術。開發工程師和測試工程師的技術水平也是決定版本質量的關鍵,甚至決定性的因素,開發人員不比說了,資深開發人員和剛畢業的開發人員會出現的Bug都很大區別。但經驗都是積累出來的。測試人員的水平是很需要提高的,一個同行把測試分為驗證和確認兩種,(CMMI中也有這樣兩個過程域)。驗證,主要來做數據結構,系統架構,邏輯結構的嚴謹的驗證,從而保證算法、邏輯的嚴密和準確。確認,主要來看這個系統是否滿足了客戶的業務需求。我想著不無道理。這樣能更深層次,或者更有依據的來保證軟件的質量,我們直接就做確認了,確認正確的結果可能是一個假象,就像2+2=4,但公式如果寫成2*2=4兩個的結果是一樣的,但是實現確實完全不一樣的。不論是開發人員還是測試人員,在軟件質量保證上的目標是一致的,技術要求也是一致的。
  技術指標的制定,這個筆者也不能給出什么建議,只知道沒有最好,只有更好,我們需要不斷的提高技術水平。技術提高,不恥下問很重要,一個技術難題很可能其他同事已經解決了,而你不知道,就還需要鉆研很久。一個相同的功能,很可能多少個開發人員就有多少種實現,何不大家溝通一下,選個最好的呢?配置管理也是,如果你有更好的解決辦法,也別忘了跟我們共享一下。
  說的可能有點遠,但在任何時候做正確的事情,都比堅持錯的效果要好。配置管理,從現在開始吧!

關注案例  
焦點4:白盒測試的困惑,究竟多少人在做?適用范圍?
焦點5:在軟件項目規劃和開發階段,如何考慮與測試配合?
焦點6:覆蓋率如何計算?
焦點7:如何進行滾動測試?
焦點8:嵌入式軟件的測試設計應該如何做?
案例分析
你在日常的工作中沒有遇到問題嗎?如果有,你也可以提交案例!我要提交案例

 

測試時代首頁 | 測試時代論壇 | 測試交流會 | Blog社區 | 測試時代工作室 | 測試時代刊物 | 軟件測試資料

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97