最近因為想轉行做測試,最近看了不少關于測試的文章、博客、這篇文章是前不久看的,和大家分享一下,不知道作者和出處,這里就不標明,希望原作者原諒哈,主要勉勵以后自己測試道路,有共同意向的一起加油哈?。?!
軟件測試修煉之道
前言
軟件測試發展到今天,已經逐漸形成一門學科,但是還不夠系統。
初學者面對鋪天蓋地的資料應該如何選???應該從哪里入手?如何迅速的掌握各種業務各項測試技能以便開展工作?在保證測試質量的前提下,一日內編寫或執行1000個測試用例是不是夢想?
入行多年者面對復雜的業務邏輯,海量的測試需求,如何在最短的時間內進行測試?如何盡可能更早的開展測試?如何對系統架構進行測試?如何全面提高測試質量與測試效率?如何百尺竿頭更進一步?
本文將針對這些問題進行初步解答,主要闡述解決這些問題應該具備哪些能力及如何鍛煉這些能力,至于實際工作中解決問題的具體操作步驟本文不做表述,可關注后續文章。前兩章主要探討一名合格的測試工程師應該具備哪些能力,對列舉的能力將會做簡要說明。第三章重點說明應該如何鍛煉這些能力,此為本文的重點。最后一章是筆者對軟件測試虛無縹緲雜亂無章的一些想法。
本文的讀者群涵蓋所有對軟件測試感興趣的朋友。
下面,我們開始。
第一章綜合素質
筆者以為,作為一名合格的測試工程師,綜合素質是最重要的,綜合素質也就是我們常說的軟技能,它代表著一個人的潛力有多大,未來發展有多寬廣。核心素質有以下五點:溝通、分析、組織、學習、心態,下面將會分別闡述。
溝通
作為一名軟件測試工程師,優先加強的應該是哪方面的溝通能力?是文字溝通能力。試想,如果連缺陷描述都無法準確清晰的用文字表達出來,還有開發愿意和你合作嗎?特別是隨著異地開發的項目越來越多,文字溝通的場景也會越來越多。
當然,口頭溝通也很重要,通過面對面或者電話語音交流是很直接的方式,這也是為什么許多鼓吹敏捷開發的團隊喜歡坐在一起的原因,認為這樣會降低溝通成本。但事實上,真的在任何時刻都能降低成本嗎?無效冗長的會議大家都參與過,這里不做深入討論。
不知道其他人有沒有這種體驗,筆者偶爾在查閱測試用例庫或閱讀工作郵件的時候會忍不住哈哈大笑,語句不通錯別字也就罷了,寫的像聊天記錄一樣盡是口頭語就讓人很無奈了。
所以,這里首先強調的是提高文字表達能力,其次才是口頭溝通能力。
另外要特別注意的是,溝通能力包含兩方面,一方面是說(寫),一方面是聽(讀),表達與聆聽同等重要。筆者發現很多測試工程師表達能力不錯,但聆聽能力很差,有時候甚至忽略聆聽。對方話沒講完就急匆匆的打斷,即使聽了兩句也馬上反駁對方,這是惡習,比抽煙喝酒打老婆還要惡虐。
分析
早期我們認為測試的唯一工作就是發現問題,在很多文獻資料上均有類似描述。但筆者以為,測試發展到今天,單純的發現問題已不再是測試工作的全部,測試工作應包含發現問題、分析問題、解決問題三個方面。發現問題以測試人員為主開發人員為輔,分析問題開發測試共同完成,解決問題以開發人員為主測試人員為輔。
在測試工作中每時每刻都需要用到分析能力,同時,分析能力是評估一名測試工程師是否優秀最重要的考核點。就像我們常說的缺陷預防一樣,怎么預防?對已發生問題的產生原因能準確定位并把類似問題進行歸類,對未發生問題能充分預知風險并準備應對方案,這就是我們追求的零缺陷,這些工作有不需要高度分析能力的嗎?
再例如測試計劃,我們做計劃是拍腦袋亂猜嗎?是掐指算命嗎?肯定很多人回答不是,但實際上往往很多人就是這么做的。測試計劃的制定過程是首先收集大量相關信息,然后抽絲剝繭在雜亂無章的信息中尋找到關鍵點并梳理清脈絡,最終據此定出計劃。我們說部分未來是可以推測出來的,就是這個道理。在做計劃時會用到許許多多輔助分析的理論方法,這里就不一一闡述了。
艾森豪威爾有句名言:“Aplan is nothing,planningis everything.”Planning就是分析的過程。
原文轉自:http://www.jianshu.com/p/0cde18be00ed