軟件開發-思考(摘抄)

對於我們自己的程序,我想可以在以下兩個主要的方面進行檢查:

1、我們是否真正理解了用戶的需求,是否從用戶的角度爲其設計並開發了程序。

如果當初在編寫程序的時候沒有了解相關的業務,也沒有仔細聽取客戶所提出的需求,那麼很可能我們做出的東西在我們自己測試的時候不會出錯,一切都按照我們自己預想的情況運行。但是一旦到了客戶那裏,由於根本不符合客戶的工作習慣,就會被他們認爲是錯誤的。

2、我們是否在編寫了程序之後完成了相關的測試。

這裏的測試不僅僅包括正常數據的測試,而且還會包括非正常數據的測試,邊緣情況的測試,也即是說,已經根據測試的原則選取了比較完備的測試用例。

另外,除了單元測試之後,如果出問題的程序是與其他模塊相關的話,還需要做整合測試,否則很可能出現的情況是,自己測試的時候沒有問題,而別人測試的時候就出現了問題。我就曾經遇到過這種情況,修改一本程序,在自己這裏測試已經都沒有問題了,結果交出去之後,在其他環節運行出了相關聯的問題,後果很嚴重。

做了這些檢查之後,多數時候我們會發現可能是因爲忽略了某個環節,導致自己的程序出了問題,因爲此時你還沒有去指責別人,說那並非自己的錯誤,所以可以很簡單地向他表示感謝,然後糾正自己的錯誤就可以了。

如果做了所有的檢查之後,還是不能夠發現他們所說的問題,那麼接下來就需要與測試人員或者客戶溝通了。

比方說,我們會問測試人員,你用什麼樣的數據進行的測試啊?能否幫忙給我演示一下,如果情況是可以重現的,那麼我們就會很容易地針對具體的情況進行調試,從而找到錯誤了。

或者我們會問客戶,你說我做的東西不符合你的要求,那麼能否具體地說明是什麼地方不符合呢?你的要求是什麼樣的呢?此時一定要抱着虛心學習的態度和客戶交流,這樣客戶就會耐心地和你講解、說明,可能你還會學習到很多重要的業務知識呢。

需要注意的是,此時我們向測試人員或者客戶想要獲取的信息必須是具體的,我們需要耐心地和他們說,請不要告訴我不對,也不要告訴我錯誤,我想知道的是你用的是什麼樣的數據,在什麼樣的情況下出的錯,錯誤的表現是什麼樣的,你所想要的結果是什麼樣的等等,只有得到這些具體的信息之後,我們才能夠做到有的放矢,有目的性地去解決問題。

一旦在所有的情況都檢查過了之後,真的發現時測試人員或者客戶出了問題,我們也不需要大驚小怪,小題大做,比方說,用很不屑的語氣告訴他們:“以後測我的程序小心一點兒,你知不知道我浪費了多少時間。”或者說:“你如果不懂的話就不要亂說!”這樣即便你在這個問題上表面上是勝利了,實際上卻是一個失敗者,因爲你失去了和他們交流,從而成爲朋友的機會,你會和測試人員或者客戶成爲冤家,以後不管什麼事兒,都不會有任何的轉圜餘地,從而你以後的工作都會很難開展。

我們應該做的就是要寬容一些,人都是會犯錯的,不要過分深究,可以說:“程序沒事兒就好了,你測試的還是挺仔細的。”或者和客戶說:“這個問題可能是當初咱們考慮得不夠完備,系統暫時的實現就是這樣的,如果你有好的建議還是可以告訴我的。”總之要表明自己的目的,就是要讓自己的程序的質量更高,更能夠爲業務所服務。這樣的話,我們對別人寬容,反過來別人也會對我們寬容,並且在測試和檢查的時候也會更仔細,我們的程序的質量就會越來越高,一切都向着良性循環的方向發展。

最後說一句,這條原則其實不僅僅是做程序員所應該知道的,也應該是在生活中的各個方面所要做到的,讓我們一起共勉。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章