一個軟件測試工程師的加班經歷[2]

發表于:2010-04-27來源:作者:點擊數: 標簽:軟件測試工程師加班經歷
一個 軟件測試工程師 的加班經歷[2] 軟件測試 于是,Z leader繼續吃餅干;Y leader繼續調試;X一干人等繼續“研究”我國風景區的管理問題。而我也終于無聊到了極點,開始“友情贊助”,檢查Y的問題代碼。代碼很少注釋,寫得也很隨意,甚至縮進的格式都顯林亂;

  一個軟件測試工程師的加班經歷[2]   軟件測試

  于是,Z leader繼續吃餅干;Y leader繼續調試;X一干人等繼續“研究”我國風景區的管理問題。而我也終于無聊到了極點,開始“友情贊助”,檢查Y的問題代碼。代碼很少注釋,寫得也很隨意,甚至縮進的格式都顯林亂;但好在代碼不長,邏輯也不復雜。我重點檢查了內存的操作,但沒有發現問題。

  正在我納悶同樣一段代碼,為什么其他數據都可以取得,偏偏這項數據取不到的時候,傳來了Y learder的叫聲。雖然聽起來很像絕望后的慘叫,但我敢肯定,這的確是找到真正問題后的歡呼(和慘叫相似也是情理之中,畢竟都是在身心及其疲憊后發出的)。果然,他發現了:這項取不到的數據的名稱寫錯了,應該是Status,但寫成了State。(Y向Z要數據時,要傳給Z一個數據的名稱,然后Z就從硬件取得,并返回給Y。這些數據的名稱是Z定義的)那么,怎么會發生這種低級錯誤的呢?原來,出錯的代碼Y的那個程序員從另外一處Copy來的,其他數據項的名稱都是相同的,偏偏這項數據的名稱不同。

  有多少Code可以重來:

  Y leader忙著改C文件和H文件,因為這個數據項的名稱出現在多處,所以Y leader改得很仔細,也很辛苦;我想他心里一定在臭罵他的這個team member,為什么不定義一個常量或者宏。在Y leader改代碼的時候,我也在想,這簡直就像Z在故意制造陷阱:這兩組數據這么類似,而且其他數據項的名稱都相同,為什么偏偏這項數據,一個叫State,另一個叫Status,真是有空,真TMD。

  Y leader終于確認改正了所有該改的State。但用他的team member的單元測試程序一測發現還是有老問題。你可以想象到我們當時的感覺,就像吃了一噸廣告上那個很夸張的“涼”得透頂的潤喉糖。

  但是! Y leader大叫:單元測試程序里的State也要改成Status。在無數雙眼睛的注視下,Y leader顫抖著replace all,save,F5。終于,當大家看到計算機上的一串字符后,每個人都舒心的笑了。(當然,如果沒有剛才的虛驚一場,可能不是每個人都在快工作到午夜的時候還能笑得動的)。我想,此時此刻,此情此景,在Y leader的眼里,一定滾動著些東西,除了眼屎。

  現在,又輪到我上場了。Build時發現X的代碼中也需要把一些State改成Status。(如果當初他們也檢查一下就好了)。X的程序員也沒有定義常量或者宏的習慣,所以我Build了多次,他們才把所有要改的State改掉。

  一個QA的精彩:

  后來發生的事可以用一個“峰回路轉”來形容,在無數雙眼睛的注視下(我的手沒有顫抖,因為人已經麻木了,或者說一切都習慣了),我啟動了我們的軟件,連接到B平臺上,檢查所有的數據,全部OK;連接到C平臺上,檢查所有的數據,全部OK。搞定了!

原文轉自:http://www.anti-gravitydesign.com

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