希望閱讀本文的朋友是做過(guò)測(cè)試并有一定經(jīng)驗(yàn)的,不然,你明白我說(shuō)的什么意思,但你對(duì)本文并不一定深有體會(huì)。
測(cè)試人員的定位
這其實(shí)是個(gè)有趣味且值的問(wèn)題,包括經(jīng)常跟測(cè)試人員打交道的開(kāi)發(fā)人員,甚至測(cè)試人員自己都沒(méi)弄清楚自己職位到底該如何的定位。當(dāng)別人問(wèn)人什么是軟件測(cè)試時(shí)? 噢!等等,我翻翻書(shū),“軟件測(cè)試是通過(guò)一定的測(cè)試方法和工具發(fā)現(xiàn)軟件的中的缺陷從而來(lái)提高軟件質(zhì)量?!?/span> 噢?測(cè)試發(fā)現(xiàn)軟件中的所有缺陷么?不能! 噢?測(cè)試真的可以提高軟件質(zhì)量么?這個(gè)還真不敢保證。 詢問(wèn)者輕蔑的的走開(kāi)了,處于禮貌,他們可能沒(méi)有笑出聲來(lái),但他們的眼神已經(jīng)告訴了測(cè)試人員答案,測(cè)試是個(gè)可有可無(wú)的工作。留下測(cè)試員非常的窩火,但貌似真的找不出非常有力的證據(jù),來(lái)證明自己的存在“不可或缺”和“不可代替”的價(jià)值。 ---------------------------------------------------- 軟件測(cè)試人員接受專門(mén)的培訓(xùn)來(lái)發(fā)現(xiàn)并報(bào)告問(wèn)題,他們通過(guò)發(fā)現(xiàn)和報(bào)告軟件的異常問(wèn)題和存在的風(fēng)險(xiǎn),進(jìn)而幫助公司、開(kāi)發(fā)團(tuán)隊(duì)、客戶和最終用戶。 那么我們可以把測(cè)試人員比作警察嗎?在軟件開(kāi)發(fā)過(guò)程中并沒(méi)鐵定的“憲法”,他們并不能依照“法律”是去“逮捕”任何人,盡管軟件開(kāi)發(fā)的世界里完全可以制定出一定的法律。在法律的世界里,一方受到懲罰,一定有另一方面受到的傷害。但軟件缺陷不是這樣,也許這個(gè)缺陷會(huì)造成巨大的傷害,也許一定傷害也沒(méi)有。也許我們的“法律”根本無(wú)法評(píng)估一個(gè)的傷害到底有多大。 好吧!既然不能做警察,那來(lái)做法管好了,讓測(cè)試人員來(lái)做“質(zhì)量把關(guān)人”。這其實(shí)操作起來(lái)很困難,也不太公平。所謂“質(zhì)量把關(guān)人”,就是在軟件發(fā)布前將該軟件看做一個(gè)商品。由測(cè)試人員來(lái)權(quán)衡風(fēng)險(xiǎn)、必要性、市場(chǎng)需求和成本開(kāi)銷(xiāo)。噢!測(cè)試人員的高度不夠,評(píng)估和承擔(dān)風(fēng)險(xiǎn)其實(shí)是項(xiàng)目管理者或公司管理層的任務(wù)。 到后面可能測(cè)試人員已經(jīng)拋棄了測(cè)試人員的本質(zhì)工作(發(fā)現(xiàn)并提交問(wèn)題),而是花費(fèi)大量的時(shí)間在權(quán)衡和評(píng)估每一個(gè)問(wèn)題。其實(shí),測(cè)試人員清楚地知道不客發(fā)現(xiàn)和解決多少問(wèn)題。軟件代碼里總是還潛伏著一些問(wèn)題,所以,他們一般不太情愿蓋那個(gè)質(zhì)檢合格的紅印。這就是說(shuō)等“質(zhì)量把關(guān)人”去確定產(chǎn)品合格,可能要猴年馬月了。 測(cè)試人員其實(shí)更愿意做偵查取證小組或驗(yàn)尸法醫(yī)。他們只提取證據(jù)。接下來(lái)的你們看著辦吧。 好吧!軟件測(cè)試人員的工作遠(yuǎn)不至這個(gè),以下任何要求都可能決定測(cè)試人員的使命,你(測(cè)試人員)期望的是哪種要求?
對(duì)于測(cè)試人員來(lái)說(shuō)這太啰嗦(復(fù)雜)了,他們只是單純的喜歡找缺陷(bug),并像探秘一樣的把缺陷定位出來(lái)。這就像好玩的尋寶游戲。沒(méi)人事先知道答案,這樣對(duì)測(cè)試人員來(lái)說(shuō)才是有趣的挑戰(zhàn)。
測(cè)試人員有趣的特質(zhì)
好吧!為了完成這項(xiàng)有趣的挑戰(zhàn),測(cè)試人員應(yīng)該具備什么樣的特質(zhì)呢? 首先要有好奇心,想弄清楚事物是怎么運(yùn)行的;其次喜歡動(dòng)手試驗(yàn),想知道嘗試使用功能演示時(shí)不同的用戶場(chǎng)景和試驗(yàn)會(huì)發(fā)生什么。 再次,需要一點(diǎn)膽大精神,不害怕會(huì)破壞什么東西,不管你有多位高權(quán)重,他們也不害怕把發(fā)現(xiàn)的事實(shí)告訴你,他們更不害怕站出來(lái)?yè)?jù)理力爭(zhēng),一定要把他們相信可能影響到產(chǎn)品成功的問(wèn)題解決掉。 善于分析,善于學(xué)習(xí),事實(shí)上,測(cè)試人員一直在學(xué)習(xí),他們的工作性質(zhì)要求如此。技術(shù)總是在變化,接到的每個(gè)項(xiàng)目或多或少跟上一個(gè)項(xiàng)目不一樣。有時(shí)候有很好的文檔,有時(shí)候卻沒(méi)有,必須問(wèn)出正確的問(wèn)題,研究正確的問(wèn)題,把謎題的各個(gè)碎片聯(lián)系在一起,然后得出正確的結(jié)論。 當(dāng)然,測(cè)試人員也有不好的特質(zhì),尤其對(duì)于那些經(jīng)驗(yàn)豐富的人為說(shuō),不容易信任人,這是從實(shí)踐中歷練出來(lái)的,別人總是告訴他們模塊X不需要測(cè)試,或代碼Y“沒(méi)動(dòng)過(guò)”,這種信息錯(cuò)的數(shù)多到數(shù)不清了。所以,就算你告訴測(cè)試人員草是綠的他們也要親自過(guò)目才敢相信。當(dāng)然了,不是所有的測(cè)試人員都具備這些特質(zhì)。好吧!也許你做測(cè)試是為了一份穩(wěn)定的工作來(lái)生活。也許你不是“真正的”測(cè)試員。
尋找測(cè)試的樂(lè)趣
只懂執(zhí)行其他人測(cè)試想法的人,不能算是一個(gè)真正意義上的測(cè)試人員。當(dāng)一個(gè)測(cè)試人員運(yùn)行一大堆已有的測(cè)試用例時(shí),容易心生厭煩??赡軙?huì)快運(yùn)行這些測(cè)試,只是想讓他們從眼前消失,這意味者他們可能不會(huì)非常關(guān)注執(zhí)行的測(cè)試,當(dāng)然也就不能像認(rèn)真徹底的執(zhí)行者一樣找出某些問(wèn)題。 很多測(cè)試人員覺(jué)得單調(diào)乏味而不屑運(yùn)行回歸測(cè)試,雖然大部分測(cè)試員都理解甚至同意回歸測(cè)試的必要性。 一個(gè)“真正的”測(cè)試人員一定會(huì)把這些已有測(cè)試看作自己的職責(zé)范圍,重新考慮其中的想法,提出問(wèn)題,充實(shí)和改變測(cè)試,探究原來(lái)的分析沒(méi)有考慮到的地方。如果原來(lái)的分析實(shí)在很棒,尋阿能他們也找不出來(lái)太多可有更新充實(shí)的內(nèi)容,進(jìn)而增加了無(wú)聊指數(shù)。
并非發(fā)現(xiàn)的所有問(wèn)題都可以得到解決
雖然,看到這個(gè)結(jié)果會(huì)打擊測(cè)試人員的積極性,但這是真的。最有經(jīng)驗(yàn)的的測(cè)試人員會(huì)同情地拍拍你的肩膀說(shuō):地球人都知道事情不僅僅是發(fā)現(xiàn)問(wèn)題那么簡(jiǎn)單。他們也會(huì)充分理解、會(huì)力支持你的決定:?jiǎn)栴}A、B、C 可以不解決,并不會(huì)有人對(duì)這樣的決定怪罪你。擁有多年工作經(jīng)驗(yàn)的測(cè)試人員會(huì)說(shuō)出大家都愉悅的意見(jiàn),因?yàn)樗麄儚倪@家公司的項(xiàng)目經(jīng)驗(yàn)中學(xué)乖了,知道這樣會(huì)給他們(以及他們部門(mén))帶來(lái)最好的質(zhì)量結(jié)果。但是需要記住,他們之所以肯犧牲問(wèn)題A、B、C ,很可能是為了說(shuō)服你解決更嚴(yán)重的問(wèn)題D 和E 。當(dāng)然,大多數(shù)測(cè)試員是希望發(fā)現(xiàn)的所有問(wèn)題都能夠得到處理,現(xiàn)實(shí)總沒(méi)希望的那么好。
測(cè)試員只喜歡有趣的缺陷
所有的測(cè)試人員都會(huì)告訴你,缺陷是存在的,然后缺陷就真的存在了。一般來(lái)說(shuō),讓事情變得好玩并非缺陷的數(shù)目。比如一個(gè)測(cè)試人員可以在大的網(wǎng)站應(yīng)用程序中發(fā)現(xiàn)上千個(gè)表面錯(cuò)誤,就是語(yǔ)句與錯(cuò)別字,給用戶看的文本有語(yǔ)法錯(cuò)誤,圖標(biāo)上的顏色不對(duì),或都屏幕上有東西位置放得不對(duì)。 測(cè)試人員非常討厭這樣的錯(cuò)誤,特別是發(fā)現(xiàn)有很多的時(shí)候。因?yàn)橛涗涍@類錯(cuò)誤比發(fā)現(xiàn)它們所花費(fèi)的時(shí)間更長(zhǎng)。而且他們一般屬于低優(yōu)先級(jí),很容易得到解決。對(duì)!測(cè)試人員就是變態(tài)的喜歡讓開(kāi)發(fā)員束手無(wú)策的問(wèn)題,這樣似乎更能體驗(yàn)他們的能力與價(jià)值。
不要去預(yù)測(cè)問(wèn)題優(yōu)先級(jí)
在IT領(lǐng)域經(jīng)驗(yàn)豐富的前輩會(huì)告訴你,某個(gè)應(yīng)用程序的最終用戶可能會(huì)對(duì)你覺(jué)得微不足道的問(wèn)題深切關(guān)注。這跟人的“煩惱因素”有很大關(guān)系,一個(gè)錯(cuò)別字或字體用得不恰當(dāng)可能不會(huì)影響用戶的使用,項(xiàng)目組的所有人都認(rèn)為這是個(gè)小問(wèn)題。但是對(duì)于每天要看兩千遍的用戶來(lái)說(shuō),“煩惱因素”是非常高的。 例一個(gè)雙擊鼠標(biāo)就可以完成的操作,我設(shè)計(jì)成了三擊,只是多點(diǎn)了一個(gè)鼠標(biāo)而已。這也許有趣,但對(duì)于每天操作幾百遍的用戶來(lái)說(shuō),他會(huì)破口大罵地拿起鼠標(biāo)甩到地上。這太令人討厭了。這影響的他們的工作效率,也行效率與績(jī)效、獎(jiǎng)金掛鉤。 測(cè)試人員報(bào)告他們發(fā)現(xiàn)的一切問(wèn)題,其中經(jīng)驗(yàn)豐富的人員會(huì)根據(jù)其理解來(lái)報(bào)告嚴(yán)重程度,但一般來(lái)說(shuō)不要試圖預(yù)測(cè)業(yè)務(wù)優(yōu)先級(jí)。他們理解中的業(yè)務(wù)優(yōu)先級(jí)通常就像開(kāi)發(fā)團(tuán)理解的一樣,是不太完整的,并不是基于用戶的個(gè)人體驗(yàn)做出的。經(jīng)常有用戶愿意“將就”使用有嚴(yán)重錯(cuò)誤的代碼,卻在最后一刻強(qiáng)迫要求修改或添加看起來(lái)并不重要的東西。 測(cè)試人員的工作是尋找、發(fā)現(xiàn)、報(bào)告,而不是用神一樣的能力去評(píng)判,測(cè)試人員應(yīng)該隨心所欲的提供他們的專業(yè)意見(jiàn),事實(shí)上,項(xiàng)目組的所有人都應(yīng)該隨心所欲地提供專業(yè)意見(jiàn)。
報(bào)告你發(fā)現(xiàn)的所有問(wèn)題
有一個(gè)令人遺憾的現(xiàn)實(shí),那就是測(cè)試人員不將他們發(fā)現(xiàn)的所有錯(cuò)誤報(bào)告出來(lái)。原因可能有很多,但最常見(jiàn)的是他們覺(jué)得報(bào)告某一種或某一類錯(cuò)誤沒(méi)有意義,因?yàn)榉凑疾粫?huì)被解決的。這是從實(shí)踐中“學(xué)”來(lái)的,你通常會(huì)發(fā)現(xiàn)有這類態(tài)度的測(cè)試人員不抱幻想、厭倦、憤世嫉俗、對(duì)工作不感興趣。他們報(bào)告缺陷的興趣和熱情已經(jīng)被工作環(huán)境慢慢消磨掉了。另一個(gè)原因也許是他們相信從政治上和實(shí)際上來(lái)說(shuō),報(bào)告他們發(fā)現(xiàn)的一切東西是不“聰明”的,他們應(yīng)該只報(bào)告那些公司在乎的東西。那么,如果公司看不到整個(gè)大局,怎么知道在不在乎呢?每個(gè)人都明白很多錯(cuò)誤是不能(或者從財(cái)務(wù)的角度來(lái)說(shuō)不應(yīng)該)在產(chǎn)品發(fā)布前解決的。成功項(xiàng)目管理的“藝術(shù)和工藝”的一個(gè)要素是對(duì)推遲和解決哪些缺陷做出正確的決策。比如,項(xiàng)目組決定解決1 4 個(gè)缺陷,推遲另外3 2 個(gè)。但是測(cè)試人員選擇不報(bào)告3 2 4 個(gè)缺陷,因?yàn)殚_(kāi)發(fā)團(tuán)隊(duì)“從不解決”字段錯(cuò)誤,這意味著項(xiàng)目經(jīng)理和上層的管理者正在根據(jù)錯(cuò)誤、不全面的信息作決策。在這個(gè)例子里,用戶界面就不能在萬(wàn)眾矚目的黃金時(shí)段隆重登場(chǎng)。 另外,就算是在一個(gè)并不解決某類錯(cuò)誤的公司,報(bào)告每個(gè)錯(cuò)誤也可能會(huì)最終改變公司的政策(或稱之為“一直實(shí)行的陳規(guī)”)。如果一個(gè)測(cè)試人員報(bào)告了4 0 個(gè)錯(cuò)誤,一個(gè)都沒(méi)解決,應(yīng)用程序就發(fā)布了,然后用戶以緊急的優(yōu)先級(jí)報(bào)告同樣的錯(cuò)誤并要求盡快地解決它們,那么開(kāi)發(fā)團(tuán)隊(duì)和項(xiàng)目經(jīng)理以后就會(huì)開(kāi)始注意這類缺陷
測(cè)試員一直在想法破壞你的程序
好的測(cè)試人員同時(shí)是富有創(chuàng)造力和想象力的。測(cè)試通常是一個(gè)破壞的過(guò)程,正因?yàn)槿?/span>此,在正式產(chǎn)品環(huán)境下運(yùn)行測(cè)試需要非常謹(jǐn)慎的決策。好的測(cè)試人員不必試圖證明軟件運(yùn)行正常,他們是來(lái)證明軟件不能正常運(yùn)行的。這一態(tài)度差異是測(cè)試人員能發(fā)現(xiàn)如此多缺陷的主要原因,他們就是想發(fā)現(xiàn)缺陷。他們分析手上所有的信息,坐下來(lái)思考怎么才能破壞應(yīng)用程序。項(xiàng)目組里沒(méi)有其他人有這樣的使命。開(kāi)發(fā)人員一般甚至沒(méi)有足夠的時(shí)間持續(xù)寫(xiě)代碼,更不要說(shuō)試圖擠出足夠的時(shí)間來(lái)想怎么破壞代碼了。最終用戶通常只是執(zhí)行日常工作的操作,如果有東西“壞掉了”,他們可能陷入恐慌和沮喪之中。另一方面,只有測(cè)試人員勇敢地參與進(jìn)來(lái),使出吃奶的勁兒去發(fā)現(xiàn)軟件中的缺陷,他們卻為發(fā)現(xiàn)另開(kāi)發(fā)人員痛苦的缺陷而興奮不已。 這正好應(yīng)驗(yàn)了媽媽一直告訴我們的話,要是你只盯人身上壞的一面,那你就只能發(fā)現(xiàn)壞的東西。測(cè)試人員全面地盯著系統(tǒng)中出錯(cuò)的一面找問(wèn)題,順便也就檢驗(yàn)了運(yùn)行正常的部分。但他們關(guān)注的焦點(diǎn)總是向著錯(cuò)的東西,而不是對(duì)的東西
測(cè)試角色的本質(zhì)
很久之前,就有關(guān)于測(cè)試人員的角色的爭(zhēng)論,我們?cè)賮?lái)總結(jié)性的說(shuō)說(shuō)測(cè)試角色的本質(zhì)。 一些人認(rèn)為測(cè)試人員的角色是保證質(zhì)量,如果有人能決定到底“質(zhì)量”指什么? 這個(gè)似乎很難說(shuō)清。 另一些人認(rèn)為他們的角色是通過(guò)訓(xùn)練開(kāi)發(fā)人員的尋找缺陷幫助他們編寫(xiě)出更好的代碼----在開(kāi)始編寫(xiě)的時(shí)候就不存在錯(cuò)誤的編碼; 還有一些測(cè)試專家集中精研究為何以及如何找到缺陷:在不同的環(huán)境下尋找缺陷所涉及的策略、技術(shù)和術(shù)語(yǔ)。 所有這些說(shuō)法都很有趣,在某種意義上都是對(duì)業(yè)界有溢的。但是,從本質(zhì)上來(lái)說(shuō),測(cè)試的意義就是發(fā)現(xiàn)缺陷。測(cè)試人員通過(guò)項(xiàng)目組和管理層展示缺陷、問(wèn)題或瑕疵“保證質(zhì)量”,進(jìn)而幫助他們做出更好的決策;他們通過(guò)向開(kāi)發(fā)人員展示其代碼中的錯(cuò)誤,使其知錯(cuò)就改引以為戒,進(jìn)而幫助他們改進(jìn)工作;他們學(xué)習(xí)新的策略和技術(shù)以便發(fā)現(xiàn)更多的(或者更重要的)缺陷,他們把工作歸類到新的策略里,如游歷式,進(jìn)而幫助 其他人發(fā)現(xiàn)缺陷。如果在測(cè)試過(guò)程中沒(méi)有發(fā)現(xiàn)(或者只發(fā)現(xiàn)了很少的)錯(cuò)誤,那么這也是重要的信息。 ------------------------------------------------------------------------------ 注:本文內(nèi)容取自《測(cè)試之美》第1章 “這對(duì)你有好處么”,這是一本很好的書(shū),讀完第1章收獲頗多,但正如不少人說(shuō)話,作者寫(xiě)得太散了,沒(méi)有條理。好吧!我把這一部分的精彩抽取出來(lái)與各位分享。 |
|