文/張敬峰
在游戲測(cè)試領(lǐng)域,懂代碼的測(cè)試人員并不多,據(jù)筆者統(tǒng)計(jì),這個(gè)比例要占到90%以上。但是在某些場(chǎng)景,寫代碼這項(xiàng)技能又起著關(guān)鍵作用,今天我們就來(lái)聊聊測(cè)試人員懂代碼的重要性會(huì)體現(xiàn)在哪些場(chǎng)景中,在這些場(chǎng)景中又會(huì)發(fā)揮哪些作用?
場(chǎng)景一:樹新風(fēng)(tree new bee)
個(gè)人認(rèn)為這是最重要的場(chǎng)景,沒有之一。對(duì)于一個(gè)測(cè)試人員而言,在與項(xiàng)目人員談?wù)搯?wèn)題時(shí)不聊聊代碼結(jié)構(gòu)、不聊聊數(shù)據(jù)庫(kù)的引擎、不聊聊tcp的三次握手,就會(huì)覺得逼格瞬間low了很多。
而且面對(duì)眾多的開發(fā)人員,如何快速的建立彼此的信任度,讓開發(fā)人員覺得你是個(gè)靠譜且牛逼的測(cè)試呢,最好的解決方案就是他們說(shuō)啥你都能聽明白,且要時(shí)不時(shí)的插兩句,而且最好是英文,千萬(wàn)別說(shuō)中文,否則逼格又低了。
如果你發(fā)現(xiàn)了個(gè)bug,僅僅截圖發(fā)給開發(fā)人員,那給人的感覺測(cè)試工作就是從網(wǎng)吧隨便拉個(gè)人就能干的活,but,如果你順便告訴開發(fā)人員這個(gè)bug是你哪行代碼的哪個(gè)變量搞錯(cuò)了,那是不是瞬間就覺得這玩意最少也得是個(gè)計(jì)算機(jī)本科才能干的吧?
以上純屬胡扯,我們還是正經(jīng)的來(lái)聊聊吧。
場(chǎng)景二:精確定位問(wèn)題
我們知道,在游戲世界存在著幾條公理,其中之一就是:越是中國(guó)人開發(fā)的游戲,功能之間的耦合度越高(尤其是付費(fèi))。
面對(duì)高耦合度的功能,可能我們?cè)诠δ躠中發(fā)現(xiàn)了一個(gè)bug,實(shí)際到這這個(gè)問(wèn)題的來(lái)源可能是功能b,面對(duì)這種問(wèn)題,如果是純黑盒測(cè)試,是很難精確定位問(wèn)題的。直接拋給開發(fā)還是閱讀代碼理清邏輯?這是個(gè)問(wèn)題。畢竟,真相只有一個(gè)!
場(chǎng)景三:清楚功能變動(dòng)
游戲世界另一條公理:當(dāng)一個(gè)開發(fā)人員信誓旦旦地說(shuō)他沒有修改代碼的時(shí)候,往往說(shuō)明他修改了代碼。
口說(shuō)無(wú)憑,如果看不懂代碼是不是很容易被蒙騙過(guò)關(guān)???懂代碼就不一樣了,幾個(gè)命令就能看到svn或git提交的日志和修改的代碼片段,機(jī)器從不欺騙我們。你看,學(xué)了代碼,是不是覺得世界變得有愛多了?
場(chǎng)景四:提升測(cè)試效率
提升效率這一點(diǎn)上并不能迷信代碼的力量,并非適用于所有測(cè)試內(nèi)容,有些簡(jiǎn)單的事情游戲里隨便點(diǎn)點(diǎn)就可以測(cè)完,如果寫代碼去測(cè)試反而讓簡(jiǎn)單的事情變得復(fù)雜。但是對(duì)某些測(cè)試內(nèi)容,尤其是涉及到一些邊界值的地方,手動(dòng)測(cè)的話,可能要重復(fù)測(cè)試好多次,寫個(gè)腳本的話,可能幾分鐘就搞定了。
另外提升效率的一個(gè)層面來(lái)源于溝通,當(dāng)你不理解代碼的時(shí)候,要想與開發(fā)人員彼此清晰的溝通一件事情是比較浪費(fèi)時(shí)間的,反之,則會(huì)在三言兩語(yǔ)中直奔主題。
場(chǎng)景五:深層次測(cè)試需求
在一個(gè)游戲項(xiàng)目的生命周期中,測(cè)試人員面對(duì)的不僅僅是功能測(cè)試,還有很多其他的外圍支撐需求,比如單元測(cè)試、性能測(cè)試、壓力測(cè)試、網(wǎng)絡(luò)測(cè)試等等,要做好這些支撐需求的測(cè)試,不掌握一點(diǎn)代碼知識(shí)是很難完成的。
舉個(gè)簡(jiǎn)單的例子,比如要測(cè)試服務(wù)器壓力,市面上幾乎不存在通用的測(cè)試工具,比較好用的jmeter也很難兼容不同游戲項(xiàng)目中的各種特色,也需要根據(jù)游戲?qū)嶋H情況編寫一些腳本來(lái)做補(bǔ)充。
場(chǎng)景六:跟上時(shí)代步伐
在互聯(lián)網(wǎng)行業(yè),技術(shù)的發(fā)展日新月異,如果不持續(xù)學(xué)習(xí)的話,很容易就會(huì)感覺與行業(yè)拉開差距。比如以前應(yīng)用較廣的數(shù)據(jù)庫(kù)是oracle,現(xiàn)在很多公司更傾向于mongodb,數(shù)據(jù)庫(kù)的設(shè)計(jì)思路都改變了很多,不學(xué)習(xí)的話,也許聽都聽不懂了。懂點(diǎn)代碼的話,會(huì)讓我們接觸和了解新技術(shù)更快一些,也更容易一些。
場(chǎng)景七:應(yīng)對(duì)突發(fā)狀況
在我們的工作中,總會(huì)遇到各種各樣的突發(fā)狀況,除非我們把自己限定在一個(gè)不思進(jìn)取的狀態(tài)內(nèi),無(wú)所謂的說(shuō)自己不會(huì)然后推給別人,否則我們總得想辦法去嘗試解決新問(wèn)題。掌握代碼能力能夠讓我們更加有底氣去承擔(dān),能夠讓我們?cè)诿媾R以前沒有遇到的問(wèn)題時(shí)多了一種選擇性,而多出的選擇性越多,則我們能夠解決問(wèn)題的概率也就越高。
場(chǎng)景八:學(xué)習(xí)新事物
當(dāng)我們喪失好奇心的時(shí)候,也就意味著我們徹底老去了。 |