工作上90%會遇到的軟體測試管理問題
01
測試負責人要進行嚴格的測試進度跟蹤嗎?
很多時候,由於人力資源的不足,測試專案負責人都是在執行測試,這樣就使整個專案缺乏控制,一些問題(例如:有些成員的缺陷質量不夠合格;開發人員修改不及時,系統某些功能發生嚴重問題導致部分功能無法測試。)得不到解決,耽誤了進度。所以測試負責任必須全程監控專案,儘可能多的掌握資訊。通常,測試負責人需要完成下面這些內容的管理工作:測試用例執行情況;每個測試員提交的缺陷情況;測試中是否發生突發問題。
02
測試也有版本控制嗎?
這裡的版本主要是指測試物件的版本控制,也就是指對開發部提交的產品進行版本控制。在開發小組版本管理不規範的情況下,測試小組進行版本控制十分重要,要保證測試物件是可以控制的。建議開發和測試雙方進行明確的約定,可以各自指定專門的測試版本負責人,制定提交原則,對提交情況進行詳細的記錄,這樣基本避免了版本失控導致的測試失誤或無效。
03
如何處理測試人員的流動問題?
人員流動不僅僅是測試部門,這是IT行業的普遍現象。從管理者角度,主管需要多多和團隊內成員進行溝通,建立一個融洽的團隊環境,及時掌握情況,可以早些進行相應的調整。但是隻有企業建立好的用人制度,給員工提高廣闊的發展空間和好的培訓學習機會,才能從根本上解決這一問題。加強專案管理,強化文件管理並保證文件的有效性,可以大大減少由於人員流失帶來的損失。同時,測試部門要建立培訓機制,使新到員工接受直接或者間接的培訓,快速適應工作。
04
為什麼開發人員經常抱怨測試工程師提交的缺陷質量太差?
我們經常聽開發人員說:“這不是缺陷!”,“這個缺陷沒有,因為我的系統上執行正常!”。測試工程師本身就是做質量工作的,提交的成果本身就應該質量高些,為什麼還會有這種現象?提交的缺陷引起爭議是一種正常的現象,例如測試人員描述不清楚就會引起爭議。減少甚至避免這種現象的方法是交叉測試,交叉測試是提高測試質量的一個有效手段,當然交叉測試會增加一定的測試成本投入。
在測試任務完成後,測試工程師之間互相驗證彼此提交的缺陷,就會避免了缺陷描述不清、因執行環境而產生的缺陷等一系列問題,從而大大降低了迴歸測試以及交流的成本,因而這種投入也是值得的,實際開發人員在單元測試階段也會進行交叉測試,來提高開發質量。另外,測試人員一定要按照規範描述測試中發現的缺陷,一個缺陷至少描述清楚概要描述、詳細描述、重現步驟三方面的內容,缺陷管理參考第八章的內容。
05
“讓那些新手來做測試,反正他們也不會什麼”正確嗎?
在實際專案開發中,我們常常看到有些單位忽視測試團隊存在的意義,當要實施測試時,往往臨時找幾個程式設計師充當測試人員。也有些單位儘管認識到了組建測試團隊的重要性,但在具體落實的時候往往安排一些毫無開發經驗的行業新手去做測試工作,這常常導致測試效率低下,測試人員對測試工作索然無味。
根據筆者的經驗,測試團隊應首先聘請一名資深的測試領域專家,他應具有極為豐富的同類項目軟體測試經驗,對軟體開發過程中常見的缺陷或錯誤瞭然於胸;此外,他還具有較好的親和力和人格魅力。其次,專案測試團隊還具有很多具備一技之長的成員,如對某些自動化測試工具運用嫻熟或能輕而易舉地編寫自動化測試指令碼等。另外,測試團隊還應聘請一些兼職成員,如驗證測試實施過程中,同行評審是最常使用的一種形式,這些同行專家就屬於兼職測試團隊成員的範疇。至於測試團隊裡裡的測試新手,這部分人可以安排去從事交付驗證或黑盒測試之類的。
06
測試同化現象是什麼?
同化現象是指隨著時間的推移,開發人員會逐漸影響測試人員的思維和對缺陷的判斷能力,尤其是針對同一產品,同一組開發人員和同一組測試人員共同配合了很長時間,很多本來是缺陷的問題,由於測試人員對軟體“習慣成自然”的使用,會不被當成缺陷,尤其是在開發人員的解釋和說服下。同化現象發生可能意味著“惡性迴圈”的開始:測試人員會幫著開發人員解釋一個個缺陷的合理性,一輪有一輪的測試都不會發現問題。招聘新的人員,不同的測試專案組輪換去測試不同的產品,就可以避免。同時建議產品可以釋出測試版,更多的人對其進行測試,就可以發現更多的問題。
07
測試工程師如何避免定位效應?
社會心理學家曾作過一個試驗:在召集會議時先讓人們自由選擇位子,之後到室外休息片刻再進入室內入座,如此五至六次,發現大多數人都選擇他們第一次坐過的位子。這種現象稱為定位效應,說明人們習慣上凡是自己認定的,人們大都不想輕易改變它。定位效應在開發人員和測試人員身上都有體現。例如開發工程師針對某一自己寫的功能,經常進行程式碼移植,這種複製的“功能”,由於上一次經過除錯,在新的地方往往不會認真除錯,這些程式碼往往會帶來共享變數衝突等許多種型別的缺陷。定位效應體現在測試人員身上就是測試過的功能不再進行認真測試:在迴歸測試時,之前由於進行過認真的測試,往往會認為某些功能是可靠,只要驗證一些以前發現的缺陷是否修改完成就可以了。
這種現象在反覆多次迴歸時表現的更加突出,因為迴歸測試中很多功能都會進行多次反覆測試。眾所周知,開發人員在修改缺陷時往往會引入新的缺陷,測試人員的疏於防範就會把這些缺陷帶到使用者這裡。解決這種問題的方案一般有兩個:
(1)完整的執行測試用例:這種方法投入較大,但是在開發產品時最好在最後一次迴歸測試時測試的執行一次全部的測試用例。
(2)交叉測試:測試人員交叉測試,就可以很大程度的避免定位效應。測試工程師在迴歸測試時互相交換任務,反覆測試某一功能的機會大大減少,從而也就不會“主觀的”人員某些功能沒有缺陷。通常上面的兩個方法都是結合使用的,既要進行交叉測試,又要全面執行測試用例,測試覆蓋面要儘可能的廣泛