對于工作多年的從業(yè)者來說,同時掌握java和python兩門語言再好不過,可以大大增加找工作時的選擇范圍。但是對于轉(zhuǎn)行的人或者初學(xué)者來說,剛開始應(yīng)該選擇哪門語言進(jìn)行入門呢?
1、先從一門語言開始
不建議新人同時學(xué)習(xí)兩門語言,這樣會導(dǎo)致每個都是淺嘗輒止,反而不利于語言的深入學(xué)習(xí)。語言本身無優(yōu)劣,只不過是實(shí)現(xiàn)目的一種工具手段而已。編程思維和解決問題的思路方法都是相通的,當(dāng)你熟練掌握其中一門語言時,也可以快速掌握另一門語言。
2、兩個語言的區(qū)別
怎么說呢,python和java就是兩門語言,按理講和我們軟件測試沒啥關(guān)系,因?yàn)樾枰晕覀兙湍脕碛昧?,至于誰更好,一個人一個看法吧,反正他倆還是有點(diǎn)區(qū)別的,或者是自己更上傳的領(lǐng)域吧。
java是一門靜態(tài)類型語言,主要用來做后端開發(fā),以及移動端安卓開發(fā)等等。
python是一門動態(tài)類型語言,主要用在機(jī)器學(xué)習(xí),ai,數(shù)據(jù)分析,爬蟲等領(lǐng)域。
3、兩個語言的測試棧技術(shù)
測試領(lǐng)域,無論是自動化測試還是測試平臺開發(fā),兩門語言都有大量的類庫和框架支持。
web自動化測試:java+selenium+testng/junit;python+selenium+unittest
接口自動化測試:java+httpclient;python+requests+unittest
app自動化測試:java+appium+junit;python+appium+unittest
測試平臺開發(fā):java+springmvc+springboot;python+flask+django
測試開發(fā): 前端vue,后端python +flask也是比較主流的使用
4、如何選擇兩種語言?
如果你打算之后測試轉(zhuǎn)開發(fā)的話,推薦java,看招聘就知道,無論是校招還是社招來說,java的需求量都是遠(yuǎn)遠(yuǎn)多于python的。而且python做開發(fā)的話一般用于人工智能領(lǐng)域,對于學(xué)歷有很高的要求。
對于沒有任何語言基礎(chǔ)的轉(zhuǎn)行同學(xué)來說,python比java更加友好,簡單易學(xué),可讀性更高。有句話是“人生苦短,我用python。”形象的說明了這門語言的特點(diǎn)。
比如讀寫一個相同的文件,如果java需要十行代碼的話,而在python中只需要兩行就可以實(shí)現(xiàn)。此外,python類庫非常豐富,有現(xiàn)成的模板可以套,省去了初學(xué)者去舔磚加瓦造基壘的時間。
由于國內(nèi)目前后端開發(fā)大部分公司使用的都是java,所以學(xué)習(xí)java就有一個很大的優(yōu)勢,可以保持跟開發(fā)步調(diào)一致。便于交流,減少溝通成本。甚至,有時間測試完成之后,你可以拿開發(fā)代碼進(jìn)行學(xué)習(xí),幫助他們code review。這樣可以進(jìn)一步加深對業(yè)務(wù)的理解。這些技術(shù)優(yōu)勢是產(chǎn)品經(jīng)理或者運(yùn)營人員所不具備的。
除此之外,你也可以考慮跟著公司的使用語言進(jìn)行學(xué)習(xí)。比如你們公司自動化使用的是python,且組內(nèi)大部分人技術(shù)棧都是python,那么你就可以選擇python進(jìn)行入手學(xué)習(xí),這樣你可以邊學(xué)邊實(shí)戰(zhàn),學(xué)完就可以馬上應(yīng)用到公司項(xiàng)目中去。增加實(shí)戰(zhàn)經(jīng)驗(yàn),這種提升最快,而且遇到解決不了的問題,可以抱大腿。