文/ 曹超
大部分人是比較支持一個觀點贴彼,開發(fā)轉測試容易潜腻,測試轉開發(fā)難。我不支持這種觀點器仗,也不反對融涣。關鍵在于自身的學習積累和興趣。
首先所謂互轉精钮,我很疑惑為什么要互轉威鹿?如果你對開發(fā)不感興趣,那就別做開發(fā)轨香,否則哪里你都無法進步忽你。其次,你對測試不敢興趣臂容,也就發(fā)現(xiàn)不了測試的樂趣科雳。
國內大部分公司的開發(fā)人員對待測試人員的態(tài)度是,你們就是一群手工點點點的人脓杉,大不了用restclient測測webservice糟秘。
這樣的理解還是比較片面和局限,我會定期分享一些內容球散,讓大家更好地了解測試尿赚。
一、測試有很多方向蕉堰,手工測試不可替代
測試也分很多方向凌净,軟件功能、性能嘁灯、安全泻蚊、界面UI和交互等都需要測試,測試工程師有足夠的發(fā)展和成長空間丑婿。
首先性雄,測試是有分工的。并不是說你做自動化測試就完全不做手工測試羹奉,手工測試你是無法摒棄的秒旋。因為它具有一定的不可替代性。至少在現(xiàn)在的大部分公司里是這樣的诀拭。
測試是不是就只有自動化測試呢迁筛?也不是。還有安全測試等耕挨。 你說你開發(fā)寫的代碼细卧,多么的強壯尉桩。對不起,可能分分鐘你就被安全測試人員給干掉了贪庙。你說你寫的sql 腳本很厲害蜘犁,對不起,可能分分鐘就會因為寫的太耗時止邮,被性能測試人員發(fā)現(xiàn)確診為瓶頸而去重寫这橙。你說你寫的功能很完善,幾乎考慮了各種可能导披,那可能分分鐘就被功能自動化測試人員發(fā)現(xiàn)了你漏掉的場景屈扎。
二、自動化測試要求高撩匕,需要你掌握開發(fā)語言
測試理論鹰晨,測試工具和開發(fā)語言,是一個測試工程師必備的基礎
一般情況下滑沧,我們會把自動化測試分為功能自動化和性能自動化并村。 方向不一樣,需求也不太一樣滓技。 綜合現(xiàn)在的公司需求哩牍,對功能自動化需求的數(shù)量多一點,性能自動化的少一點令漂。
那是不是做功能自動化的就是寫點功能測試的代碼就完善了呢膝昆?其實不是的。 所謂功能自動化叠必,有的人也會加入持續(xù)集成荚孵,也有的會加入持續(xù)發(fā)布,會加入API測試纬朝,也可能會加點webservice測試等收叶。
我理解的功能自動化是需要你有自動化工具本身的知識(selenium,QTP共苛,testcomplete等)判没,單元測試的知識(testng,junit隅茎,nunit澄峰,mbunit等),框架設計知識(PO思想辟犀,類似設計模式的一些概念)俏竞,持續(xù)集成工具的知識(Jenkins等)以及版本管理工具的知識(Gitlab,Github等)等。
另外魂毁,你需要掌握精通一門語言玻佩,Ruby,Python或者java漱牵,C#夺蛇。 在這些大的背景知識下,你需要理解各類開發(fā)中經(jīng)常用到的一些知識酣胀。 開發(fā)是開發(fā)一個軟件一個項目,而測試娶聘,特別是作為一個自動化測試闻镶,偶爾我們也叫開發(fā)測試,你需要是理解開發(fā)的思想丸升,運用工程學的思想去創(chuàng)建適合當前項目的一些框架進而填充框架完成自動化測試用例服務于測試工作铆农。
項目進度緊張的時候狡耻,沒有界面墩剖,你可能沒法點點點。 你需要做webservice夷狰, API等的測試岭皂,有的會將這些集成到自動化測試的整個項目中,也有的會分離出來單獨做沼头。你可以同樣的利用soapui去寫webservice自動化的測試用例并沿用上面的思想爷绘。
三、開發(fā)和測試是產(chǎn)品的一體兩面
測試不只是找出軟件開發(fā)中的Bug进倍,還會提出開發(fā)的解決方案土至,以及引入一些新技術的彌補。
對于發(fā)展終點猾昆,我能看到的測試的發(fā)展方向和開發(fā)的最終發(fā)展方向是一個終點陶因,只是大家選擇的路徑不一樣,每個節(jié)點的待遇會有所不同垂蜗。你可以區(qū)分開楷扬,開發(fā)和測試,但是不能否認么抗,開發(fā)和測試始終在一個團隊毅否。至于所謂的開發(fā)生命周期和測試生命周期,也是兩相結合的蝇刀。
當下各種新技術層出不窮螟加,并不是所有的測試都在等著開發(fā)弄出來,然后去測試功能的,還有很多測試在和開發(fā)一起開發(fā)著捆探,協(xié)作并發(fā)現(xiàn)漏洞予以修復然爆。并不是所有的測試都是只提提bug,描述一下場景和重現(xiàn)步驟黍图,給定重現(xiàn)條件的曾雕,還是有很多測試會提供開發(fā)解決方案,以及引入哪些新技術助被,新的dll或者jar能夠彌補的剖张。
人力有時窮,你想開發(fā)和測試兼顧揩环,有點困難搔弄。 我從來不認為測試簡單,若是你認為簡單丰滑,可能需要你花些時間學習一下顾犹。對于多數(shù)想進入IT行業(yè)的同學來說,測試是一個相對容易和快速的路徑褒墨,打好基礎還是重點炫刷。
測試和開發(fā)相比,測試的開發(fā)能力弱于開發(fā)郁妈,而開發(fā)的測試能力也會弱于測試浑玛。不同的視角帶來的是不同的經(jīng)歷和提升。
曹超老師圃庭,然學科技產(chǎn)品技術總監(jiān)锄奢,曾任職世界500強測試經(jīng)理、項目經(jīng)理剧腻,在自動化測試拘央、跨平臺復合產(chǎn)品測試、云計算书在、測試團隊管理等方面都有豐富經(jīng)驗灰伟。