一個(gè)好的軟件經(jīng)過測(cè)試,一個(gè)不好的軟件也經(jīng)過測(cè)試,但是到了市面上還是出現(xiàn)了好與不好的區(qū)別;軟件測(cè)試對(duì)于軟件有什么樣的價(jià)值呢?

  討論這個(gè)話題之前,可以先討論一下什么事好的軟件,好的軟件有哪些特征;其實(shí)總結(jié)一下市面上的大家公認(rèn)好的軟件一般來說有以下幾個(gè)特征:

  1、簡(jiǎn)單易用,看看Iphone,google的東西,簡(jiǎn)單易用,你不用去讀說明書,知道如何操作,而且效果完全達(dá)到了你的預(yù)期,實(shí)現(xiàn)了你想要的期望值;

  2、滿足需要,比如你想搜索,你知道google可以滿足你這個(gè)需求,你要方便的用手機(jī)同時(shí)實(shí)現(xiàn)拍照,上網(wǎng),玩游戲,Iphone可以滿足你的需求

  3、性能優(yōu)越,搜索的時(shí)候希望返回結(jié)果要快,玩游戲的時(shí)候,希望顯示效果要好;而且這個(gè)不是說剛開始的時(shí)候性能好,而是持續(xù)使用一段時(shí)間以后,性能還能保持,使用過IE都知道,過了一段時(shí)間,比如3個(gè)月到半年,IE速度明顯慢了,有些網(wǎng)頁甚至顯示不出來,當(dāng)然這個(gè)其中一個(gè)解決方式是隔一段時(shí)間做一次清理,比如現(xiàn)在有些空調(diào)隔一段時(shí)間提示你過濾網(wǎng)需要清洗,這個(gè)可以延長空調(diào)的壽命,同時(shí)可以提供性能;這要求設(shè)計(jì)軟件的時(shí)候考慮到sustainablity

  設(shè)計(jì)出來的軟件需要有這些特征才能稱之為好軟件;大的contributor應(yīng)該是開發(fā)者,這是毋庸置疑的,再好的測(cè)試是測(cè)試不出好軟件的,那么應(yīng)該怎么樣去衡量測(cè)試是好還是不好呢,來自幾個(gè)方面:

  1、開發(fā)人員的反饋,因?yàn)闇y(cè)試其實(shí)是相當(dāng)于給開發(fā)過程提供服務(wù),確保開發(fā)高效的進(jìn)行;比如bug經(jīng)常返工,這個(gè)效率比較低下(當(dāng)然的程序人員可以盡量避免這點(diǎn));

  2、Teamwork,團(tuán)隊(duì)合作精神,除了開發(fā)人員之外,其他的角色,比如項(xiàng)目經(jīng)理,用戶體驗(yàn)工程師,界面設(shè)計(jì)人員,測(cè)試人員都是團(tuán)隊(duì)的成員,大家一起的團(tuán)隊(duì)合作效果和效率也影響到了終的用戶體驗(yàn),在這點(diǎn)上測(cè)試無異于其他角色,都是需要好的溝通能力,合作精神。

  那開發(fā)人員的對(duì)于好的測(cè)試人員會(huì)有怎么樣的反饋呢?

  1、發(fā)現(xiàn)了很有價(jià)值的bug,一般用戶發(fā)現(xiàn)不了的bug,在cornercase發(fā)現(xiàn)的,而且用戶也會(huì)遇到的,(不是說在cornercase發(fā)現(xiàn),但是用戶基本上碰不到的)

  2、及早的發(fā)現(xiàn)了這些bug,越早越好的原則

  3、性能或者是安全方面的問題,因?yàn)檫@些問題都比較隱蔽,所以如果能夠發(fā)現(xiàn),開發(fā)人員自然覺得你很不錯(cuò)

  4、review的時(shí)候提出很有價(jià)值的觀點(diǎn),比如用戶在某種使用情景的情況下,設(shè)計(jì)文檔好像沒有考慮到;再比如如果和網(wǎng)絡(luò)相關(guān)的應(yīng)用,是否考慮到離線的情況,是否考慮到帶寬低的情況,這個(gè)時(shí)候的測(cè)試人員其實(shí)是站在開發(fā)者的角度,提出自己的設(shè)計(jì)思路---當(dāng)然還要開發(fā)人員buyin

  5、肯定你的技術(shù)能力,如果一個(gè)開發(fā)人員覺得一個(gè)測(cè)試人員,“技術(shù)很不錯(cuò)”這個(gè)是相當(dāng)大的肯定,也是很好的反饋

  6、Appreciate測(cè)試人員的其他幫助,比如你可以幫忙看一些bug,幫忙做診斷,幫助開發(fā)人員快速理解這個(gè)bug,甚至修復(fù)一些bug,幫忙做codereview,提出一些有價(jià)值的觀點(diǎn)等等。

  其他的更有影響力的情形:

  1、測(cè)試團(tuán)隊(duì)可以影響到release的進(jìn)程,比如如果release的時(shí)候必須達(dá)到某些質(zhì)量的criteria;

  2、測(cè)試團(tuán)隊(duì)可以影響到feature的開發(fā),比如可以提出意見,覺得哪些featurepriority更高,應(yīng)該放到哪個(gè)milestone開發(fā);

  3、測(cè)試團(tuán)隊(duì)可以影響到開發(fā)的流程,比如建議checkin之前進(jìn)行測(cè)試,比如什么時(shí)候codefreeze,什么時(shí)候進(jìn)入下個(gè)milestone等等,通過bug的taxonomy/pattern從而影響開發(fā)的一些習(xí)慣;

  這些都是衡量一個(gè)測(cè)試人員在開發(fā)人員心目中是否是一個(gè)好的測(cè)試人員的因素;而團(tuán)隊(duì)合作,同理其他成員對(duì)你的反饋也是很重要的。