測試工作中的一些心得體會
測試工作中的一些心得體會
此文是在下從事測試工作一年以來的點(diǎn)滴心得和體會,一家之言或有不足之處,歡迎各位同仁批評和指導(dǎo),大家也可通過百度空間或是搜狐博客給我留言:
也可以發(fā)送郵件至:Eds5146@163.com
(如有轉(zhuǎn)載,請保留以上信息東敬謝)1.測試需要一份測試指導(dǎo)書測試前要明確測試目的。如:需要做哪方面的測試?具體進(jìn)行測試的步驟有哪些?功能實現(xiàn)與否如何判定?哪些現(xiàn)象是允許的?而哪些現(xiàn)象是不允許的等等。
測試目的不明確會造成測試工作的混亂,因為測試并不是簡簡單單地得出一個結(jié)果測試OK,產(chǎn)品可用。
產(chǎn)品憑什么判定可用?產(chǎn)品可用到什么程度?
憑什么判定測試過程OK(或是不OK)?產(chǎn)品完成了哪些功能?完成度有多高?產(chǎn)品沒完成哪些功能?沒完成體現(xiàn)在哪些方面?產(chǎn)品有哪些缺陷?缺陷的嚴(yán)重程度?等等諸如此類的問題才是測試工作的關(guān)鍵所在。
比如說開發(fā)一個臺燈,我們都知道,臺燈的重要功能是必須能照明,沒有達(dá)到這個要求的產(chǎn)品一定是NG的。
但測試并不是說,你把臺燈接上電源,開開關(guān)一看燈亮了,OK,這個產(chǎn)品是可以用的……
測試必須檢測到跟重要功能配套的一些基本指標(biāo),如臺燈的亮度是否可調(diào)?燈泡長時間工作發(fā)熱量多大(如果使用的是鎢絲燈泡)?燈泡的工作壽命是多久?等等。
如果燈泡開半小時,1米范圍內(nèi)的溫度可以達(dá)到70攝氏度,哇,有哪個用戶敢用這樣的產(chǎn)品?這不叫臺燈,應(yīng)該叫取暖器,再比如燈泡的壽命是10個小時,用戶每天使用4小時,不到三天就要換一個燈泡,這樣的產(chǎn)品恐怕會被歸入假冒偽劣類。那么,燈泡開半小時,1米范圍內(nèi)的溫度應(yīng)該是個什么標(biāo)準(zhǔn)?開一小時,兩小時后溫度應(yīng)該是個什么標(biāo)準(zhǔn)?0.5米內(nèi),0.2米內(nèi),燈泡的溫度又是個什么標(biāo)準(zhǔn)?燈泡的使用壽命必須大于多少小時?等等等等。
這些由誰來給?難道要讓測試人員自己來找么?
假如上述指標(biāo)都給了,測試過程中發(fā)現(xiàn),開臺燈工作兩小時零三分鐘的時候,臺燈居然熄滅了,當(dāng)你把這現(xiàn)象提交開發(fā)人員報缺陷的時候,開發(fā)人員告訴你,這是因為加了定時關(guān)斷功能(或是加了溫控開關(guān),當(dāng)發(fā)熱溫度過高時會自動關(guān)燈)
為什么測試之前不說?如果是加了定時關(guān)斷,用十個臺燈進(jìn)行檢測,關(guān)斷時間從一個半小時到三個小時的都有,那么是不是都是正常的?
不正常?那么正常應(yīng)該是在什么時間?又比如,開發(fā)一個遙控器,讓人測試的時候不給一個鍵位表,問開發(fā)人員要的時候,開發(fā)人員回答不會自己試啊!
好吧,我自己試,試過之后把功能自己做了一個表,提交給開發(fā)人員,問對不對?開發(fā)人員回答:你猜,你猜,你猜猜猜……
好吧,讓我猜是吧,那我猜實際遙控距離只有1米也是正常的,就不告訴你。有的人可能認(rèn)為,測試就是讓測試人員隨便拿產(chǎn)品去用,把使用后的現(xiàn)象和結(jié)果記錄下來,拿給開發(fā)人員這邊判定就是了,不需要給出什么資料這應(yīng)該是用戶體驗測試,不是我這里所要說的,開發(fā)過程中的測試,再說了,就算是把產(chǎn)品賣給用戶也得附上一份使用說明書吧,什么都不給就叫人測試,莫非是在考驗人智商么?
測試工作是產(chǎn)品的一個求證過程,是對設(shè)計的一個檢驗,需要忠實,詳細(xì),有效地記錄產(chǎn)品在測試過程中的現(xiàn)象(包括已實現(xiàn)功能,未實現(xiàn)功能,所存在缺陷等),并將信息反饋至開發(fā)項目組的一個必須過程。
測試的目的是為了驗證產(chǎn)品的功能,性能,同時找出產(chǎn)品的BUG點(diǎn),以完善產(chǎn)品的開發(fā)。就某種意義上而言,發(fā)現(xiàn)BUG點(diǎn)比驗證功能是OK的更加重要,因為你最好別指望客戶或用戶來幫你找BUG,否則代價會非常大。
如果一開始有明確的項目計劃,清晰的產(chǎn)品需求,那么可作為測試工作的前期導(dǎo)入,但僅靠這些還是遠(yuǎn)遠(yuǎn)不夠。產(chǎn)品的功能,性能,可拓展性,兼容性,安全性,穩(wěn)定性,這些都是測試時必須考慮到,也是必須測試到的內(nèi)容(除非沒有相關(guān)方面的需求),很多東西并不一定能在項目立項時就能夠考慮到就能夠預(yù)判到。
舉個例子,騰訊QQ我相信大多數(shù)人都用過,作為一款即時通訊軟件,與好友及陌生人在網(wǎng)絡(luò)上自由聊天是產(chǎn)品的重要功能,這個功能是必須的。
視頻聊天和傳文件是QQ的兩個拓展功能,假如現(xiàn)在是在產(chǎn)品開發(fā)過程中,開發(fā)人員讓檢測這兩個功能。
經(jīng)過測試,視頻聊天可在不同的兩臺電腦進(jìn)行連接,在連接的時候,發(fā)起視頻的一方在點(diǎn)擊視頻聊天后,會彈出一個確認(rèn)框,問是否確認(rèn)要給對方發(fā)視頻我們都知道,實際QQ上發(fā)起視頻不會有這個動作,因為這個動作多余了。
但是假如開發(fā)人員沒有給出相應(yīng)的需求,測試人員完全可以判定這個動作合理,因為計算機(jī)軟件在用戶作出重要操作時,彈出對話框讓用戶確認(rèn)的動作是很正常的。
又比如,在傳文件的過程中,發(fā)送文件的一方點(diǎn)取消傳送不能中斷傳送過程,只有接收文件的一方才能中斷傳送,如果是這樣設(shè)計的話,發(fā)送文件的一方發(fā)錯文件就很麻煩了,要么讓對方取消,要么強(qiáng)行關(guān)斷QQ進(jìn)程甚至是強(qiáng)行重啟電腦。
假如開發(fā)人員在事先沒有提到要測試這方面的功能,測試人員很可能會忽略此點(diǎn),主要去測試文件傳輸?shù)乃俾,穩(wěn)定性,出錯率等等這些指標(biāo)。
當(dāng)產(chǎn)品快交付或交付后,發(fā)現(xiàn)這個功能缺陷,開發(fā)指責(zé)是測試的失誤,居然連這個問題都沒測試到,測試可以立馬反駁測試前你有要求過要測這里嗎?然后就開始郵件,口水滿天飛……
在這里,討論誰對誰錯毫無意義,重要的是,這樣的情況其實是可以避免的。怎么樣去避免?事先說清楚需要測試到的內(nèi)容不就OK了?
作為測試人員,對于產(chǎn)品的測試需求,如測試方式,測試要點(diǎn),測試重點(diǎn)等有自己的一套思路,但是,在測試之初他們并不是最了解產(chǎn)品的人,需要開發(fā)人員給出一定的指引,畢竟并不是所有產(chǎn)品的測試需求都一致,僅憑經(jīng)驗辦事有時會走入誤區(qū),比如說:忽略掉很多本應(yīng)該注意到的東西;對產(chǎn)品的BUG點(diǎn)判斷失當(dāng);在不重要的測試點(diǎn)上花費(fèi)太多精力,而在真正應(yīng)該測試到的地方投入過小等。
做出太多的無用功不僅浪費(fèi)時間,精力,也容易使人產(chǎn)生倦怠,影響之后的測試工作。就像蒙著眼睛瞎抓一樣,根本不知道自己在干什么,不知道自己應(yīng)該干什么,甚至不知道自己干的到底有沒有作用這樣的工作狀況恐怕是很多人都不能接受的。
所以,就跟產(chǎn)品開發(fā)需要一個項目計劃一般,測試也需要一個測試指導(dǎo)。這份測試指導(dǎo)應(yīng)該包括測試的目的,測試的步驟和預(yù)期的結(jié)果。
從測試人員的角度上來講,由工程師直接附上測試指導(dǎo)書雖然省事,但是并不理想,最好是由測試人員根據(jù)產(chǎn)品情況,列舉出值得檢測的地方,主動向工程師請教,雙方進(jìn)行討論后再決定測試內(nèi)容如果時間允許的話。
知其然也要知其所以然,才有利于更準(zhǔn)確,更合理地進(jìn)行測試,也有利于積累經(jīng)驗和技術(shù),對于職業(yè)的長期發(fā)展是至關(guān)重要的。
請注意,測試人員不要養(yǎng)成一個非常不好的習(xí)慣,就是拿到待測試的樣品后什么都不考慮,直奔開發(fā)人員那里索要測試指導(dǎo)書,拿到測試指導(dǎo)書后就照本宣科地進(jìn)行測試,這是非常不負(fù)責(zé)任的行為,對于測試人員以后的發(fā)展也是非常不好的。
拿到產(chǎn)品之后先想一想,在沒有任何資料的前提下先自己摸索一下這款產(chǎn)品的設(shè)計思路,預(yù)期功能,可能會存在的缺陷等,然后再對照項目組或工程師提供的資料進(jìn)一步確認(rèn),在心中有個底之后再請教開發(fā)工程師,把測試內(nèi)容給理解透徹注意,記得要以請教的心態(tài)而不要以索要的心態(tài)。
2.產(chǎn)品的可用與否并不僅僅是由測試人員判定的
如上所述,測試是一個求證過程,檢驗過程,是在已有的條件下做出各種嘗試,以驗證產(chǎn)品的功能點(diǎn),并挖掘產(chǎn)品的缺陷點(diǎn)。
測試人員所發(fā)現(xiàn)的缺陷點(diǎn),反饋到開發(fā)人員處后,有的或許能得到改善,有的則未必需要改善,還有的則未必能夠改善基于需求,技術(shù),成本,市場等諸多因素的考慮,這是無可厚非的,因為開發(fā)并不是理想化的,不能因為缺陷點(diǎn)未改善而否決一款產(chǎn)品。
‘這個東西不行,這樣的東西簡直就是垃圾!’作為測試人員,千萬不要說出類似這樣的,帶有自以為是意味的話。測試人員并不能決定產(chǎn)品的可用與否,事實上開發(fā)人員同樣不能決定,做出這個判決的應(yīng)該是客戶,準(zhǔn)確點(diǎn)來說應(yīng)該是客戶的需求。
有一款迷你小音箱的產(chǎn)品,由于產(chǎn)品的定位是可以掛在鑰匙扣上的,方便攜帶用的,所以結(jié)構(gòu)上限制了產(chǎn)品的喇叭尺寸,也就限制了這款小音箱的音量和音質(zhì)。
當(dāng)時有兩位客戶對這款小音箱感興趣,其中一個客戶在看過產(chǎn)品之后,指出音箱音量太小,要改善。
于是工程師做出了改進(jìn),犧牲了部分音質(zhì),把音量給加大了一些,在改善之后我們又重新給兩位客戶寄出了樣品。
提出音量太小的客戶收到樣品很滿意,而另一位客戶卻很驚異地問我們,為什么這一次送樣的音箱的音質(zhì)變差了?之前的那一款挺好的啊。
說到這里大家應(yīng)該都知道后續(xù)我們是怎么做的了這款小音箱保留了兩個方案,一款音量稍小,音質(zhì)稍好;一款音量稍大,音質(zhì)稍次些,然后不同的方案交付給不同需求的客戶。
想想,如果在開發(fā)中將音箱交給測試人員來檢測,測試人員該怎么判定?這個方案的音量太小,NG;這個方案的音質(zhì)太差,NG。這樣的判定合理嗎?
本來嘛,這就是事實啊,憑什么不能這么判定呢?
偷偷的告訴你,開發(fā)任何產(chǎn)品,咱們說了不算,客戶說了才算,除非這產(chǎn)品是為你自己開發(fā)的如果是這樣,你不就是這款產(chǎn)品的客戶么?還是客戶說了算。
發(fā)現(xiàn)缺陷點(diǎn)是客觀認(rèn)知,而否決產(chǎn)品通常是個人的主觀意識決定的,個人的判斷往往是片面的,也許你認(rèn)為不能接受的缺陷在客戶的接受范圍內(nèi),反之亦然。
當(dāng)然,如果缺陷點(diǎn)嚴(yán)重到已經(jīng)影響產(chǎn)品的正常使用,已經(jīng)違背了客戶的需求,那么,這款產(chǎn)品理應(yīng)做出改善,作為測試人員提交一份報告,表示產(chǎn)品并未達(dá)到項目計劃的要
求即可。說出否決產(chǎn)品的話實際上也否決了開發(fā)人員所付出的辛勤工作,不管是有心還是無意。
可能很多人認(rèn)為,測試就是質(zhì)檢,是產(chǎn)品流向市場之前的最后一道關(guān)口,不過,就我個人的理解,測試著眼于改善產(chǎn)品,是開發(fā)流程中一個不可或缺的過程,與質(zhì)檢不同的是,質(zhì)檢是根據(jù)指標(biāo)判定產(chǎn)品是良品還是不良品,而測試是根據(jù)指標(biāo)判定產(chǎn)品缺陷,反饋回項目組進(jìn)行改善。
測試是開發(fā)流程中的環(huán)節(jié),產(chǎn)品還未成型,改善產(chǎn)品是最重要的。
質(zhì)檢是生產(chǎn)過程中的環(huán)節(jié),產(chǎn)品已經(jīng)定型,控制出貨良品率是最重要的。對產(chǎn)品的缺陷進(jìn)行追蹤是測試人員的本職工作,至于缺陷是否需要改善,產(chǎn)品是否可以交付給客戶或流向市場,測試人員可以提出自己的看法和建議,僅此而已。
3.測試要準(zhǔn)確而詳細(xì)地記錄測試過程
測試是個很繁瑣的事情,測試過程是非?简炄说募(xì)心和耐心程度的。
問題往往就發(fā)生在未知的地方這句話并不意味著在已知的地方就不會出現(xiàn)問題。
有的測試人員可能會自持經(jīng)驗豐富,憑經(jīng)驗辦事,這是測試工作的大忌!同樣的用例,用在不同的產(chǎn)品上,判定的標(biāo)準(zhǔn)可能截然相反,不要想當(dāng)然地憑感覺和經(jīng)驗辦事。你可以參考之前的案例,但是每一次測試都應(yīng)該當(dāng)做新的測試來做,這樣才能保證測試工作的準(zhǔn)確性。
以下是我親身經(jīng)歷的兩次案例。
1.索尼的PS3主機(jī)有一次升級版本時,對未經(jīng)過官方認(rèn)證的藍(lán)牙設(shè)備做出了一些限制,之前版本可以順利使用的三款產(chǎn)品在主機(jī)升級版本后出現(xiàn)了一些問題。
問題現(xiàn)在已經(jīng)解決了這不重要,我這里想要說的是,這三款產(chǎn)品依照未升級的游戲主機(jī)來測試是完全沒有問題的,如果我沒有及時更新我的測試環(huán)境,還是以未升級的游戲主機(jī)進(jìn)行測試,那就不會發(fā)現(xiàn)這些問題,等產(chǎn)品上線生產(chǎn),或者是順利出貨到客戶手上再發(fā)現(xiàn)問題,那么補(bǔ)救所需要付出的代價是非常大的。
2.有一款產(chǎn)品是用在PS3主機(jī)上的PS3手柄充電器,這款產(chǎn)品需要連接PS3主機(jī)上的兩個USB接口進(jìn)行供電。
在產(chǎn)品的使用說明書中特別強(qiáng)調(diào)了一點(diǎn),使用時要先連接PS3主機(jī)上的USB接口,再將另一端的DC接頭接入充電器。
為什么?因為如果先連接充電器,再連接PS3主機(jī)的話,充電電流很小,小到幾乎可以判定為不能充電。
就因為先接這頭還是先接那頭,就能產(chǎn)生截然不同的兩個結(jié)果,在接觸這個案例之前我都沒有意識到,也是在這之后,對于自己測試過程中的每一個操作步驟,每一個細(xì)節(jié)都留上了心。
細(xì)心一點(diǎn),耐心一點(diǎn),很多缺陷其實是可以被發(fā)現(xiàn)的。
準(zhǔn)確地記錄測試過程這點(diǎn)也許大部分人都能理解,但是詳細(xì)地記錄則未必都能做到。其實在有的時候,相同的輸入,僅僅是因為操作的細(xì)微差別,就會導(dǎo)致產(chǎn)品輸出不同的結(jié)果(其實這就是測試所要找出的問題點(diǎn)),當(dāng)你記錄的時候敷衍了事,發(fā)現(xiàn)問題再想回放問題的時候,往往會無處下手,不得不重新進(jìn)行測試,這才是費(fèi)時又費(fèi)力。
小小地吐槽一下:測試工作真的很磨蹭人,如果不是對品質(zhì)精益求精到有些偏執(zhí),如果不是極具耐心,非常注重細(xì)節(jié)的話,很難把測試工作做得非常到位。
有些時候就是一點(diǎn)小小的疏忽,就會錯過一個或多個本應(yīng)該被發(fā)現(xiàn)的缺陷,當(dāng)缺陷在生產(chǎn)時或是在客戶手上被發(fā)現(xiàn)的時候,作為測試人員心里并不好受。真的,就算沒有
任何人指責(zé)你,只要你有一點(diǎn)職業(yè)操守,足夠負(fù)責(zé)敬業(yè)的話,你會認(rèn)識到那是自己的責(zé)任,任何辯解都是白費(fèi)。
當(dāng)然,就算再細(xì)致,也不能保證可以發(fā)現(xiàn)所有的缺陷,因為缺陷往往都是意料之外的,這點(diǎn)可以理解,但這絕不能構(gòu)成你偷懶的接口,做好自己應(yīng)該做的,盡自己最大的努力,不求事事如意,但求無愧于心。
4.測試要對結(jié)果進(jìn)行反復(fù)驗證
作為技術(shù)開發(fā)人員,嚴(yán)謹(jǐn)是非常重要的一個工作態(tài)度,而作為測試人員,更是要以此作為自己的工作準(zhǔn)則。
測試是要得出一個結(jié)果,但是得出結(jié)果并不代表測試就完成了。在交付這個結(jié)果之前,先要確認(rèn)結(jié)果的正確性,準(zhǔn)確性,否則并不能算是一次成功的測試。
虛假BUG這個詞是指提交的BUG本身就不準(zhǔn)確。為什么會出現(xiàn)虛假BUG?
并不是測試人員有心弄虛作假,也不是測試人員小題大做,畢竟沒有哪個測試人員會拿自己的飯碗當(dāng)賭注,用這樣的手段來嘩眾取寵,又或是存心折騰開發(fā)人員。
虛假BUG的產(chǎn)生除了測試人員本身的經(jīng)驗和技術(shù)問題外,最大的原因就是沒有對BUG進(jìn)行反復(fù)驗證。
測試過程中就算再細(xì)致,測試結(jié)果也未必能百分百準(zhǔn)確,尤其是僅對單個產(chǎn)品進(jìn)行單次測試,一旦測試過程中出現(xiàn)少許紕漏或是意外,測試結(jié)果與正確結(jié)果往往會相差十萬八千里。要想避免或是減少因偶然或誤差而出錯的幾率,多次驗證是最佳的辦法。
我們都知道,拋硬幣出現(xiàn)正面與反面的幾率均是50%。如果你拿一個硬幣拋一次后,假如出現(xiàn)正面,你能說拋硬幣出正面的幾率是100%么?
假如你還是做上面那個測試,你拋了兩次,都出現(xiàn)正面,你能說拋硬幣出正面的幾率是100%么?我們知道,其實拋兩次都出現(xiàn)正面的幾率是50%*50%=25%,好巧不巧你碰在這25%上了,拋硬幣100%出正面是你測試得出的現(xiàn)象,卻未必是正確的結(jié)果。
要想驗證上述拋硬幣的幾率,最好的辦法就是反復(fù)多拋,因為當(dāng)你拋的次數(shù)越多,因為偶然性導(dǎo)致的偏差就會越小,當(dāng)你拋硬幣拋50次,一次反面都不出的可能性微乎其微,比你買一張彩票就中500萬大獎的概率還要低得多。
當(dāng)然,反復(fù)驗證并不是說要你每一次測試都要十幾二十次以上。根據(jù)實際情況,在覺得有疑問或異常,或是出現(xiàn)缺陷的地方驗證個三五次,如果還是沒把握再加測幾次,確定結(jié)果無誤,且可以準(zhǔn)確進(jìn)行現(xiàn)場還原后,即可提交至開發(fā)人員進(jìn)行改善。
5.測試人員的自我定位
一切以客觀事實說話這是測試人員必須遵守的工作信條。耐心,細(xì)心,嚴(yán)謹(jǐn)是測試人員必須具備的職業(yè)素質(zhì)。
測試人員千萬不能說出類似‘這個東西是個垃圾’這樣自以為是的話如果產(chǎn)品沒有缺陷,那還要測試人員來干嘛?測試人員就是為了缺陷而存在的,當(dāng)然,驗證產(chǎn)品功能的實現(xiàn)也很重要。。
任何一款產(chǎn)品在開發(fā)之初都會有或多或少的缺陷,把它們找出來是測試人員的職責(zé),但要留意,不要陷入任何不合理都是缺陷的怪圈,與開發(fā)人員及客服人員溝通,了解產(chǎn)品和客戶的真正需求,不要自以為是。
測試人員也千萬不要因為能找出產(chǎn)品的缺陷而洋洋自得,自以為比開發(fā)人員高端,因為主觀及客觀上的原因,開發(fā)人員并不能很好地從自身的角度來審視產(chǎn)品,所以才需
要有專門的測試人員對產(chǎn)品進(jìn)行檢測,作為測試人員應(yīng)該尊重開發(fā)人員,以及開發(fā)人員的勞動成果。
人與人之間是需要相互理解,相互尊重的。不管技術(shù)誰高誰低,測試人員與開發(fā)人員是處于一個互通有無,互補(bǔ)互助的地位。測試人員不必看輕開發(fā)人員,以為對方總是處處漏洞;開發(fā)人員也不必看輕測試人員,以為對方總是拾人牙慧。
作為測試人員,還要有自己的底氣,要有自己的堅持,這份底氣和堅持從何而來?就從你準(zhǔn)確而嚴(yán)謹(jǐn)?shù)臏y試報告中來,只有你自己做到了,做好了,你才能直面別人的追問和質(zhì)疑,用不卑不亢的語調(diào)回答:是的,事實就是如此,我現(xiàn)在就可以演示給您看。
如果你本身就是錯的,那要別人如何信服?作為測試動作本身,并不會對已存在的產(chǎn)品做出任何變更,變更是開發(fā)項目組的動作,如果力所能及的話,測試人員可以在測試報告后附一份缺陷改善方案表,以便于開發(fā)人員改善產(chǎn)品,但是改善(變更)必須由開發(fā)人員來完成因為這是開發(fā)人員的權(quán)利和義務(wù)。
6.結(jié)語
測試工作并不是像很多人所想的那樣,是個卑微的工種,是被開發(fā)設(shè)計人員排擠在外的沒有多少技術(shù)含量的職業(yè)。
其實測試的這個過程是很重要的,根據(jù)產(chǎn)品或是企業(yè)側(cè)重的不同,測試人員的地位和要求都不一樣。
如果可以,在技術(shù)上測試人員能夠優(yōu)于開發(fā)人員最好,對于發(fā)現(xiàn)的缺陷能自己找到原因并提出改善意見,那么缺陷的處理將會非常的迅速,在產(chǎn)品開發(fā)流程的質(zhì)量控制環(huán)節(jié)可以起到主導(dǎo)作用,產(chǎn)品的質(zhì)量也能得到很好的保證。
敢于投入如此大成本于質(zhì)量控制,將測試優(yōu)先于開發(fā)之上的,恐怕只有那些行業(yè)拔尖,且對產(chǎn)品質(zhì)量精益求精的企業(yè)才能做到。
這也是測試工作的極致……是的,真正對產(chǎn)品質(zhì)量要求很高的話,測試在整個開發(fā)流程中應(yīng)該占據(jù)很大的比重,而對于測試人員的專業(yè)和技術(shù)要求甚至比開發(fā)人員還要高,據(jù)說國外的某些高端技術(shù)企業(yè)都是把頂尖的開發(fā)人員轉(zhuǎn)到測試崗位用。
或許這也能從一個方面反應(yīng)出,為什么國內(nèi)大多數(shù)企業(yè)的產(chǎn)品質(zhì)量都比不過國外的企業(yè),因為對于產(chǎn)品的質(zhì)量控制,對于人才和成本的資源搭配不一樣,所以結(jié)果自然也就不一樣。
如果測試人員技術(shù)方面稍有欠缺,不能自行查找原因和提出改善,那么應(yīng)該加強(qiáng)自身職業(yè)上的技能,力求與開發(fā)人員做到互補(bǔ),即把驗證流程做到準(zhǔn)確,高效,并與開發(fā)人員保持良好的溝通氛圍,一起為完善產(chǎn)品的質(zhì)量而努力。
測試是個體力活,也是個技術(shù)活,更加是個折磨人的活計,不但枯燥,煩躁,也很容易讓人暴躁。然而,只要你能夠從種種不順心的事情中腳踏實地地慢步前行,你會發(fā)現(xiàn)突然之間,很多問題都不再是問題,不管生活上的,還是工作上的。
這是從事測試工作一年以來,最大的收獲。
最后再重申一遍:耐心,細(xì)心,嚴(yán)謹(jǐn),加上務(wù)實與勤奮,調(diào)整好心態(tài),相信自己,你會把這工作做好的。
擴(kuò)展閱讀:工作當(dāng)中一些項目管理的心得體會
工作當(dāng)中一些項目管理的心得體會
基本上,產(chǎn)品開發(fā)過程中的一些重大的關(guān)鍵問題,都是需要產(chǎn)品經(jīng)理來拍板;至于拍板之前的種種溝通、權(quán)衡等,就要靠產(chǎn)品經(jīng)理本身的“素質(zhì)”了,正文開始:
“1人100個月完成的項目,不是100個人1個月就可以完成。”
項目管理是讓項目活動中相互競爭的各類制約因素:質(zhì)量、進(jìn)度、資源、風(fēng)險等取得平衡的藝術(shù),同時也是平衡項目干系人的各種需要、關(guān)注和期望,帶領(lǐng)不同的人朝著相同目標(biāo)邁進(jìn)的領(lǐng)導(dǎo)藝術(shù)。
成功的項目管理可以簡單理解為:按時、在預(yù)算內(nèi)+滿足產(chǎn)品需求+滿足質(zhì)量需求地完成項目。以下是我對項目管理的一點(diǎn)體會記錄。需求等級
視覺A:圖片沒有分享功能嗎?
技術(shù)K:圖片有鏈接轉(zhuǎn)發(fā)分享、微博或郵件形式分享等多種分享,全部開發(fā)的話需要推延時間表。策劃D:圖片只做預(yù)覽、下載已經(jīng)足夠了,暫時不做分享。
交互E:如果我們的用戶是基于郵箱用戶,圖片的郵件分享還是建議做。
如果在前期產(chǎn)品需求文檔中沒有明確定義每個需求的優(yōu)先等級,或者說項目成員對需求的優(yōu)先等級沒有明確的意識,可能類似的爭論會時常發(fā)生在項目成員之間,每個人會基于自己對產(chǎn)品目標(biāo)的理解來考慮這個需求是否要做,什么時候做,做到什么程度而產(chǎn)生分歧,因而增加項目推進(jìn)的阻力。
所以在前期產(chǎn)品需求文檔中,必須明確定義出每個需求的優(yōu)先等級,需求的粒度可細(xì)化到每個大功能下的子功能需求,如:圖片分享功能的轉(zhuǎn)發(fā)鏈接分享、郵件形式分享這樣的子功能需求。等級的劃分依賴于前期的用戶需求調(diào)研、產(chǎn)品的預(yù)定目標(biāo)、開發(fā)成本、運(yùn)營計劃等;一般的需求等級劃分:
深圳市寶安區(qū)西鄉(xiāng)寶源路F518時尚創(chuàng)意園F4棟408室電話:0755-29558872傳真:0755-29558862網(wǎng)址:
P0-Musthave:如果缺失,產(chǎn)品不能發(fā)布
P1-Shouldhave:如果缺失,產(chǎn)品能發(fā)布,但不能達(dá)到預(yù)定目標(biāo)(功能/性能)P2-Nicetohave:做了則更好
P3-Neutral:對產(chǎn)品沒有明顯的好處,用戶不在意
每個需求的優(yōu)先等級確定之后,產(chǎn)品經(jīng)理根據(jù)產(chǎn)品預(yù)定目標(biāo)、開發(fā)成本、運(yùn)營計劃等來定義一個等級分界線,高于或等于這個等級分界線的需求在本期開發(fā),部分根據(jù)成本、運(yùn)營計劃等因素調(diào)整到下期開發(fā),而低于這個等級分界線的需求則只會在下期開發(fā),這樣讓全體項目成員對本期要做的需求達(dá)成共識。需求等級的實際應(yīng)用:
WBS各工作包Triage的參考基準(zhǔn)之一;Triage即確定需求任務(wù)是否要做,是否要現(xiàn)在做的一個共同決策過程;在Triage的過程中,任務(wù)owner對自己的任務(wù)以及其他人的任務(wù)有更全局的認(rèn)識。
Bug的Triage的參考標(biāo)準(zhǔn)參考基準(zhǔn)之一(也是zerobug*注1和codefreeze*注2時間節(jié)點(diǎn)計算的參考基準(zhǔn)之一);Triage即確定測試中的Bug是否要修,是否要現(xiàn)在修;如:在功能開發(fā)期間,P0、P1、P2及以上的Bug都要修;當(dāng)進(jìn)入接口凍結(jié)期后,只有P0、P1normal及以上的Bug才允許修,以保證優(yōu)先的Bug問題更快地被解決。
*注1ZeroBug:當(dāng)前不存在activebug,或不存在高優(yōu)先級或特別嚴(yán)重的bug*注2CodeFreeze:除高優(yōu)先級或特別嚴(yán)重的bug外,代碼凍結(jié)不再接受提交WBS
技術(shù)K:相片上傳的界面還沒有搭建好嗎?這部分我們需要先做起來。前端J:視覺設(shè)計師沒有完成呢!
視覺A:我在做相片的展示頁面,還沒有做到相片上傳。
項目各成員對自己需要負(fù)責(zé)的任務(wù)粒度細(xì)分不到位,每個任務(wù)的交付時間點(diǎn)不夠明確,對任務(wù)之間的依賴關(guān)系也不夠清晰,造成項目推進(jìn)中的協(xié)作成本提高,項目時間預(yù)估準(zhǔn)確率不高,項目控制的風(fēng)險增加;
因此在產(chǎn)品需求文檔確認(rèn)之后,必須做工作分解WBS(WorkBreakdownStructure),即把需求分解成較小的、易于管理的工作包。一般的工作包是最小的“可交付成果”。工作包必須詳細(xì)到可以對該工作包進(jìn)行估算(成本和工時)、安排進(jìn)度、分配負(fù)責(zé)人員或組織。項目經(jīng)理、項目成員和所有參與項目的職能主管都應(yīng)該參與WBS工作,根據(jù)項目規(guī)模情況,可以由項目經(jīng)理或各模塊主策劃來組織。組織方負(fù)責(zé)召集有關(guān)人員,集體討論所有項目工作,確定項目工作分解的方式后,各職能方提交各自的WBS,匯總后畫出WBS的層次結(jié)構(gòu)圖。結(jié)構(gòu)圖中應(yīng)包括每個工作包名稱(內(nèi)容定義)、指派人員名稱、所需工時、可能的依賴關(guān)系等;WBS的工作包,最終以任務(wù)形式錄入到QA中進(jìn)行跟蹤管理。WBS的好處:
深圳市寶安區(qū)西鄉(xiāng)寶源路F518時尚創(chuàng)意園F4棟408室電話:0755-29558872傳真:0755-29558862網(wǎng)址:
為資源、成本、進(jìn)度、質(zhì)量等控制奠定共同基礎(chǔ),確定項目進(jìn)度和控制的基準(zhǔn);為各獨(dú)立工作包分派人員,規(guī)定這些人員的相應(yīng)職責(zé),便于項目職責(zé)的落實和明確劃分;
針對各獨(dú)立工作包,進(jìn)行時間、資源需要量的估算,提高時間、資源估算的準(zhǔn)確度,并確定工作順序,提高協(xié)作效率,利于更準(zhǔn)確的制定項目進(jìn)度計劃表;
QA可視化項目管理
技術(shù)K:我完成到圖片分享功能,圖片下載的bug已經(jīng)就提交上來了,但是我現(xiàn)在沒有時間改bug。測試F:我已經(jīng)提了一輪的bug了,但是我不知道bug什么修好,然后我可以去復(fù)查。交互E:圖片分享功能開發(fā)完成了?可以測試了嗎?
產(chǎn)品經(jīng)理:現(xiàn)在大概還有多少P0的bug?zerobug時間節(jié)點(diǎn)是否需要后延?如果沒有QA,項目的狀況不是對每個項目成員透明化,就會出現(xiàn)以上的各種情況;
QA作為協(xié)同式任務(wù)管理工具,通過對每個任務(wù)的記錄和跟蹤,讓項目成員對整個項目的情況有直觀的了解,項目經(jīng)理可隨時監(jiān)控項目推進(jìn)中的風(fēng)險是否在可控范圍,并提前快速作出調(diào)整。
不管是前期開發(fā)的工作包還是后期的測試bug,均以任務(wù)的形式錄入在QA里,然后對這個任務(wù)的一些基本屬性做設(shè)置,如:屬于哪個milestone、哪個模塊等,然后由各個階段的Triage的負(fù)責(zé)人按照需求等級標(biāo)準(zhǔn)來對任務(wù)作分類定級,并確定是否做,是否現(xiàn)在做;所有的任務(wù)都必須經(jīng)過Triage并approve通過,才能開始工作。Triage的決策需要多個層面的知識(結(jié)合產(chǎn)品、技術(shù)、進(jìn)度等多方因素),特別是在大項目中,Triage往往是一項群體工作,以功能小組(featureteam)或產(chǎn)品決策組的方式來進(jìn)行。在項目的不同階段,可以由不同的角色來主導(dǎo)Triage流程。
在任務(wù)approve后,各職能方leader將任務(wù)指派給相應(yīng)具體執(zhí)行的人員。執(zhí)行人員,也就是任務(wù)的owner,必須設(shè)置任務(wù)的Statusdate,如:Status任務(wù)狀態(tài)是Working(進(jìn)行中);Statusdate即完成日期點(diǎn),Statusdate應(yīng)真實反映實際工作計劃,并應(yīng)契合項目時間表。在執(zhí)行人員完成任務(wù)時,QA會通知各職能方leader去關(guān)閉這個任務(wù),關(guān)閉的意義在于通知任務(wù)的相關(guān)跟蹤者,可以著手下一部分的工作,如某功能代碼任務(wù)關(guān)閉,即相關(guān)測試人員就知道可以開始這個功能點(diǎn)的測試工作;
通過任務(wù)在QA系統(tǒng)里的記錄和跟蹤,以及任務(wù)狀態(tài)的實時更新,最終會匯總生成各種可視化的圖表,項目進(jìn)展直觀,且可度量,能夠很好的把握整個項目推進(jìn)的節(jié)奏,對項目中各項問題和風(fēng)險定位更容易,并可在周會上對項目的所有成員公開進(jìn)度信息,便于協(xié)調(diào)一致;其中最重要的圖表:glidepath任務(wù)走勢圖:
深圳市寶安區(qū)西鄉(xiāng)寶源路F518時尚創(chuàng)意園F4棟408室電話:0755-29558872傳真:0755-29558862網(wǎng)址:
“實際任務(wù)走勢”與“計劃任務(wù)走勢”的對比,可以衡量出計劃與實際的偏差。每日構(gòu)建
技術(shù)K:我們只在每個小milestone才會打build。
交互E:希望可以每日bulid,我可以每天拿到最新的版本進(jìn)行測試。
測試Q:我建議測試前期可以每個milestoen打版本,但是中期開始,每日build。
每日構(gòu)建(dailybuild)是指每天對整個項目做一次完整的自動構(gòu)建,生成可執(zhí)行文件的過程,對Web類產(chǎn)品,每日構(gòu)建通常要伴隨自動部署的過程,將這些可執(zhí)行文件部署至測試環(huán)境,并按照一定的規(guī)則對這個安裝包或測試環(huán)境做版本編號,是一種Publicbuild的管理方式。
每日構(gòu)建是編譯管理的一種方式,項目初期,可根據(jù)根據(jù)需要按照一定的頻率打,如:每周、每個milestone,隨著項目的進(jìn)行頻率逐漸增加build的頻率,如:每天build。每日構(gòu)建的好處:
每日構(gòu)建讓從產(chǎn)品經(jīng)理、項目經(jīng)理、策劃、交互、視覺等所有的項目人員從第一個小功能模塊完成開始,能夠隨時測試最新的版本提交bug,并能及時了解技術(shù)開發(fā)的進(jìn)度;
每日構(gòu)建讓測試人員從第一個小功能模塊完成開始,能夠每天測試最新的版本,提交新bug和復(fù)查部分bug,而不需要等著某個小milestone或者所有的功能代碼都實現(xiàn)了,再開始測試,大大增加了測試和開發(fā)的重疊時間,測試更充分,測試和開發(fā)的迭代效率更高,產(chǎn)品質(zhì)量控制得更好;而且bug提交到qa上,也會一并附上build版本號,方便技術(shù)還原現(xiàn)場,更快地解決bug;
每日構(gòu)建使得技術(shù)必須對每天自己輸出的代碼負(fù)責(zé),一旦每日build失敗,必須檢查原因,并糾正不可再犯,以避免再次build失敗,這樣能非常有效地提高所提交代碼的質(zhì)量,減少bug的產(chǎn)生,加快開發(fā)效率;雖然搭建并維護(hù)dailybuild,需要比較大的工作量,但絕對物有所值。
文章來源:
深圳市寶安區(qū)西鄉(xiāng)寶源路F518時尚創(chuàng)意園F4棟408室電話:0755-29558872傳真:0755-29558862網(wǎng)址:
友情提示:本文中關(guān)于《測試工作中的一些心得體會》給出的范例僅供您參考拓展思維使用,測試工作中的一些心得體會:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。