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