軟件測試工程師是個神奇的職業(yè),他是開發(fā)人員與老板之間的傳話筒,也是開發(fā)人員與老板的好幫手;他不僅需要有銷售的溝通能力,也需要具備編輯人員的文檔撰寫技巧。如此一個面面俱到的崗位,他需要具備的技能到底有哪些呢?中培偉業(yè)《軟件自動化測試與持續(xù)集成實(shí)踐》培訓(xùn)專家張老師根據(jù)自己多年的工作經(jīng)驗(yàn),在這里指出了軟件工程師要在行業(yè)里安身立命的7個本領(lǐng)。
有逆向思維的能力
曾經(jīng)接觸過一些軟件測試工程師,他們干了一段時間軟件測試工作后返回去又開始去做開發(fā)工作了,問他們?yōu)樯叮看鸢甘擒浖y試工作太難了,開發(fā)是順向思維,而測試是逆向思維,老要找一些稀奇古怪的思路去操作軟件。軟件的使用者千差萬別,軟件在使用過程中遇到的各種現(xiàn)象也是千差萬別的,所以要求軟件測試工程師需要具有一些逆向思維的能力,想別人所不想,測別人所不測,這樣才可以找到更多的軟件中的錯誤。這是作為一名優(yōu)秀的軟件測試工程師最基本的素質(zhì)。
善于同軟件開發(fā)人員溝通
溝通是當(dāng)今軟件項(xiàng)目中需要掌握的最關(guān)鍵技術(shù)之一。軟件測試人員要善于同軟件開發(fā)人員溝通,軟件測試人員與開發(fā)人員搞好關(guān)系,使測試人員不成為開發(fā)人員的眼中釘,這對于提高整個軟件項(xiàng)目質(zhì)量是十分重要的。溝通主要包括:
討論軟件的需求,設(shè)計:通過這樣的溝通,你可以更好的了解所測試的軟件系統(tǒng),以至于盡可能少的測試出軟件中不是錯誤的“錯誤”,從而降低給軟件開發(fā)人員帶來的壓力。
報告好的測試結(jié)果:作為一個測試人員,發(fā)現(xiàn)錯誤往往是測試人員最愿意而且引以自豪的結(jié)果,但是一味地給開發(fā)人員報告軟件錯誤,會給他們造成厭惡感,降低整個軟件的質(zhì)量和開發(fā)進(jìn)度。所以作為一名軟件測試工程師,當(dāng)你測試的模塊沒有嚴(yán)重的錯誤或者錯誤很少的時候,你不妨跑到開發(fā)人員那里告訴他們這個好消息,這會給你帶來意想不到的結(jié)果。
討論一些與工作無關(guān)的事情:作為一個測試人員經(jīng)常和開發(fā)人員討論一些與工作無關(guān)的事情,比如大家可以談?wù)勑侣劊な拢彝ァ@樣可以加強(qiáng)相互間的默契程度,許多統(tǒng)計表明,這樣可以更好的提高軟件工作質(zhì)量。
善于同領(lǐng)導(dǎo)溝通
測試人員往往是領(lǐng)導(dǎo)的眼和耳,領(lǐng)導(dǎo)根據(jù)測試人員的測試結(jié)果可以了解公司的產(chǎn)品質(zhì)量,從而調(diào)整其他的工作。領(lǐng)導(dǎo)工作一般比較繁忙,所以作為一名優(yōu)秀的測試人員要學(xué)會把測試結(jié)果進(jìn)行總結(jié),最好以圖表的形勢給領(lǐng)導(dǎo)看。
掌握一些自動化測試工具
測試工作往往是比較繁瑣,枯燥無味的工作,測試人員長期處于重復(fù)的手工工作,會降低測試效率,并且對于測試質(zhì)量也往往是不利的;況且許多測試不使用測試工具是不可以進(jìn)行的,比如性能測試,壓力測試等等。目前市場上有許多測試工具供你使用,你可以根據(jù)自己的需要選擇一些測試工具來輔助你的測試。但是要記住一點(diǎn),不是說有了測試工具就不要人工測試了,測試工具不是萬能的。
善于學(xué)習(xí)
軟件測試技術(shù)隨著時間的變化也在做一些提高和改進(jìn),作為一名優(yōu)秀的測試人員要善于利用書籍,網(wǎng)站,論壇,交流等各種途徑不斷提高自己的軟件測試水平。
強(qiáng)大的表達(dá)能力
軟件測試人員當(dāng)發(fā)現(xiàn)軟件中存在缺陷的時候,往往要書寫缺陷報告,缺陷報告要寫得詳盡清楚,使開發(fā)人員能夠盡快定位錯誤,修改錯誤,所以作為一名優(yōu)秀的測試人員,強(qiáng)大的寫作表達(dá)能力是非常必要的。
熟悉業(yè)務(wù)知識
更好的了解你說測試軟件的業(yè)務(wù)知識是非常重要的,對業(yè)務(wù)知識了解得越深入,越能夠找出更深入,更關(guān)鍵,更隱蔽的軟件錯誤。所以作為一名優(yōu)秀的軟件測試工程師,要多向該領(lǐng)域?qū)<遥袑W(xué)習(xí),提高自己的業(yè)務(wù)知識水平。
開發(fā)經(jīng)驗(yàn)使測試工作更得心應(yīng)手
大家都知道,軟件工程中有個模型叫瀑布模型,這是最基本的軟件模型,這個模型又叫碗狀模型,因?yàn)殚_發(fā)位于碗的最底部,左上方依次為建模,需求分析,設(shè)計;右上方依次為測試,部署,維護(hù)。由此可見,開發(fā)是一切軟件活動的基礎(chǔ)。所以具備一定開發(fā)經(jīng)驗(yàn),知道在軟件中哪些地方容易出錯而哪些地方不容易,這就可以給軟件測試工作帶來非常寶貴的經(jīng)驗(yàn)。
當(dāng)然,沒有開發(fā)經(jīng)驗(yàn)的也是完全可以成為一名優(yōu)秀的測試工程師的,只不過需要更多的努力,去發(fā)現(xiàn)軟件中的一些錯誤,去尋找記錄軟件中容易出現(xiàn)一些關(guān)鍵,致命,危險錯誤的地方以幾類經(jīng)驗(yàn)。