我做軟件測試六年的一些感悟

不知不覺已經(jīng)從事軟件測試六年了,從畢業(yè)到進(jìn)入外包公司外包給微軟做軟件測試, 到現(xiàn)在加入著名的外企。六年的時(shí)間過得真快。長期的測試工作也讓我對(duì)軟件測試有了比較深入的認(rèn)識(shí)。我就跟大家分享一下我做測試的心得,如有錯(cuò)誤還請(qǐng)批評(píng)改正。
?軟件測試人員應(yīng)該居安思危
每當(dāng)經(jīng)濟(jì)不好,公司業(yè)績不好的時(shí)候,公司都可能進(jìn)行裁員。首先裁的就是測試人員。因?yàn)闇y試人員的技術(shù)水平相對(duì)來說比較低,容易被替代,招起來也比較容易。公司往往先拿測試人員開刀。
身為測試人員,雖然我們平常的工作大部分都比較安逸。但是千萬不能溫水煮青蛙。應(yīng)該自強(qiáng)不息, 要像開發(fā)人員一樣, 不斷學(xué)習(xí),提高自己的編程水平。這樣就算被裁也能很快找到新的工作。
測試人員的水平主要體現(xiàn)在測試用例的設(shè)計(jì)上。要設(shè)計(jì)出全面,覆蓋廣的測試用例,需要測試人員對(duì)自己所測試的項(xiàng)目的業(yè)務(wù)需求非常熟悉,甚至要比開發(fā)人員還要熟悉。
如果是測試銀行系統(tǒng),通信行業(yè),或者ERP軟件。這些業(yè)務(wù)知識(shí)非常有用的,學(xué)習(xí)起來比較有激情。
要做到精通業(yè)務(wù)需求談何容易。
要熟讀功能需求文檔, 任何有疑問的地方都要去和PM確認(rèn)。
把自己當(dāng)成最終用戶, 經(jīng)常使用自己所測試的軟件。模擬用戶的行為。
熟記軟件的每個(gè)功能。
假如倒霉碰到一些又沒用,又繁瑣的軟件, 真的是不想去學(xué)習(xí)它的業(yè)務(wù)(出了這個(gè)公司就再也用不到的業(yè)務(wù))
測試人員必須跟開發(fā)人員密切合作, 所以跟開發(fā)人員搞好關(guān)系是相當(dāng)重要的。
1. 和開發(fā)人員成為朋友。
熟悉了干啥都方便
2. 不要打擾開發(fā)人員。
看到開發(fā)在聚精會(huì)神寫代碼的時(shí)候,千萬不要去打擾人家。寫代碼需要集中精力,如果被打擾,就會(huì)中斷思考。
3. 集中問問題。
把需要問的問題都總結(jié)起來, 集中起來問開發(fā),這樣能節(jié)省大量的時(shí)間。
4. 寫好Bug,不被開發(fā)人員煩。
如果開發(fā)人員看到一個(gè)Bug 描述不清楚,還無法重現(xiàn),他肯定會(huì)罵測試人員。所以測試人員一定要寫好Bug,描述精確,簡潔,沒有歧義,詳細(xì)簡潔的重現(xiàn)步驟,加截圖。
你的產(chǎn)品是用java開發(fā)的,那測試人員應(yīng)該有java的入門知識(shí)。你測試web程序,你起碼要了解HTML,CSS, Javascript, Jquery吧,否則你測了一兩年web程序,都不知道這東西是怎么做的,悲劇了吧。
只有懂代碼你才能和開發(fā)人員交流,不被開發(fā)鄙視。
產(chǎn)品的代碼是最好的學(xué)習(xí)資料了,我們不能總跟在開發(fā)屁股后面做測試,不能老是等開發(fā)build一個(gè)版本后,我們就測試這個(gè)版本,開發(fā)check in了什么代碼,測試人員一點(diǎn)都不知道。偶爾我們應(yīng)該了解下產(chǎn)品代碼是怎么設(shè)計(jì)的,了解下開發(fā)人員是如何修復(fù)bug的。說不定編程水平高了,還能幫開發(fā)做code review.
使用源代碼工具把產(chǎn)品代碼check out到本機(jī)。經(jīng)常看看代碼,經(jīng)常看看開發(fā)修復(fù)bug時(shí)候提交的代碼。
我記得我以前的test lead說,之所以她能當(dāng)lead, 是因?yàn)樗軙?huì)寫文檔發(fā)郵件。寫文檔需要總結(jié)歸納的能力,還要邏輯清晰。她非常擅長分析幾十頁的Spec,寫出幾十頁的測試計(jì)劃。她還非常擅長匯總測試報(bào)告。每天將完整,清晰,漂亮的測試報(bào)告發(fā)給各個(gè)組, 讓公司所有的人都能清晰的看到測試組的工作。
在她的帶領(lǐng)下,我們總結(jié)出很多文檔,比如,”New hire checklist”, “on boarding traning”, 測試工具使用的文檔,等等。
交叉測試,就是指兩個(gè)測試工程師,互相交換下測試的項(xiàng)目。這樣做有很多好處。
1. 有利于找出bug, 測試工程師測久了自己的項(xiàng)目,容易形成眼盲。會(huì)對(duì)一些Bug熟視無睹。
2. 有利于知識(shí)和業(yè)務(wù)共享,避免人員離職,請(qǐng)假,造成無人測試的情況。
3. 測試思想不一樣,可以互相找出很多問題
手動(dòng)測試工作做個(gè)兩三年,基本上就能掌握測試需要的大部分知識(shí),如果沒有爬到test lead的位置, 很多人就感覺到發(fā)展瓶頸了,每天重復(fù)測試,學(xué)不到東西,很快就會(huì)對(duì)測試工作失去激情。
學(xué)不到東西,技術(shù)水平低下,是測試這個(gè)行業(yè)最大的毛病。
如何突破瓶頸?我也不知道。
一點(diǎn)要抽時(shí)間盡量把自己的測試工作實(shí)現(xiàn)自動(dòng)化,可以節(jié)省測試的時(shí)間,提高自己的技術(shù)水平,也可以避免老是重復(fù)測試。
現(xiàn)在很多公司招測試的要求越來越高,很多好公司招senior QA,都要求5年工作經(jīng)驗(yàn)以上,掌握一門編程語言,有豐富的自動(dòng)化測試經(jīng)驗(yàn)。當(dāng)然自動(dòng)化測試的待遇也會(huì)比手動(dòng)測試好很多。
自動(dòng)化是趨勢(shì), 只會(huì)做手動(dòng)測試的人,以后肯定會(huì)失去競爭力。
以前很多同事想由測試轉(zhuǎn)開發(fā),現(xiàn)在幾年過去了,還是沒轉(zhuǎn)成,他們?cè)认肜米詣?dòng)化測試的技術(shù)積累,轉(zhuǎn)去做開發(fā)。哪知道自動(dòng)化測試用到的技術(shù)跟開發(fā)用到的技術(shù)相比,實(shí)在是相差太遠(yuǎn)。
測試轉(zhuǎn)開發(fā)?難
努力學(xué)習(xí)編碼,然后用于測試,才是正道
有時(shí)候跟開發(fā)人員一起開會(huì), 會(huì)議上開發(fā)人員都熱烈討論。而我做為測試人員基本上聽不懂這群開發(fā)在說什么,根本插不上話。很多會(huì)議我甚至都沒說過一句話。
想把測試做好非常不容易, 優(yōu)秀的測試人員需要很廣的知識(shí)面,良好的溝通能力(不但要和開發(fā)人員和項(xiàng)目經(jīng)理打交道,還要跟其他組的人交流)。豐富的測試經(jīng)驗(yàn),對(duì)測試工作有極大的熱情, 耐心。還需要測試人員有豐富的業(yè)務(wù)知識(shí),還要會(huì)寫代碼。
代碼寫得好的人,肯定就不會(huì)做測試,而是做開發(fā)去了。
我發(fā)現(xiàn)我的幾任上司都是會(huì)敲代碼的。他們既能開發(fā)又能測試,啥都會(huì),能給手下的測試人員提供技術(shù)支持。
假如一個(gè)測試經(jīng)理啥技術(shù)都不懂,對(duì)內(nèi)hold不住手下的人,對(duì)外其他組的人不鳥你。
轉(zhuǎn)載自:http://6tt.co/mQ2s??,作者:肖佳?如有侵權(quán)請(qǐng)聯(lián)系刪除
