軟件測試管理常見問題及其回答 1、測試負責(zé)人要進行嚴格的測試進度跟蹤嗎? 很多時候,由于人力資源的不足,測試項目負責(zé)人都是在執(zhí)行測試,這樣就使整個項目缺乏控制,一些問題(例如:有些成員的缺陷質(zhì)量不夠合格;開發(fā)人員修改不及時,系統(tǒng)某些功能發(fā)生嚴重問題導(dǎo)致部分功能無法測試。)得不到解決,耽誤了進度。所以測試負責(zé)任必須全程監(jiān)控項目,盡可能多的掌握信息。通常,測試負責(zé)人需要完成下面這些內(nèi)容的管理工作: 測試用例執(zhí)行情況; 每個測試員提交的缺陷情況; 測試中是否發(fā)生突發(fā)問題。 2、 測試也有版本控制嗎? 這里的版本主要是指測試對象的版本控制,也就是指對開發(fā)部提交的產(chǎn)品進行版本控制。在開發(fā)小組版本管理不規(guī)范的情況下,測試小組進行版本控制十分重要,要保證測試對象是可以控制的。建議開發(fā)和測試雙方進行明確的約定,可以各自指定專門的測試版本負責(zé)人,制定提交原則,對提交情況進行詳細的記錄,這樣基本避免了版本失控導(dǎo)致的測試失誤或無效。 3、如何處理測試人員的流動問題? 人員流動不僅僅是測試部門,這是IT行業(yè)的普遍現(xiàn)象。從管理者角度,主管需要多多和團隊內(nèi)成員進行溝通,建立一個融洽的團隊環(huán)境,及時掌握情況,可以早些進行相應(yīng)的調(diào)整。但是只有企業(yè)建立好的用人制度,給員工提高廣闊的發(fā)展空間和好的培訓(xùn)學(xué)習(xí)機會,才能從根本上解決這一問題。 加強項目管理,強化文檔管理并保證文檔的有效性,可以大大減少由于人員流失帶來的損失。同時,測試部門要建立培訓(xùn)機制,使新到員工接受直接或者間接的培訓(xùn),快速適應(yīng)工作。 4、為什么開發(fā)人員經(jīng)常抱怨測試工程師提交的缺陷質(zhì)量太差? 我們經(jīng)常聽開發(fā)人員說:“這不是缺陷!”,“這個缺陷沒有,因為我的系統(tǒng)上運行正常!”。測試工程師本身就是做質(zhì)量工作的,提交的成果本身就應(yīng)該質(zhì)量高些,為什么還會有這種現(xiàn)象? 提交的缺陷引起爭議是一種正常的現(xiàn)象,例如測試人員描述不清楚就會引起爭議。減少甚至避免這種現(xiàn)象的方法是交叉測試,交叉測試是提高測試質(zhì)量的一個有效手段,當(dāng)然交叉測試會增加一定的測試成本投入。在測試任務(wù)完成后,測試工程師之間互相驗證彼此提交的缺陷,就會避免了缺陷描述不清、因運行環(huán)境而產(chǎn)生的缺陷等一系列問題,從而大大降低了回歸測試以及交流的成本,因而這種投入也是值得的,實際開發(fā)人員在單元測試階段也會進行交叉測試,來提高開發(fā)質(zhì)量。 另外,測試人員一定要按照規(guī)范描述測試中發(fā)現(xiàn)的缺陷,一個缺陷至少描述清楚概要描述、詳細描述、重現(xiàn)步驟三方面的內(nèi)容,缺陷管理參考第八章的內(nèi)容。 5、“讓那些新手來做測試,反正他們也不會什么”正確嗎? 在實際項目開發(fā)中,我們常常看到有些單位忽視測試團隊存在的意義,當(dāng)要實施測試時,往往臨時找?guī)讉€程序員充當(dāng)測試人員。也有些單位盡管認識到了組建測試團隊的重要性,但在具體落實的時候往往安排一些毫無開發(fā)經(jīng)驗的行業(yè)新手去做測試工作,這常常導(dǎo)致測試效率低下,測試人員對測試工作索然無味。 根據(jù)筆者的經(jīng)驗,測試團隊?wèi)?yīng)首先聘請一名資深的測試領(lǐng)域?qū)<?,他?yīng)具有極為豐富的同類項目軟件測試經(jīng)驗,對軟件開發(fā)過程中常見的缺陷或錯誤了然于胸;此外,他還具有較好的親和力和人格魅力。其次,項目測試團隊還具有很多具備一技之長的成員,如對某些自動化測試工具運用嫻熟或能輕而易舉地編寫自動化測試腳本等。 另外,測試團隊還應(yīng)聘請一些兼職成員,如驗證測試實施過程中,同行評審是最常使用的一種形式,這些同行專家就屬于兼職測試團隊成員的范疇。至于測試團隊里里的測試新手,這部分人可以安排去從事交付驗證或黑盒測試之類的 6、測試同化現(xiàn)象是什么? 同化現(xiàn)象是指隨著時間的推移,開發(fā)人員會逐漸影響測試人員的思維和對缺陷的判斷能力,尤其是針對同一產(chǎn)品,同一組開發(fā)人員和同一組測試人員共同配合了很長時間,很多本來是缺陷的問題,由于測試人員對軟件“習(xí)慣成自然”的使用,會不被當(dāng)成缺陷,尤其是在開發(fā)人員的解釋和說服下。同化現(xiàn)象發(fā)生可能意味著“惡性循環(huán)”的開始:測試人員會幫著開發(fā)人員解釋一個個缺陷的合理性,一輪有一輪的測試都不會發(fā)現(xiàn)問題。 招聘新的人員,不同的測試項目組輪換去測試不同的產(chǎn)品,就可以避免。同時建議產(chǎn)品可以發(fā)布測試版,更多的人對其進行測試,就可以發(fā)現(xiàn)更多的問題。 7、測試工程師如何避免定位效應(yīng)? 社會心理學(xué)家曾作過一個試驗:在召集會議時先讓人們自由選擇位子,之后到室外休息片刻再進入室內(nèi)入座,如此五至六次,發(fā)現(xiàn)大多數(shù)人都選擇他們第一次坐過的位子。這種現(xiàn)象稱為定位效應(yīng),說明人們習(xí)慣上凡是自己認定的,人們大都不想輕易改變它。 定位效應(yīng)在開發(fā)人員和測試人員身上都有體現(xiàn)。例如開發(fā)工程師針對某一自己寫的功能,經(jīng)常進行代碼移植,這種復(fù)制的“功能”,由于上一次經(jīng)過調(diào)試,在新的地方往往不會認真調(diào)試,這些代碼往往會帶來共享變量沖突等許多種類型的缺陷。 定位效應(yīng)體現(xiàn)在測試人員身上就是測試過的功能不再進行認真測試:在回歸測試時,之前由于進行過認真的測試,往往會認為某些功能是可靠,只要驗證一些以前發(fā)現(xiàn)的缺陷是否修改完成就可以了。這種現(xiàn)象在反復(fù)多次回歸時表現(xiàn)的更加突出,因為回歸測試中很多功能都會進行多次反復(fù)測試。眾所周知,開發(fā)人員在修改缺陷時往往會引入新的缺陷,測試人員的疏于防范就會把這些缺陷帶到用戶這里。 解決這種問題的方案一般有兩個: (1)完整的執(zhí)行測試用例:這種方法投入較大,但是在開發(fā)產(chǎn)品時最好在最后一次回歸測試時測試的執(zhí)行一次全部的測試用例。 (2)交叉測試:測試人員交叉測試,就可以很大程度的避免定位效應(yīng)。測試工程師在回歸測試時互相交換任務(wù),反復(fù)測試某一功能的機會大大減少,從而也就不會“主觀的”人員某些功能沒有缺陷。 通常上面的兩個方法都是結(jié)合使用的,既要進行交叉測試,又要全面執(zhí)行測試用例,測試覆蓋面要盡可能的廣泛。 8、測試人員忽然辭職怎么辦? 目前IT行業(yè)人員流動較大已經(jīng)成為一種不爭的事實,員工的辭職大多數(shù)都會給組織帶來一定的影響,而這種影響基本是不可能避免的。在測試領(lǐng)域,員工忽然辭職也會帶來很大的負面影響,尤其測試隊伍規(guī)模較小時。面對這種情況,我們所能做的,就是如何最大限度的降低這種影響。 根據(jù)作者的經(jīng)驗,主要有兩種方法:第一種是在測試人員內(nèi)部建立一個良好的學(xué)習(xí)環(huán)境,大家互相學(xué)習(xí),這樣某些特有技術(shù)不會被某一個人所掌握,而互相學(xué)習(xí)和提高自身,也是大多數(shù)成員愿意做的;第二種就是在組織中進行知識管理,把技術(shù)作為知識沉淀下來,這樣新的員工在接手工作時容易上手,通過學(xué)習(xí)快速適應(yīng)環(huán)境。 此外,日常還要注意工作規(guī)范化,例如形成盡可能多的文檔,都可以降低員工離職帶來的損失。 9、測試人員工作發(fā)生問題測試經(jīng)理應(yīng)該如何做? 測試人員工作發(fā)生問題是測試經(jīng)理經(jīng)常要面對的問題,作為測試部門的領(lǐng)導(dǎo),首先要做的是指出測試人員所犯的錯誤,使其盡快改正錯誤。 唯一不能做的就是盯著下屬的錯誤不放??偠⒅聦俚氖д`,是一個領(lǐng)導(dǎo)者的最大失誤。英國行為學(xué)家波特說:當(dāng)遭受許多批評時,下級往往只記住開頭的一些,其余就不聽了,因為他們忙于思索論據(jù)來反駁開頭的批評。身為測試經(jīng)理要根據(jù)測試人員的心理來進行指導(dǎo),最大限度的調(diào)動每個人員的積極性來參加工作。 10、不深入到具體測試工作時,測試經(jīng)理如何考核員工? 這種現(xiàn)象在測試規(guī)模較大的組織中很常見。測試經(jīng)理應(yīng)該盡可能的安排每周與每個成員在不被打擾的環(huán)境下進行談話,這樣可以盡早發(fā)現(xiàn)和解決很多問題。 最為一個測試經(jīng)理,主要工作之一就是定期的評定組織做了些什么并且是怎樣做的。同時還要為員工做一個報告——關(guān)于充分了解測試人員正在做什么和怎樣做的報告,以此來給測試人員做做工作成績考核。這份報告要了解到每個人的動態(tài)。 測試經(jīng)理和每個員工重點是談?wù)勀壳暗墓ぷ?,例如大家在工作中的問題或意見;是否需要幫助等。許多管理者經(jīng)常抱怨沒有時間在一周會見每一個員工來談他們的工作。但是根據(jù)作者的經(jīng)驗,如果不能安排時間和員工進行每周的談話,員工會來打擾測試經(jīng)理的工作,因為員工很多問題還要要來找測試經(jīng)理商議。 同時對待員工要用他們能接受的方式,而不是我們自己可以接受的方式?!凹褐挥?,勿施于人”,這條黃金法則可能會對許多生活中的純粹的社交因素有效,但是并不是總對工作有用。有效率的管理者知道應(yīng)該逐漸了解每一個員工需要怎樣的對待方式。 總之,只有盡可能多的和員工接觸,才能更精確的進行考核。 11、測試經(jīng)理如何面對加班問題? 大多數(shù)情況下,作者是不主張加班的。當(dāng)員工每周工作超過40個小時的時候,他們開始在工作的時候關(guān)心自己的事。他們花錢,會給很久沒有聯(lián)系的人打電話,因為員工們一直都在工作。員工不能在太疲勞的狀態(tài)下完成工作,這是因為他們在工作時不能關(guān)心自己,這種情況下通常效率很低。 測試管理工作的重要任務(wù)之一就是要創(chuàng)造一個環(huán)境,讓員工在工作時間內(nèi)完成工作,同時還要鼓勵他們每周不要超過40小時,甚至可以基于他們在40個小時能夠完成的工作量給他們酬勞。通常情況下這樣做能夠提升創(chuàng)造力,從而會逐漸提高效率。 測試工作本身的一個突出特點就是不斷重復(fù)枯燥、冗長的測試,如果在疲勞狀態(tài)下,很有可能精力不集中,略過一些重要的測試環(huán)節(jié)。而且有的時候測試需要編寫測試驅(qū)動程序,這種情況更需要較好的狀態(tài)來工作。 12、測試管理者如何面對自己的錯誤? 每個人都會犯錯。我們可能會因為忘記開會而使客戶發(fā)怒,承認自己犯錯是一件尷尬的事情,尤其是管理人員認為對自己負責(zé)的項目小組承認犯錯可能會失去尊嚴。如果我們不是經(jīng)常犯錯,承認錯誤的時候其實能夠贏得尊敬。例如我們忘記一次會議,然后為此向同事或者客戶道歉,其他的人會理解我們的。 不管做了什么,不要否認或故意忽略自己的失誤。故意忽略不會讓錯誤消失,這只會讓錯誤成長為怪物。 13、為什么計劃定期的培訓(xùn)? 測試工作和開發(fā)工作一樣,不但要面對日新月異的新技術(shù),還要學(xué)習(xí)相關(guān)系統(tǒng)的領(lǐng)域知識。只有在不斷的學(xué)習(xí)中,才能做好工作,跟上行業(yè)的發(fā)展。如果測試管理者沒有基于不斷的變化而培訓(xùn)員工,就會給組織帶來一定的損失。日常培訓(xùn)可以是關(guān)于特定項目或者是技術(shù),通常采用下面幾種方法: (1)測試部門內(nèi)自由交流方式的培訓(xùn)。這種培訓(xùn)的交流比較隨意,可以在周五的例會上進行交流,也可以大家一起坐在茶館里進行交流。方法可以采用“頭腦風(fēng)暴法”,讓每個組員討論一個特定的領(lǐng)域,這種交流方法特別對同時要做很多不同項目的小組比較有益處。當(dāng)每個人做不同的項目,這會有助于每個人了解你小組所有的工程。 (2)跨部門的互相學(xué)習(xí)。測試工作需要很多領(lǐng)域以及技術(shù)知識,這些知識單靠自學(xué)是遠遠不夠的。和其它部門的同事進行交流是一個相當(dāng)好的辦法,大家在工作中可以在技術(shù)等各個方面互相得到提高。 (3)外部培訓(xùn)。外部培訓(xùn)盡管投入較高,但也是值得的。這些專家一般在自己的領(lǐng)域非常精通,可以快速提高整個測試團隊的水平。也可以通過測試小組介紹一些朋友來進行培訓(xùn),這種方式可以降低成本。 培訓(xùn)是構(gòu)造學(xué)習(xí)型組織的基本條件,也是提高員工水平的重要方法。經(jīng)常的定期培訓(xùn),可以增強組織凝聚力,使員工更加愿意長期留在組織中發(fā)展。做為測試負責(zé)人,定期的進行培訓(xùn)是十分必要的。 14、時間上不允許進行全部測試,測試負責(zé)人應(yīng)該如何做? 這個問題也許十分可笑,可是現(xiàn)實中我們的測試經(jīng)理們卻不得不面對這個問題。這里的全部測試不是指對軟件進行遍歷測試,而是指測試負責(zé)人制定的測試計劃包含的全部測試內(nèi)容。 通常,不管是開發(fā)產(chǎn)品還是做具體的項目,都會發(fā)生耽誤進度的情況。一旦整體進度不能向后延遲,項目相關(guān)人員習(xí)慣上的做法就是縮減測試時間。尤其在功能還沒有開發(fā)完成的情況下,這種現(xiàn)象更為突出。 擔(dān)負著質(zhì)量重任的測試經(jīng)理,如何來解決這個問題呢?比較好的做法是按照下面的步驟逐步來完成和改進工作: (1)按照測試任務(wù)的輕重緩急,盡最大努力完成測試任務(wù)。在時間不足的情況下,我們應(yīng)該對測試任務(wù)按照優(yōu)先級來劃分,重要緊急的任務(wù)先完成。這個時候的測試任務(wù)是一種輔助性工作,其目的就是盡最大努力來提高質(zhì)量。因此,面對這種情況,測試負責(zé)人要做的就是帶領(lǐng)測試小組充分利用所有資源來保證質(zhì)量。 (2)在實際工作中和開發(fā)人員共同配合,逐步改進工作。只有整個團隊的軟件開發(fā)能力提高了,才能從根源上解決問題。因此,測試負責(zé)人要帶領(lǐng)團隊和開發(fā)小組共同尋找適合自己的開發(fā)模式,從而使項目規(guī)劃的更加合理,進而按照預(yù)定計劃來開展測試工作。 總之,在任何情況下,測試負責(zé)人都不應(yīng)該抱怨。只有積極的面對問題,才能更好的解決問題。 15、公司不重視測試,測試負責(zé)人如何開展測試工作? 目前國內(nèi)的軟件公司不重視測試仍然是一種普遍現(xiàn)象。盡管很多公司在意識上已經(jīng)開始重視測試,但是在具體工作中,往往由于追趕進度、節(jié)省資源等方面原因而忽略測試工作。在這種情況下,測試負責(zé)人仍要對軟件質(zhì)量負主要責(zé)任。在這種環(huán)境下,測試負責(zé)人應(yīng)該如何開展工作呢? 首先,要主動去配合開發(fā)人員完成工作。尤其是不能抱怨環(huán)境,在任何情況下抱怨是不能解決問題的,只能加重矛盾的激化。在此基礎(chǔ)上,逐漸顯出測試工作的重要性,然后再逐步健全測試體系。 其次,用實際行動來證明測試工作的重要性。只有測試工作的業(yè)績逐步表現(xiàn)出來,人們才會真正的注意到測試的重要性。因此,測試負責(zé)人從點滴開始做起,才能逐步做好測試工作。 要想做好軟件,把開發(fā)的軟件產(chǎn)品形成商品,測試工作必須和開發(fā)一樣重視。否則,質(zhì)量不好的產(chǎn)品,很快會被市場淘汰的?,F(xiàn)代的軟件規(guī)模越來越大,測試工作也會越來越重要,因此測試負責(zé)人只要堅持做好工作,可發(fā)揮作用的空間會越來越大。 最后要說的是,如果真的是在一個沒有希望的團隊里,測試負責(zé)人可以考慮辭職。辭職也是一個不錯的選擇,到新的環(huán)境去發(fā)揮自己的能力,要比長時間的懷著“郁悶”的心情去工作好的多。 16、測試管理者需要是技術(shù)專家嗎? 測試管理者在測試項目中的主要任務(wù)是制定測試策略,管理測試計劃的落實情況,并且還要為測試項目的進行創(chuàng)造良好的執(zhí)行環(huán)境。同時還要調(diào)動員工的創(chuàng)造性,對員工的工作作出評估。這些工作不一定要求測試管理者達到專家的水平。 但是在實際工作中,由于測試人員的短缺,測試管理者常常做為測試員來執(zhí)行具體的測試任務(wù)。尤其在規(guī)模較小的測試團隊,測試管理者的日常工作通常以具體的測試執(zhí)行工作為主,這個時候更需要測試管理者有較好的背景知識。 總體說來,技術(shù)方面的背景知識對測試管理者是十分有益的。例如:分配工作任務(wù)、做進度預(yù)算,以及一些具體的執(zhí)行工作,都需要一定的背景知識。當(dāng)然,做為一個測試管理者,沒有必要精通所有的技術(shù),那也是辦不到的。測試管理者做到正確的幫助員工最好地完成工作,并且提供最好的完成工作的環(huán)境就可以了。 |
|