前言
在一線大廠,沒有測試這個崗位,只有測開這個崗位,即使是做業(yè)務測試,那么你的title也是測開。
所以想聊一聊測開的看法,但不代表這是正確的看法,僅供參考。
沒來阿里之前我對測開的看法
一直以為專職做自動化測試和性能測試是測試這條路的最終歸宿,測試開發(fā),只是大廠才可能存在的角色;測試平臺,少部分公司才會用到的東西,肯定不會成為主流的。
況且測試平臺要會前端還得會后端,你都這么全棧為什么不做開發(fā)呢?做UI自動化、接口自動化直接寫python腳本不就好了嘛,做性能測試用Jmeter就好了。
在多數(shù)人眼中,測試開發(fā)就是“開發(fā)一個測試平臺,就要包攬前后端”,至少我一開始也是這樣認為的。
前端要會、后端也要會,測試也得會,感覺就是全能的?。?/p>
來了阿里之后,對測開看法有了轉(zhuǎn)變:測開才是做測試這條路的最終歸宿,其實不只是測試,包括運維,最終肯定是運維開發(fā),而不是自動化運維(拋開管理層而言)。
只有開發(fā)測試平臺才是測開的最終選擇嗎?不,不是的!
但做出一個平臺是最容易體現(xiàn)你身為測開的價值,畢竟你前后端都啃了,能跟開發(fā)同學一樣弄一個完整的平臺了,晉升那不是妥妥的,現(xiàn)在大部分同學都很敬佩有開源測試平臺經(jīng)驗的人。
包括在阿里,其實之前就有很多人聊過,如果你平時搬磚沒有做一些技術(shù)活,那你的晉升之路肯定沒有做純技術(shù)的同學順利,因為晉升答辯你可以短時間展示你的技術(shù)能力,但是沒有辦法短時間展示你的業(yè)務能力或者其他軟實力。
阿里測開
其實是分部門的,如果是業(yè)務部門,那一般就是業(yè)務測試,點點點也不例外,當然你可以自己決定是否開發(fā)一些工具、腳本來輔助測試。如果是基礎建設部門,那可能就是開發(fā)平臺,或者是一些通用型工具。
像我們部門的話,很推崇技術(shù)解決問題,所以很多時候會用自動化去解決一些痛點,所以也有很多鍛煉的機會等著我……
測試平臺的好處和不足
好處
1、接口測試、UI自動化測試、性能測試均可通過點擊頁面解決,因此可以降低做自動化測試、性能測試的門檻,提高測試效率、測試廣度。
2、平臺有頁面,頁面友好能提高人干活的積極性,小白或者新同學見到也愿意去做和學習,也就提高了個人的主觀能動性。
3、使用平臺代表團隊共享、數(shù)據(jù)共享、項目共享,基礎弱的同學可以看到大神同學寫的東西,這就可以提高團隊的分享氛圍,促進不同技術(shù)能力的同學互相學習,當然前提要肯去學。
4、數(shù)據(jù)共享意味著一切皆可溯源,比如有人刪庫跑路、刪數(shù)據(jù)跑路,那對應的操作人記錄肯定能看到,可以提高項目的穩(wěn)定性。
5、數(shù)據(jù)私有化,這個私有化指的是,項目所有數(shù)據(jù)都可以保存在自己公司服務器 ,提高項目的安全性,不過大部分開源項目應該都支持私有化部署。
6、做出測試平臺的同學更容易得到團隊中的認可,能提高個人的影響力和晉升成功率。
還有其它好處,就不一一列舉了。
不足
其實有些好處就是不足,比如:
1、降低了高階測試的門檻,所以會讓測試同學的技術(shù)能力更加兩極分化,做技術(shù)的可能會越做越好,但本身沒有代碼能力的測試同學可能只能通過平臺來做接口測試、自動化測試,缺少了自己獨立鍛煉實戰(zhàn)的機會。
2、測試平臺化是趨勢,所以未來一定會有更多的企業(yè)效仿大廠招測試開發(fā),那轉(zhuǎn)行做測試的門檻也會更加高,未來可能會像面開發(fā)一樣面測試(大廠已經(jīng)是了)。
不過這個應該是算優(yōu)勢也算劣勢吧,提高測試的競爭力可以提高測試的地位,只不過會淘汰很多只會手工測試不愿學習代碼的同學。
3、做測試平臺,不僅需要有很強的測試能力,因為你都不了解測試需要什么,怎么開發(fā)出一個好的平臺呢?
然后還得需要有前后端的知識,可能還得加上運維知識,所以你得會很多東西,這就變成做測試平臺的門檻反而很高,以至于有些開發(fā)同學來轉(zhuǎn)行做測開。
4、做成一個可用性、穩(wěn)定性、易用性都很好的測試平臺,所需要的時間成本、人力成本是巨大的,因為這相當于開發(fā)一個完整的新項目,所以它的生命周期會很長,如何說服你的老板同意去做是一個問題,這就不僅需要你的技術(shù)能力能說服老板,更需要老板有魄力支持你。
假設你的技術(shù)能力low一點,那么它可能就無法在多個團隊中展開使用,這樣會導致投入產(chǎn)出比非常低,即使用起來,可能后期維護成本也很高……
這樣來看其實平臺也有很多不足。
我對測試平臺的看法
它會是趨勢,但它很難每個公司都能獨立完成一個測試平臺。前面有說過,完成測試平臺所需要的能力五花八門,所以當你會這么多技能的時候,你可能就想要很高的薪資,但從國內(nèi)對測試的態(tài)度來看,它的工資肯定會比開發(fā)低一層(大廠無視),這就變成一個惡性循環(huán),公司想要低成本勞動力干測開的活,你作為測開想要拿到更高的薪資。
所以網(wǎng)上有很多開源的測試平臺,一般沒能力開發(fā)平臺的公司就會私有化部署,然后再定制化二次開發(fā),這也是一種趨勢,應該不存在銷售測試平臺的情況,畢竟開源的都挺好看挺好用的。
測試平臺很難做到適配所有項目,包括在阿里其實測試平臺特別多,自動化、性能、兼容、云真機,但我所在的部門一個都沒用上,原因有很多種,就不細說了。
問題匯總
測試平臺是測開必需品嗎?
我認為不是的,測試平臺雖然很能體現(xiàn)測開的能力,但不是唯一方式。
實際項目中用不到測試平臺,有必要學習嗎?
只要是對自己成長有幫助的,其實都應該學習,只不過有優(yōu)先級而已。假設未來你想走測開路線,那么學習如何開發(fā)測試平臺也未嘗不可,當然不影響當前工作前提下。
做測試平臺的前提
對個人而言
有一個測試平臺項目經(jīng)歷,可以提高面試通過率和自己的技術(shù)能力。
對團隊而言
應該是質(zhì)量效能部,或者基礎建設部來主導,而不是業(yè)務測試部門來主導,這應該是一個專職工作,而不是閑下來的時候弄一弄。
另外要確保得到老板的支持,充分調(diào)研測試平臺的可行性,比如團隊組成、技術(shù)選型、可承受的損失范圍、平臺使用的部門等等。
測開都有哪些職責
我的主管跟我聊過,測開并不一定要做測試平臺才算測開,一個合格的測開,應該是對自己項目上用到的編程語言很熟悉,如同開發(fā)一樣熟,甚至要比他們還熟悉。
作為測開,可以給開發(fā)同學進行code review,特別是有新開發(fā)同學剛?cè)肼毧赡軐I(yè)務、代碼架構(gòu)不熟悉,寫的代碼就會亂七八糟,這個時候假如你很熟悉整套代碼,很熟悉這個編程語言,那么你就可以提出優(yōu)化建議。
不要說不可能,我主管就可以,比開發(fā)還熟悉編程語言,另外還可以寫單元測試,我們的服務端單元測試覆蓋率是70%左右,所以基本服務端沒啥Bug。
測試開發(fā)可以是開發(fā)平臺,也可以是開發(fā)工具,亦可以是編寫腳本,但都有一個最終目的,使用你的開發(fā)技能來提高測試效率、測試廣度、深度,用更高的測試覆蓋率來保障項目質(zhì)量。
開發(fā)工具,可以是二次開發(fā)開源框架,比如RF,可以是二次開發(fā)測試工具,比如Jmeter。二次開發(fā)的前提不是為了秀你的技術(shù),而是當前的工具/框架滿足不了你的測試場景,所以你要二次開發(fā),以此來滿足。
像我項目中,因為有自研的rpc框架,所以需要二次開發(fā)Jmeter的取樣器,才能正常測試。
至于到底要不要開發(fā)測試平臺,這個只能看自己團隊了~文章來源:http://www.zghlxwxcb.cn/news/detail-479168.html
如果對測試開發(fā)有興趣的可以進來,我已經(jīng)準備好了學習路線供大家參考?
因此我建立了一個軟件測試開發(fā)自學團,正在學習測試的小伙伴可以通過點擊下面的小卡片文章來源地址http://www.zghlxwxcb.cn/news/detail-479168.html
到了這里,關(guān)于軟件測試的終點是“測試開發(fā)”嗎?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!