首先,學習測試思維是軟件測試從業的基礎。
大家都知道,軟件測試行業在入門階段,相對于開發而言,門檻要低得多。在學習初期,并不會涉及到代碼。那么,入門學習的關鍵在哪里?就是測試思維。
很多同學,說起測試理論一堆一堆的,設計測試用例看起來也非常完美。但是,在實際測試過程中,卻并不能真的發現幾個Bug。而且如果項目緊急的話,根本沒有那么多時間嚴格按照設計好的測試用例跑一遍,那么,終結果可想而知。這就是缺乏測試思維的鍋。
其次,測試思維的出發點是人,是業務,而不是簡單的代碼問題。
這一點就決定了軟件測試工程師與開發工程師之間的本質區別,也決定了測試人員的不可替代性。
一個優秀的軟件測試工程師,通常都能將需求分析及功能點拆解。雖然這看似是越俎代庖,做了產品經理們的主要工作,但如果不能詳細考慮產品設計的細節,很可能在后期出現較大需求漏洞,引發軟件的功能坍塌,甚至會一定程度上影響產品的生命周期,決定了后期是否會快速被競品所取代。
舉個例子:
有一家生產某設備的廠家,之前的客戶主要是一些小公司,他們的應用場景一般是以臺為單位獨立使用。為方便生產調試,及客戶端使用,廠家在每臺設備上提供了默認IP,其與附帶的PC直連組成小型局域網進行工作。后來,來了一個大客戶,他們要一批設備(100+臺),而且這些設備要跟他們的其他設備能連在一起工作,組成大型的局域網,方便管理,需要軟件定制此功能。于是開發在軟件的設置界面增加了一個選項“組網定制”。用戶鉤選后,則可按內部規則重新部署IP。
開發完成之后,發布給軟件測試。測試確實沒有想到生產端是如何生產此設備的,對于組網的設備,上門服務的用服人員又是如何幫他們組網的,也都不甚清楚。后,用服在現場反饋說,組網時發現設備的IP地址被禁用了。開發人員分析是因為生產裝機是一臺臺調試的,需要獨立設置IP,因為程序的Bug,當多臺設備連在一起時,原來單機默認的IP已不合適,可是也沒有任何提示,就直接禁用了。
后,軟件測試不以訓練強度論高低。
在此,一定要澄清一個觀點:軟件測試并不同于軟件開發那么強調高強度訓練,需以代碼(用例)數量論英雄。俗話說:思路決定出路。用在軟件測試這項工作上,其實也是一樣的。即,你有什么樣的測試思維,就會有不同的測試策略,正是這些策略引導著你去思考、去分析測試的不同對象。
同樣的一個產品,有的測試通過測試用例就是能發現別人發現不了的問題;有的測試開發可能寫代碼相當厲害了,但是在測試用例的設計上毫無邏輯,甚至測某些功能的時候總是覺得在走彎路,這其實都是測試思維的問題。想要做好測試,訓練測試思維是非常重要的一個環節。
作為一個想要長期發展的測試工程師,花時間去訓練自己的技術能力、掌握業務知識固然必要,但鍛煉邏輯能力和拓寬思維廣度也必不可少。資深軟測工程師都會告訴你:請不要用你每天訓練技術的時長來彰顯自己的專業度,請多留給自己一些思考空間。
思維訓練小技巧
對于正在學習軟件測試的小伙伴,給大家一個小建議:可以定期給自己布置一個測試任務,可以是類似測試水杯的模式測試實物,也可以測試具體的軟件,畫出思維導圖,列出測試點。
除此之外,也要有意識地廣泛涉獵行業知識、互聯網技術,不要求精深,但要心里有數;還有就是多接觸成熟的網絡環境:多留心大公司的軟件是怎么樣的?會有什么問題?主流的操作場景和流程是什么?請站在用戶的角度,用一種挑剔的眼光去體驗。如果這些都能落實到書面上,當然就是好的。