人是測試工作中最有價值也是最重要的資源,沒有一個合格的、積極的測試小組,測試就不可能實現(xiàn)。然而,在軟件開發(fā)產業(yè)中有一種非常普遍習慣,那就是讓那些經驗最少的新手、沒有效率的開發(fā)者或不適合干其他工作的人去做測試工作。這絕對是一種目光短淺的行為,對一個系統(tǒng)進行有效的測試所需要的技能絕對不比進行軟件開發(fā)需要的少,事實上,測試者將獲得極其廣泛的經驗,他們將遇到許多開發(fā)者不可能遇到的問題。
?、?、溝通能力 一名理想的測試者必須能夠同測試涉及到的所有人進行溝通,具有與技術(開發(fā)者)和非技術人員(客戶,管理人員)的交流能力。既要可以和用戶談得來,又能同開發(fā)人員說得上話,不幸的是這兩類人沒有共同語言。和用戶談話的重點必須放在系統(tǒng)可以正確地處理什么和不可以處理什么上。而和開發(fā)者談相同的信息時,就必須將這些活重新組織以另一種方式表達出來,測試小組的成員必須能夠同等地同用戶和開發(fā)者溝通。 ?、凇⒁魄槟芰?/p> 和系統(tǒng)開發(fā)有關的所有人員都處在一種既關心又擔心的狀態(tài)之中。用戶擔心將來使用一個不符合自己要求的系統(tǒng),開發(fā)者則擔心由于系統(tǒng)要求不正確而使他不得不重新開發(fā)整個系統(tǒng),管理部門則擔心這個系統(tǒng)突然崩潰而使它的聲譽受損。測試者必須和每一類人打交道,因此需要測試小組的成員對他們每個人都具有足夠的理解和同情,具備了這種能力可以將測試人員與相關人員之間的沖突和對抗減少到最低程度。 ?、?、技術能力 就總體言,開發(fā)人員對那些不懂技術的人持一種輕視的態(tài)度。一旦測試小組的某個成員作出了一個錯誤的斷定,那么他們的可信度就會立刻被傳揚了出去。一個測試者必須既明白被測軟件系統(tǒng)的概念又要會使用工程中的那些工具。要做到這一點需要有幾年以上的編程經驗,前期的開發(fā)經驗可以幫助對軟件開發(fā)過程有較深入的理解,從開發(fā)人員的角度正確的評價測試者,簡化自動測試工具編程的學習曲線。 ?、?、自信心 開發(fā)者指責測試者出了錯是常有的事,測試者必須對自己的觀點有足夠的自信心。如果容許別人對自己指東指西,就不能完成什么更多的事情了。 ⑤、外交能力 當你告訴某人他出了錯時,就必須使用一些外交方法。機智老練和外交手法有助于維護與開發(fā)人員的協(xié)作關系,測試者在告訴開發(fā)者他的軟件有錯誤時,也同樣需要一定的外交手腕。如果采取的方法過于強硬,對測試者來說,在以后和開發(fā)部門的合作方面就相當于“贏了戰(zhàn)爭卻輸了戰(zhàn)役”。 ?、?、幽默感 在遇到狡辯的情況下,一個幽默的批評將是很有幫助的。 ?、?、很強的記憶力 一個理想的測試者應該有能力將以前曾經遇到過的類似的錯誤從記憶深處挖掘出來,這一能力在測試過程中的價值是無法衡量的。因為許多新出現(xiàn)的問題和我們已經發(fā)現(xiàn)的問題相差無幾。 ?、唷⒛托?/p> 一些質量保證工作需要難以置信的耐心。有時你需要花費驚人的時間去分離、識別和分派一個錯誤。這個工作是那些坐不住的人無法完成的。 ?、?、懷疑精神 可以預料,開發(fā)者會盡他們最大的努力將所有的錯誤解釋過去。測式者必須聽每個人的說明,但他必須保持懷疑直到他自己看過以后。 ?、?、自我督促 干測試工作很容易使你變得懶散。只有那些具有自我督促能力的人才能夠使自己每天正常地工作。 11、洞察力 一個好的測試工程師具有“測試是為了破壞”的觀點,捕獲用戶觀點的能力,強烈的質量追求,對細節(jié)的關注能力。應用的高風險區(qū)的判斷能力以便將有限的測試針對重點環(huán)節(jié)。 |
|