對軟件測試進(jìn)行一場“再”認(rèn)識

我們需要先對軟件測試進(jìn)行一場“再”認(rèn)識。

軟件測試是軟件開發(fā)行業(yè)成熟度更高的產(chǎn)物。

從“成熟度”來講,軟件開發(fā)行業(yè)的整體成熟度更高,人們對軟件開發(fā)的理解也更為全面深入。正因?yàn)檫@樣,人們也更習(xí)慣將軟件測試和軟件開發(fā)放在一起比較。雖然軟件開發(fā)和軟件測試都屬于產(chǎn)品研發(fā),但是人們的關(guān)注點(diǎn)是不同的。軟件開發(fā)偏向“創(chuàng)造”,而軟件測試卻偏向“驗(yàn)證”和“確定”,所以軟件開發(fā)和軟件測試對技能要求也是不同的。

人們將軟件測試和軟件開發(fā)放在一起比較的時(shí)候,容易陷入“用軟件開發(fā)的要求來評價(jià)軟件測試”的思維中,只看到軟件測試和軟件開發(fā)相比的弱勢,卻看不到軟件測試自身的優(yōu)勢。

那么作為軟件測試,和軟件開發(fā)相比,又有哪些優(yōu)勢呢?

一、軟件測試的優(yōu)勢

雖然軟件測試存在不少困境和迷局,但是這并不能掩蓋軟件測試自身的優(yōu)勢。

和軟件開發(fā)相比,軟件測試入門相對更容易些。這是軟件測試行業(yè)的一大特點(diǎn),其實(shí)也是軟件測試的優(yōu)勢之一。較低的“門檻”給了軟件測試行業(yè)和軟件測試從業(yè)者更多的選擇余地。一些企業(yè)在招聘軟件測試人員的時(shí)候,不一定只招聘有計(jì)算機(jī)、通信相關(guān)經(jīng)驗(yàn)的人,他們可能會根據(jù)產(chǎn)品的特點(diǎn),招聘一些更能理解產(chǎn)品和用戶需求的人員,如金融、財(cái)會專業(yè)的人等,所以軟件測試從業(yè)者可以是“雜家”,或者說對某些領(lǐng)域來說,“雜家”反而更適合軟件測試。從軟件開發(fā)相對“封閉”的行業(yè)特點(diǎn)來說,軟件測試就要“開放”多了。另外對想改行從事軟件研發(fā)工作的人來說,選擇“軟件測試”作為轉(zhuǎn)型的切入點(diǎn)也是比較合適的。

在軟件開發(fā)項(xiàng)目中,大多數(shù)軟件開發(fā)工程師都會被分配一個(gè)或幾個(gè)“模塊”來編碼實(shí)現(xiàn),幾個(gè)軟件開發(fā)工程師合作才能完成一項(xiàng)功能是非常普遍的現(xiàn)象。這種割裂式的開發(fā)工作模式,讓其中的軟件開發(fā)工程師很難理解產(chǎn)品的全貌,甚至不知道最終用戶會如何使用自己的產(chǎn)品。相對來說,軟件測試人員是產(chǎn)品研發(fā)團(tuán)隊(duì)中最理解產(chǎn)品全貌、最理解用戶的人,這是由軟件測試的工作內(nèi)容決定的。

軟件測試人員不必關(guān)心產(chǎn)品究竟是如何編碼實(shí)現(xiàn)的,不必關(guān)心用的是C語言還是C++,不必關(guān)心這部分代碼是軟件開發(fā)人員從網(wǎng)上復(fù)制下來的還是自己原創(chuàng)的;他們需要關(guān)注的是“產(chǎn)品的實(shí)現(xiàn)是否和開發(fā)承諾要實(shí)現(xiàn)的功能是一致的”,這讓測試人員自然會去關(guān)注“功能”,理解產(chǎn)品的全貌,而不會陷入實(shí)現(xiàn)細(xì)節(jié)。

軟件測試人員還會對產(chǎn)品進(jìn)行“黑盒測試”,這種看似“摸瞎”的系統(tǒng)測試方法,需要站在用戶的角度分析用戶使用場景,所以軟件測試人員必須想辦法去全面理解用戶,不僅要理解用戶明確的需求,還要理解用戶“隱形”的需求,如用戶的使用習(xí)慣、用戶行業(yè)潛在規(guī)則等。所以在產(chǎn)品研發(fā)領(lǐng)域,測試人員才是最理解用戶的人。

在大多數(shù)人的印象中,軟件開發(fā)整天面對著電腦,兩耳不聞窗外事,十指翻飛只為編寫程序,是一個(gè)很“宅”的職業(yè)。你千萬不要以為軟件測試也是一樣的,和軟件開發(fā)相比,軟件測試人員需要有一定的溝通交流能力,這不僅有助于就產(chǎn)品測試中發(fā)現(xiàn)的bug和開發(fā)人員進(jìn)行溝通,更重要的是,在很多企業(yè),軟件測試人員都會作為產(chǎn)品研發(fā)的接口,在用戶出現(xiàn)問題的時(shí)候和用戶進(jìn)行溝通。除此之外,想要做好測試,協(xié)調(diào)能力、風(fēng)險(xiǎn)評估能力、數(shù)據(jù)統(tǒng)計(jì)分析能力和報(bào)告撰寫能力都是必不可少的“軟技能”。所以和軟件開發(fā)要求“深度”不同,軟件測試更注重“廣度”,要求軟件測試人員是“多面手”,有很強(qiáng)的綜合能力。

軟件測試的這一特點(diǎn),讓軟件測試人員可以有更多的職業(yè)外延可供選擇。換句話說,即使一名軟件測試工程師在從事了幾年軟件測試工作后轉(zhuǎn)行其他管理工作、產(chǎn)品工作,都可以很快上手,并得到認(rèn)可。這是因?yàn)檐浖y試人員對產(chǎn)品理解,在研發(fā)領(lǐng)域可能不夠“深入”,但是在非研發(fā)領(lǐng)域卻做得很好。在廣度方面,軟件測試人員不會輸于其他非研發(fā)領(lǐng)域的從業(yè)人員;對用戶需求的理解,軟件測試人員也不會遜色;而溝通協(xié)調(diào)、分析總結(jié)、風(fēng)險(xiǎn)意識等軟能力也能幫助軟件測試人員很快掌握新領(lǐng)域的知識技能。所以相對來說,軟件測試人員其實(shí)更能適應(yīng)這個(gè)復(fù)雜多變的社會。

二、軟件測試的劣勢

客觀來講,和軟件開發(fā)相比,軟件測試也存在很多劣勢。

“入門低”雖然給軟件測試行業(yè)和軟件測試從業(yè)人員帶來了更多的選擇機(jī)會,但是也會導(dǎo)致軟件測試在軟件研發(fā)領(lǐng)域的認(rèn)可度降低,認(rèn)為軟件測試是一項(xiàng)相對簡單、沒有技術(shù)含量(或技術(shù)含量低)的工作。這個(gè)“印象”直接導(dǎo)致了軟件測試當(dāng)前的困境和迷局。

雖然軟件測試的“出口”看起來很廣闊,但是和同在軟件研發(fā)領(lǐng)域的軟件開發(fā)人員相比,軟件測試在軟件研發(fā)領(lǐng)域的發(fā)展卻比軟件開發(fā)人員有限得多,至少這是現(xiàn)狀。我們很少看到軟件測試人員去做產(chǎn)品研發(fā)管理工作,成為開發(fā)代表、產(chǎn)品線經(jīng)理或研發(fā)總監(jiān);很少看到軟件測試人員去做系統(tǒng)架構(gòu)師(SE)。很多企業(yè),軟件測試在管理上的職位,最高就是測試代表或測試經(jīng)理,在技術(shù)上甚至沒有職位,沒有發(fā)展方向。

如果從業(yè)者的職業(yè)發(fā)展目標(biāo)本就不在產(chǎn)品研發(fā),而只想熟悉產(chǎn)品,那么軟件測試無疑是獲得這項(xiàng)經(jīng)驗(yàn)一種很好的實(shí)踐;但是如果從業(yè)者的目標(biāo)就是軟件測試,最后卻“被迫”轉(zhuǎn)崗,這樣的“寬出口”就不是“優(yōu)勢”,而是當(dāng)前軟件測試的無力之處了。


選自《測試架構(gòu)師修煉之道:從測試工程師到測試架構(gòu)師》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容