|
作為程序員,不可避免地會經歷過下面的情況:
你花費了大量心血辛辛苦苦地編寫了一本程序,結果到了測試人員那里測試的時候,測試人員測了一陣子之后,提交給你一份測試報告,并說:“你里面怎么會有這么低級的Bug。”或者說:“你的程序里面的Bug好多,到底自己編寫完了之后測沒測試?。?rdquo;
或者在國內項目中可能是這樣的,你將辛辛苦苦編寫好的程序拿給客戶試用,客戶用了一會兒之后,告訴你,“你做的東西根本就不是我想要的。”或者直接給你的反饋是“不對,能否做好了之后再給我???”
上面的兩種情況都是作為程序員的我們不愿意遇到的。但是卻又是不可避免的,尤其是在剛剛走上程序員崗位的時候(所謂的新手階段,其實這也許是每個程序員都需要經歷的一個階段吧)。我們也都知道,作為程序員有時會把自己的程序看成是自己的孩子一樣,有人說自己的孩子不好?第一反應就是:不可能吧?!然后就會和別人爭論,你是不是……
回想自己當初也是這個樣子,很不服別人所指出的錯誤,總覺得自己做的東西是完美的,不可能出錯,問題都出在別人的身上。而且會因為這些錯誤干擾自己的心情。
其實這樣是非常不明智的,當別人指出自己的錯誤的時候,第一反應不應該是去責怪別人,而是應該仔細反省自己,檢查自己所做的工作,是否真的有問題。
為什么我們可能第一反應會是別人的錯誤,而不是自己的程序出了問題呢?這就是因為我們有時候會比較好面子,特別是對于心中認為知識水平沒有自己高的人指出自己的錯誤的時候,尤其會這樣。心中會非常不服氣:哼!你憑什么說我做的東西有問題,你做得好你來做試試!并且認為問題不在自己,而是出在他人的身上。但是,如果有過相關的經歷,我們會發現,十有八九的情況真的是因為我們自己的原因造成了錯誤。因此正確的做法應該是虛心接受,先仔細檢查自己,然后再和測試人員或者客戶進行溝通。
對于我們自己的程序,我想可以在以下兩個主要的方面進行檢查:
1、我們是否真正理解了用戶的需求,是否從用戶的角度為其設計并開發了程序。
如果當初在編寫程序的時候沒有了解相關的業務,也沒有仔細聽取客戶所提出的需求,那么很可能我們做出的東西在我們自己測試的時候不會出錯,一切都按照我們自己預想的情況運行。但是一旦到了客戶那里,由于根本不符合客戶的工作習慣,就會被他們認為是錯誤的。
2、我們是否在編寫了程序之后完成了相關的測試。
這里的測試不僅僅包括正常數據的測試,而且還會包括非正常數據的測試,邊緣情況的測試,也即是說,已經根據測試的原則選取了比較完備的測試用例。
另外,除了單元測試之后,如果出問題的程序是與其他模塊相關的話,還需要做整合測試,否則很可能出現的情況是,自己測試的時候沒有問題,而別人測試的時候就出現了問題。我就曾經遇到過這種情況,修改一本程序,在自己這里測試已經都沒有問題了,結果交出去之后,在其他環節運行出了相關聯的問題,后果很嚴重。
做了這些檢查之后,多數時候我們會發現可能是因為忽略了某個環節,導致自己的程序出了問題,因為此時你還沒有去指責別人,說那并非自己的錯誤,所以可以很簡單地向他表示感謝,然后糾正自己的錯誤就可以了。
如果做了所有的檢查之后,還是不能夠發現他們所說的問題,那么接下來就需要與測試人員或者客戶溝通了。
比方說,我們會問測試人員,你用什么樣的數據進行的測試???能否幫忙給我演示一下,如果情況是可以重現的,那么我們就會很容易地針對具體的情況進行調試,從而找到錯誤了。
或者我們會問客戶,你說我做的東西不符合你的要求,那么能否具體地說明是什么地方不符合呢?你的要求是什么樣的呢?此時一定要抱著虛心學習的態度和客戶交流,這樣客戶就會耐心地和你講解、說明,可能你還會學習到很多重要的業務知識呢。
需要注意的是,此時我們向測試人員或者客戶想要獲取的信息必須是具體的,我們需要耐心地和他們說,請不要告訴我不對,也不要告訴我錯誤,我想知道的是你用的是什么樣的數據,在什么樣的情況下出的錯,錯誤的表現是什么樣的,你所想要的結果是什么樣的等等,只有得到這些具體的信息之后,我們才能夠做到有的放矢,有目的性地去解決問題。
一旦在所有的情況都檢查過了之后,真的發現時測試人員或者客戶出了問題,我們也不需要大驚小怪,小題大做,比方說,用很不屑的語氣告訴他們:“以后測我的程序小心一點兒,你知不知道我浪費了多少時間。”或者說:“你如果不懂的話就不要亂說!”這樣即便你在這個問題上表面上是勝利了,實際上卻是一個失敗者,因為你失去了和他們交流,從而成為朋友的機會,你會和測試人員或者客戶成為冤家,以后不管什么事兒,都不會有任何的轉圜余地,從而你以后的工作都會很難開展。
我們應該做的就是要寬容一些,人都是會犯錯的,不要過分深究,可以說:“程序沒事兒就好了,你測試的還是挺仔細的。”或者和客戶說:“這個問題可能是當初咱們考慮得不夠完備,系統暫時的實現就是這樣的,如果你有好的建議還是可以告訴我的。”總之要表明自己的目的,就是要讓自己的程序的質量更高,更能夠為業務所服務。這樣的話,我們對別人寬容,反過來別人也會對我們寬容,并且在測試和檢查的時候也會更仔細,我們的程序的質量就會越來越高,一切都向著良性循環的方向發展。
最后說一句,這條原則其實不僅僅是做程序員所應該知道的,也應該是在生活中的各個方面所要做到的,讓我們一起共勉。
it知識庫:程序員應知——首先檢查自己的問題,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。