本篇要討論的話題是測試員要在項目中起什么作用。

 

  像很多有關(guān)測試的問題一樣,這個問題初看起來答案很簡單、很平凡,但其實不然。

 

  老規(guī)矩,從我們的實際工作中舉例來說明。很多剛參加工作的測試新人常常遇到這樣的疑惑:

  1. 領(lǐng)導(dǎo)交代了一項測試任務(wù),時間緊張到正常測試時間都可能不夠,但按照流程還要寫一些計劃之類的文檔,這時候應(yīng)該如何抉擇?

  2. 領(lǐng)導(dǎo)交代了一個測試項目,作為負(fù)責(zé)人的你,可能能力只夠做一些簡單測試,而重點模塊或者高風(fēng)險模塊,以你當(dāng)前的能力難以承擔(dān)測試,這時候應(yīng)該如何進行工作?

  3. 測試完了,按照規(guī)定需要你提交測試評估報告,但你心里可能都沒底,這時候應(yīng)該怎么辦?

  4. 項目上線以后發(fā)現(xiàn)了一個漏測的問題,項目經(jīng)理因此來指責(zé)你的工作,他認(rèn)為你的工作不到位,這時候應(yīng)該怎么做?

  5. 某一天突然接到一個在你看來超出工作范圍的任務(wù),比如讓你培訓(xùn)客戶,這時候該怎么辦?

  6. 。。。。

    

     其實以上種種,或多或少都牽扯一個問題,也就是今天討論的這個話題:測試員要在項目中起什么作用。換句話說,在項目中測試員承擔(dān)什么樣的角色。

 

     測試員的角色真的像乍看起來那么簡單嗎?在我看來,一個角色就是一種關(guān)系。這意味著我們不能控制自己的角色(可以協(xié)商)。別人期望從我們測試人員這里得到的可能并不合理,所以當(dāng)我們測試人員因交付了低質(zhì)量的產(chǎn)品而受到指責(zé)的時候,不管是誰指責(zé),可能會存在分不清角色的問題。

 

     那么測試員的角色應(yīng)該是什么呢?

 

     工作久了就明白,這取決于測試團隊在這家公司的使命。測試員的使命決定要做的一切。測試員的使命,可能要取決于自己的行業(yè)、公司、項目或者團隊的特性,這些要素的千差萬別,決定了測試團隊的不同使命。例如,在有些測試團隊中,測試計劃只是為他們提供幫助的工具,他們的測試計劃可能只流傳于口頭,或者寫在草稿紙上,但仍然有效。而有的測試團隊中,測試計劃是一種“產(chǎn)品”,必須隨軟件一起交付。他們的測試計劃必須遵循嚴(yán)格的格式和內(nèi)容要求。

 

     那么有哪些可能決定測試員的使命的要求呢?舉幾個例子:

  1. 快速找出重要軟件問題

  2. 對產(chǎn)品質(zhì)量提出總體評估

  3. 確認(rèn)產(chǎn)品達到某種具體指標(biāo)

  4. 幫助客戶改進產(chǎn)品質(zhì)量和可測試性

  5. 保證測試過程能夠達到可分清責(zé)任的標(biāo)準(zhǔn)

  6. 就測試和與測試員協(xié)作方式培訓(xùn)客戶

  7. 采用特定的方法集或采用特定的規(guī)則集

  8. 幫助預(yù)測和控制維護成本

  9. 幫助客戶改進其過程

  10. 以最小化成本、最短時間或盡可能減少副作用的方式,完成自己的工作

  11. 為滿足特定客戶的要求,完成所有必要的工作

     當(dāng)測試員清楚了自己的角色之后,當(dāng)協(xié)商角色時,就有了在任何情況下確立對自己預(yù)期的基礎(chǔ)(當(dāng)然,實際情況往往是即使是清晰和恰當(dāng)?shù)臏y試角色也是一種苛求)。

 

     另外,我覺得對測試角色一個比較好的定義是:測試員是一個向客戶提供信息的服務(wù)角色。

 

     首先說“提供信息”,我們給誰提供信息,提供什么信息,為什么要提供信息?舉個例子:如果把做項目比喻成一群人開車去一個地方。有些項目很簡單、很平常,就像是白天開車去超市買東西,并不太需要我們測試。但是大多數(shù)值得開發(fā)的項目就像是夜間在山里開大越野。這些項目就需要一個指明燈就像大越野需要一個前燈,我們測試員要照亮前面的道路,使程序員和經(jīng)理盡管還在拿著地圖爭吵,但是至少可以看清他們在哪兒,要從什么樣的路面上開過去,離著懸崖峭壁有多遠。每個公司測試團隊的使命都不盡相同,不過這些細(xì)節(jié)背后的要素都是一樣的:測試就是要找到信息,有關(guān)項目或者產(chǎn)品的重要決策都是根據(jù)這些信息做的。

     再說“服務(wù)”。測試員是提供服務(wù)的角色。服務(wù)即意味著有客戶,即被服務(wù)的人。測試員是否成功,主要看其是否很好的滿足了客戶的要求和最佳利益。這不會太難,不過測試員有很多客戶,比如項目經(jīng)理、程序員、技術(shù)支持、市場人員、管理層、用戶等等所有跟項目相關(guān)的人員,這些客戶都有自己的需要,而且他們的需要不一定一致。在某些特殊項目中,我們客戶也需要進行一些優(yōu)先級排序(關(guān)于對每種客戶提供的信息不在本次討論范圍內(nèi),后期會有專題討論 )。如果測試員將時間和經(jīng)理投入到客戶并不關(guān)心的問題或需求上,就會有做無關(guān)工作或工作率低的風(fēng)險。測試員要跟自己的經(jīng)理協(xié)商使命問題,并明確使命。如果不能就使命達成一致意見,就不會有做任何工作的好基