精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>各行各业>>IT人论坛>>【未整理区—近期精华】>>項目日記0216

主题:項目日記0216
发信人: frenger(frenger)
整理人: xiange(2004-03-09 17:28:15), 站内信件
從小喜歡看偵探小説、電影,也幻想過自己做了偵探去破案。最近更喜歡上看CSI,看他們現場取證,抽絲剝繭找到真兇。

我們的測試已經如火如荼,從中也發現不少問題,一些新的程序員第一次參與這樣大規模嚴謹的測試,遇到問題不是太懂得去查錯,於是特別寫了一些粗淺的經驗和他們分享。一些簡單錯誤的查錯就不記載了,對一些複雜的系統批量處理錯誤的差錯方法覺得有必要寫到日記中,下個項目遇到同樣的情況就不必再寫了。

節選如下:

4、系統批量處理複雜的錯誤(例如:數據關係錯誤、複雜的計息處理、複雜報表數據錯誤、BACK DAY複雜處理、複雜的邏輯處理等等)
   這一類錯誤是最頭疼的,主要原因是:
 - 在開發環境不能模擬,不能找到足夠的信息進行查錯
 - 与聯機數據的產生有複雜關係,需要追查多個交易產生的數據
 - 特殊會計日期或者多個步驟累積產生了錯誤,查錯無從入手
 
   對付這些問題,我一般採取以下的方法:
•  盡量收集錯誤的信息,收到PROBLEM LOG,馬上聯係測試人員了解錯誤的具體細節(相當於查案時候找到目擊證人了解情況) 
•  盡快把當天系統批量運行的OUTPUT QUEUE整理,COPY到自己的機器,進行詳細的分析(相當於現場取證、還有回去之後化驗,注意:現場和我們的OUTPUT QUEUE一樣,不盡快取證,就會定期被刪除) 
•  接下來就是對得到的信息進行分析,從結果往前推,不能放過任意的疑點,哪怕是寫程序時自己很肯定的地方(相當於警探根據化驗結果進行推論、驗證) 
•  有可能的話,自己在開發環境模擬數據進行測試(相當於案例重演) 
•  不能模擬數據的時候,對特殊的程序可以採用重新讀程序的方法,從輸入的數據開始,自己模擬電腦走一遍程序的分支(相當於犯罪心理學家的犯罪分析) 
•  最後還不能定位的時候,就要在程序的關鍵地方留下一些DEBUG的處理,可以下次出錯的時候生成一些希望得到的信息;同時,要重新設定一些一樣或者類似的CASE,以便錯誤再次發生(相當於派臥底切查)

[关闭][返回]