陳曄:致所有測(cè)試人員的信
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
我兩年多的測(cè)試生涯到頭了。我想再這里總結(jié)一下點(diǎn)點(diǎn)滴滴。以及我也會(huì)說(shuō)明我為什么選擇離開(kāi)。在中國(guó)有著很多很多的軟件測(cè)試,很多迫于環(huán)境,迫于 leader,迫于很多原因,導(dǎo)致只是一個(gè)“執(zhí)行者”。以下只是我個(gè)人的一些經(jīng)歷。大家可以借鑒,也可吐槽,大家隨意。 首先在測(cè)試的時(shí)候需要有一些心理暗示,其實(shí)未必是暗示,可能是給自己的一些自信。 第一:產(chǎn)品一定是有 bug 的。 無(wú)論你測(cè)試什么產(chǎn)品,一定是需要報(bào)有這樣的心態(tài)。為什么?其實(shí)就如一句說(shuō)的“如果自己都不愛(ài)自己,那么就不要奢望別人來(lái)愛(ài)你”。如果連測(cè)試潛意識(shí)里面都覺(jué)得產(chǎn)品是沒(méi)有 bug 的那么還能有誰(shuí)認(rèn)為產(chǎn)品是有 bug 的呢? 測(cè)試的歷史上有兩種驗(yàn)證方法,一種是測(cè)試是用來(lái)驗(yàn)證產(chǎn)品一定是沒(méi)有 bug 的,一種是測(cè)試是用來(lái)驗(yàn)證產(chǎn)品是有 bug 的。無(wú)論哪種你都要有一種原則,要有一種信念。就如人生漫漫長(zhǎng)路一樣,我們必須堅(jiān)信自己的夢(mèng)想,堅(jiān)信自己是能夠成功的。那么才有可能,才有希望。當(dāng)碰見(jiàn)挫折的時(shí)候,當(dāng)迷茫的時(shí)候,才不會(huì)真的被打敗。 一個(gè)新的 feature,一個(gè)剛剛 fix 的 bug,一個(gè)用戶反饋,一個(gè)不起眼的問(wèn)題。我們都需要堅(jiān)信里面有缺陷的。沒(méi)有任何一個(gè)產(chǎn)品,任何一個(gè)細(xì)節(jié)是完美的。 許多公司從上級(jí)到下屬對(duì)于產(chǎn)品的質(zhì)量根本沒(méi)有概念,又或者對(duì)于質(zhì)量不重視。在這種情況下,就需要測(cè)試產(chǎn)生力量,需要用各種事實(shí)依據(jù)去告訴公司,告訴大家這樣一個(gè)產(chǎn)品質(zhì)量的真想。國(guó)外的公司相對(duì)好點(diǎn),國(guó)內(nèi)有很多公司是需要有這種有責(zé)任感的測(cè)試存在。 第二,任何的 bug 都是能夠 repro 的 無(wú)論你面對(duì)一個(gè)很小的功能測(cè)試,還是很復(fù)雜的場(chǎng)景化的測(cè)試,又或者說(shuō)某個(gè)用戶很簡(jiǎn)單明了的描述了一個(gè)問(wèn)題。我們需要堅(jiān)定不移的告訴自己,只要是一個(gè) bug 就是有重現(xiàn)步驟的。 微軟曾經(jīng)有測(cè)試,一個(gè)問(wèn)題的重現(xiàn)步驟長(zhǎng)達(dá) 50 步。雖然可能不是最佳的步驟,但是依然對(duì)于解決問(wèn)題起到了決定性的作用。 自然,在實(shí)際中很多情況下的確會(huì)碰見(jiàn)一下子找不到重現(xiàn)步驟的方法。找不到方法意味著什么?意味著你可以開(kāi) bug,dev 可以 fix 這個(gè) bug。但是誰(shuí)都不知道到底有沒(méi)有真的修復(fù)這個(gè)問(wèn)題。還可能因此出現(xiàn)很多 regression 的 bug。所以找到一個(gè) bug 的 repro step 可以說(shuō)是一個(gè)測(cè)試基本功也是體現(xiàn)價(jià)值的地方。 和第一點(diǎn)一樣,只有你自己信念中去相信了,那么你才有可能成功。 第三,只相信自己看到的 在很多情況下,dev 或者同事會(huì)告訴測(cè)試“這個(gè)功能很小,沒(méi)有 bug 的”“簡(jiǎn)單測(cè)一下就好啦”等等的話。我主張還是不要太相信任何一個(gè)人。 面對(duì) bug,我們需要好好的理清問(wèn)題的根源邏輯,在進(jìn)行一個(gè)完全的測(cè)試之后告訴自己“這個(gè)功能基本上不會(huì)有很大,或者很 block 用戶的問(wèn)題”;面對(duì)一個(gè)討論,不要聽(tīng)到別人說(shuō)什么就是什么,任何的決定都沒(méi)有完全正確的。我們需要自己親手去驗(yàn)證很多決定和設(shè)計(jì),小到你可以 google,找出各種證據(jù)來(lái)證明某些事情。大到你可以進(jìn)行用戶數(shù)據(jù)搜集,很多企業(yè)不會(huì)去做。但是如果一個(gè)有 sense 的測(cè)試,我相信必須什么事情都親手去實(shí)踐去證明! 以上說(shuō)了這么多,可能很多人覺(jué)得,這個(gè)還是測(cè)試么?ok,我認(rèn)為真正的一個(gè)測(cè)試滿足以上三點(diǎn)是遠(yuǎn)遠(yuǎn)不夠的。以下是我認(rèn)為一個(gè)有 sense 的測(cè)試,記住是有 sense 的測(cè)試需要做到的。 第一:探知精神樂(lè)于學(xué)習(xí) 為什么我將這兩個(gè)放在一起呢。兩者密不可分。我所在公司是做 android 產(chǎn)品的。目前中國(guó)國(guó)內(nèi)很多企業(yè)也是一樣的問(wèn)題,就是只是在乎自己的產(chǎn)品怎么樣,并不會(huì)很關(guān)心你的發(fā)展。作為測(cè)試,必須有探知精神,必須樂(lè)于學(xué)習(xí)。比如你測(cè)試A平臺(tái)的B產(chǎn)品,如果只是一味的測(cè)試,只是一味的報(bào) bug。的確你會(huì)有進(jìn)步,做任何一行你都會(huì)有進(jìn)步,行行都能夠出狀元。但是幾年光陰一過(guò)去,當(dāng)別人或者自己?jiǎn)枂?wèn)自己,自己真的知道了多少?可能對(duì)于自己公司做的產(chǎn)品很了解之外,一無(wú)所知。那么這樣對(duì)于自身發(fā)展又有什么好處呢? 探知,對(duì)于任何一個(gè) design,任何一個(gè) bug,任何一個(gè)細(xì)節(jié)都需要去探知。這樣無(wú)論你做了多久,無(wú)論你是否做多少個(gè)項(xiàng)目都會(huì)依然有進(jìn)步。時(shí)不時(shí)的問(wèn)問(wèn)自己,對(duì)于這個(gè)產(chǎn)品 feature 真的了解很透徹么?對(duì)于產(chǎn)品功能邏輯很清楚么?對(duì)于這個(gè)產(chǎn)品所在平臺(tái)了解么?業(yè)內(nèi)是不是主流的 tools 都清楚了呢?是不是自己已經(jīng)沒(méi)有了進(jìn)步的余地了。這樣自己會(huì)明了很多。 第二:責(zé)任 這點(diǎn)可能很多人會(huì)說(shuō),測(cè)試最基本的不就是責(zé)任么?沒(méi)有責(zé)任怎么去做一個(gè)測(cè)試呢?是的,責(zé)任每個(gè)人都有,程度是不同的。你作為一個(gè) tester,需要保證產(chǎn)品的質(zhì)量。勿以 bug 小而不重視,本質(zhì)上依然是不負(fù)責(zé)任的表現(xiàn)。 相反的,很多測(cè)試對(duì)于產(chǎn)品是負(fù)責(zé)了,對(duì)于自己卻是不負(fù)責(zé)任的。因?yàn)樗麄冎皇且粋€(gè)傀儡,天天被人操控著。做這個(gè)做那個(gè),我覺(jué)得這種是更加可悲的。 如果你作為一個(gè) tester leader,那么你的責(zé)任不是去指揮別人做事情,不是去拍老板馬屁。而是自己不要忘記進(jìn)一步的學(xué)習(xí),不要忘記對(duì)于任何的細(xì)節(jié)去了解。更不要忘記如果出了什么問(wèn)題,自己勇于承擔(dān)這個(gè)責(zé)任。真正的 leader 是什么?需要在流程以及技術(shù)上面有自己的 sense,需要不停的去完善項(xiàng)目流程,從而提高測(cè)試 team 的效率以及項(xiàng)目的效率。 第三:通過(guò)各種渠道找到 bug repro step bug 會(huì)從各個(gè)渠道發(fā)現(xiàn)。公司內(nèi)部 bug bash 的時(shí)候,用戶反饋的問(wèn)題,自己找到的問(wèn)題。老板發(fā)現(xiàn)的問(wèn)題等等。這個(gè)時(shí)候能否找到 repro step 就是體現(xiàn)一個(gè)測(cè)試的價(jià)值所在了。 測(cè)試往往碰見(jiàn)的問(wèn)題是這樣的。突然發(fā)現(xiàn)一個(gè)問(wèn)題,欣喜若狂!但是然后問(wèn)問(wèn)自己“我剛剛做了什么”,基本上很多人都不知道。有的時(shí)候是有 log 可以取,但是 log 只是一個(gè)告訴開(kāi)發(fā)如何 dev 去解決 bug 的。所以找出重現(xiàn)步驟才是王道。并非要時(shí)時(shí)刻刻保持警惕,可以有兩個(gè)做法,一個(gè)就是自己在測(cè)試的時(shí)候留個(gè)心眼,養(yǎng)成時(shí)不時(shí)回憶自己做了哪些操作。一個(gè)就是養(yǎng)成一邊測(cè)試一邊記錄 log 的方法,這個(gè)方法相對(duì)很保險(xiǎn),不過(guò)前提是自己需要有完全看得懂 log 的能力。 另外一類 bug 是從用戶這里報(bào)出。用戶一般是無(wú)知的,根本不會(huì)懂你產(chǎn)品的邏輯,可能描述出來(lái)的錯(cuò)誤和真正的錯(cuò)誤根本就是天差地別。這個(gè)時(shí)候就需要測(cè)試去按照經(jīng)驗(yàn)以及各種方法去判斷。判斷出用戶說(shuō)的產(chǎn)品的真正的問(wèn)題在哪里,然后使用各種方法(automation.etc)去模擬 bug 產(chǎn)生的環(huán)境。這樣一來(lái),bug 在修復(fù)的情況下能夠在公司內(nèi)部馬上得到 confirm。這樣無(wú)論是對(duì)于產(chǎn)品,用戶,還是公司都是一種無(wú)限大的利益。 還有一類 bug 是公司同事報(bào)出的,或者是老板提出的。一般都是一句話“這里有個(gè)很大的 bug”。木有任何細(xì)節(jié),木有任何解釋。 當(dāng)然,總結(jié)一下來(lái)講,一個(gè)測(cè)試就如同一個(gè)偵探,慢慢的尋找蛛絲馬跡,慢慢的看到真相。能夠找到這條路的人那么必然是一個(gè)有價(jià)值的測(cè)試。毋庸置疑。 第四:bug 定義 sense bug 到底是什么?是一種缺陷么?是的。那么測(cè)試產(chǎn)品 bug 這個(gè)行為是什么?我相信很多書(shū)本上面都沒(méi)有定義過(guò)。 測(cè)試產(chǎn)品 bug 行為定義:是尋找產(chǎn)生 bug 過(guò)程的一種行為,是縮短人們用產(chǎn)品開(kāi)始到產(chǎn)品發(fā)生 bug 的周期的一種行為。 所謂找出 bug,無(wú)非是一系列的操作序列造成了程序的缺陷或者崩潰。序列可能是幾步,時(shí)間周期也可能是一年兩年十年。那么測(cè)試產(chǎn)品 bug 不就是要在項(xiàng)目周期內(nèi)盡量多的去尋找問(wèn)題么?所以,其實(shí)本質(zhì)就是,如果一個(gè)用戶用一個(gè)產(chǎn)品十天才出現(xiàn)的一個(gè) bug,那么測(cè)試就需要壓縮這種時(shí)間,將其在很短的測(cè)試周期內(nèi)發(fā)現(xiàn)這個(gè)缺陷。 方法有很多,模擬環(huán)境,使用各種已經(jīng)有的 tools,使用各種 automation 進(jìn)行測(cè)試,甚至自己寫(xiě)用戶的一個(gè)環(huán)境等等。縮短用戶發(fā)現(xiàn) bug 的周期其實(shí)就是一種戰(zhàn)斗,一場(chǎng)無(wú)止盡的斗爭(zhēng)! 第五:UE UE,用戶體驗(yàn)。很多人會(huì)說(shuō)用戶體驗(yàn)是 UI team 以及 UE team 的人需要了解的。但是往往這個(gè) sense 對(duì)于測(cè)試是最最最為重要的。 所謂最高級(jí)的 bug,最有價(jià)值的 bug 就是貼近用戶的使用習(xí)慣。但是如果一個(gè)測(cè)試沒(méi)有 UE,那么你如何模擬用戶操作?你用戶是使用 windows 的,是用 mac 的,是用 android 的,是用 dvd 機(jī)的等等,而你一個(gè)都沒(méi)有用過(guò),你何以測(cè)試?你何以找到用戶真正 care 的 bug?根本就是無(wú)稽之談。 UE 的學(xué)習(xí)對(duì)于誰(shuí)都是有利的,無(wú)論你是做什么產(chǎn)品的,你是什么職位上面的。UE 的學(xué)習(xí)是永無(wú)止境的。沒(méi)有 UE 的測(cè)試只是 monkey test 罷了 第六也是最后一點(diǎn):勇敢的去做 和第一點(diǎn)不同的是,測(cè)試這個(gè)職業(yè)在國(guó)內(nèi)還是一個(gè)比較新的職業(yè)。很多測(cè)試本身都不知道測(cè)試到底是干什么的。更加不要說(shuō)一些互聯(lián)網(wǎng)產(chǎn)品的測(cè)試。很多領(lǐng)域根本就是沒(méi)有被開(kāi)發(fā)過(guò)。你要做的就是勇敢的去嘗試??赡苡幸粋€(gè) point,開(kāi)始你的潛意識(shí)就覺(jué)得 level 太高,根本就是做不到的。但是你要去試試,不試試怎么知道不可能,勇于去做第一人。可能你做的事情就是別人沒(méi)有做過(guò)的呢?要記住!你不去做總有人去做。我相信大家都希望自己成為第一人,而不是跟著別人的腳步再踏步踏。 目前只是想到這些,原本是想寫(xiě)工作回憶錄的,卻寫(xiě)成了這樣一篇東西。真的慚愧。要不要寫(xiě)回憶錄呢!糾結(jié)?。?/P> 來(lái)源:豆瓣 該文章在 2012/4/18 12:38:49 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |