第四階段 責任感+驗證
當經歷了產品的幾個生命周期之后,從不斷的需求、開發、維護、升級循環過程中,逐漸認識到,測試實際上是降低產品風險的一種行為。逐步認識到,測試介入的環節越早,風險也就越小。
在和最終用戶多次打交道,親身體驗用戶的心情之后,油然而生出一種強烈的責任感,對測試的理解也隨之升華為一種產品意識:測試工作和研發工作,實際上是一種榮辱與共的關系,取得的成績和造成的失誤,其榮譽和責任是同等的。此時,當他發現一個致命的錯誤或缺陷時,第二階段的那種興奮也許只會存在3秒鐘。此時的他,更多考慮的是怎樣幫助研發組盡快地把該問題解決掉。在這一階段,測試工作中更注重產品的實用性和易用性。
從學習階段對產品的驗證,到與研發的對立,到主動地和研發配合,到一種責任感使命感自發地對功能的驗證,這是一個高級測試人員所必然要經歷的一個心路歷程。
測試中的幾種思維方式
測試能否出成績?以及測試工作的優劣,與個人的素質和修養有關。
測試工作說易也易,只要認真、負責,就能做出一些成績。但說難也難,測試講究很多方法和策略,要測的精,問題定位的及時準確,規律找的準確有效,那是需要下一番功夫的。在此,我把測試中常用的幾種思維方式共享如下:
正向思維
在測試一個產品之前,需要做的重要事情是,熟讀產品的設計文檔,詳細了解每個功能的正確效果。然后針對每個模塊,順著程序員的思路,逐個驗證,以驗證測試功能的有效性。這是以后深入測試的基礎,也是做自動測試的前提。
搞清楚每個模塊是干什么的,弄清楚正確的效果,才知道什么是錯誤的。這是非常關鍵的一個環節,如果在這方面不下功夫,也就很難測試出有價值的BUG。因為,很明顯的錯誤結果可能就在你眼前大搖大擺地經過,而你卻認為這是正確的!我就曾經一度陷入這一誤區,好在很快地補上了這一課。
逆向思維
關“逆向思維”,我有兩種解釋,一是針對開發人員。
開發人員在調試或自測時,總愛順著已有的思路進行。所以,在很多情況下容易忽略自己所犯的錯誤,例如邊緣條件檢查,異常處理等等。所謂當局者迷,旁觀者清,是因為你可以跳出他的思維定式,從另外的角度來思考問題。所以,只要你肯動腦筋,不按他的邏輯進行檢測,就一定能找出許多破綻。
關于“逆向思維”的第二種解釋,是針對具體問題。
當發生嚴重問題時,首先要保護好現場,然后努力地回憶,努力地理清思路。要善于從錯誤現象的最后一步往前倒推。例如死機問題,僅一個現象并不能說明問題,關鍵要找出它的規律。規律有時是最后一步操作導致,而有時則是前幾十步操作的累加,這需要我們追憶剛才的幾十步操作,并大膽懷疑其中的疑點,有目的的undo、redo。這一招叫順藤摸瓜,抓住規律的尾巴,從最后一步開始。
跳躍性思維
我也稱它為聯動思維。
有時,一個問題表現出來的現象和問題的本質會差著十萬八千里,這類問題的規律也極難準確地捕捉到。處理這類問題,需要有扎實的測試基本功,并對產品非常地熟悉,才能把表面上毫不相關,卻有著千絲萬縷關系的孤立的兩點聯系起來;才能從一處錯誤得到啟示,聯想到其他模塊也可能存在類似的問題……
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/