51.你們是否隨便抓一些人來做易用性測試?
?????
????? 要這么做。自己看自己寫的程序界面,怎么看都是順眼的。這叫做審美疲勞——臭的看久了也就不臭了,不方便的永久了也就習(xí)慣了。
?????
????? 52.你對自動測試的期望正確么?
?????
????? 別期望太高。依我看,除了性能測試以外,還是暫時先忘掉“自動測試”吧,忘掉WinRunner和LoadRunner吧。對于國內(nèi)的軟件測試的現(xiàn)狀來說,只能“矯枉必須過正”了。
?????
????? 53.你們的性能測試是等所有功能都開發(fā)完才做的么?
?????
????? 不能這樣。性能測試不能被歸到所謂的“系統(tǒng)測試”階段。早測早改正,早死早升天。
?????
????? 54.你注意到測試中的殺蟲劑效應(yīng)了么?
?????
????? 蟲子有抗藥性,Bug也有。發(fā)現(xiàn)的新Bug越來越少是正常的。這時候,最好大家交換一下測試的area,或者用用看其他工具和手法,就又會發(fā)現(xiàn)一些新bug了。
?????
????? 55.你們項目組中有人能說出產(chǎn)品的當(dāng)前整體質(zhì)量情況么?
?????
????? 要有。當(dāng)老板問起這個產(chǎn)品目前質(zhì)量如何,Test Lead/Manager應(yīng)該負(fù)責(zé)回答。
?????
????? 56.你們有單元測試么?
?????
????? 單元測試要有的。不過沒有單元測試也不是不可以,我做過沒有單元測試的項目,也做成功了——可能是僥幸,可能是大家都是熟手的關(guān)系。還是那句話,軟件工程是非常實踐、非常工程、非常靈活的一套方法,某些方法在某些情況下會比另一些方法好,反之亦然。
?????
????? 57.你們的程序員是寫完代碼就扔過墻的么?
?????
????? 大忌。寫好一塊程序以后,即便不做單元測試,也應(yīng)該自己先跑一跑。雖然有了專門的測試人員,做開發(fā)的人也不可以一點測試都不做。微軟還有Test Release Document的說法,程序太爛的話,測試有權(quán)踢回去。
?????
????? 58.你們的程序中所有的函數(shù)都有輸入檢查么?
?????
????? 不要。雖然說做輸入檢查是write secure code的要點,但不要做太多的輸入檢查,有些內(nèi)部函數(shù)之間的參數(shù)傳遞就不必檢查輸入了,省點功夫。同樣的道理,未必要給所有的函數(shù)都寫注釋。寫一部分主要的就夠了。
?????
????? 59.產(chǎn)品有統(tǒng)一的錯誤處理機制和報錯界面么?
?????
????? 要有。最好能有統(tǒng)一的error message,然后每個error message都帶一個error number。
?????
????? 這樣,用戶可以自己根據(jù)error number到user manual里面去看看錯誤的具體描述和可能原因,就像SQL Server的錯誤那樣。同樣,ASP.NET也要有統(tǒng)一的Exception處理。可以參考有關(guān)的Application Block。
?????
????? 60.你們有統(tǒng)一的代碼書寫規(guī)范么?
?????
????? 要有。Code Convention很多,搞一份來發(fā)給大家就可以了。當(dāng)然,要是有FxCop這種工具來檢查代碼就更好了。
?????
????? 要這么做。自己看自己寫的程序界面,怎么看都是順眼的。這叫做審美疲勞——臭的看久了也就不臭了,不方便的永久了也就習(xí)慣了。
?????
????? 52.你對自動測試的期望正確么?
?????
????? 別期望太高。依我看,除了性能測試以外,還是暫時先忘掉“自動測試”吧,忘掉WinRunner和LoadRunner吧。對于國內(nèi)的軟件測試的現(xiàn)狀來說,只能“矯枉必須過正”了。
?????
????? 53.你們的性能測試是等所有功能都開發(fā)完才做的么?
?????
????? 不能這樣。性能測試不能被歸到所謂的“系統(tǒng)測試”階段。早測早改正,早死早升天。
?????
????? 54.你注意到測試中的殺蟲劑效應(yīng)了么?
?????
????? 蟲子有抗藥性,Bug也有。發(fā)現(xiàn)的新Bug越來越少是正常的。這時候,最好大家交換一下測試的area,或者用用看其他工具和手法,就又會發(fā)現(xiàn)一些新bug了。
?????
????? 55.你們項目組中有人能說出產(chǎn)品的當(dāng)前整體質(zhì)量情況么?
?????
????? 要有。當(dāng)老板問起這個產(chǎn)品目前質(zhì)量如何,Test Lead/Manager應(yīng)該負(fù)責(zé)回答。
?????
????? 56.你們有單元測試么?
?????
????? 單元測試要有的。不過沒有單元測試也不是不可以,我做過沒有單元測試的項目,也做成功了——可能是僥幸,可能是大家都是熟手的關(guān)系。還是那句話,軟件工程是非常實踐、非常工程、非常靈活的一套方法,某些方法在某些情況下會比另一些方法好,反之亦然。
?????
????? 57.你們的程序員是寫完代碼就扔過墻的么?
?????
????? 大忌。寫好一塊程序以后,即便不做單元測試,也應(yīng)該自己先跑一跑。雖然有了專門的測試人員,做開發(fā)的人也不可以一點測試都不做。微軟還有Test Release Document的說法,程序太爛的話,測試有權(quán)踢回去。
?????
????? 58.你們的程序中所有的函數(shù)都有輸入檢查么?
?????
????? 不要。雖然說做輸入檢查是write secure code的要點,但不要做太多的輸入檢查,有些內(nèi)部函數(shù)之間的參數(shù)傳遞就不必檢查輸入了,省點功夫。同樣的道理,未必要給所有的函數(shù)都寫注釋。寫一部分主要的就夠了。
?????
????? 59.產(chǎn)品有統(tǒng)一的錯誤處理機制和報錯界面么?
?????
????? 要有。最好能有統(tǒng)一的error message,然后每個error message都帶一個error number。
?????
????? 這樣,用戶可以自己根據(jù)error number到user manual里面去看看錯誤的具體描述和可能原因,就像SQL Server的錯誤那樣。同樣,ASP.NET也要有統(tǒng)一的Exception處理。可以參考有關(guān)的Application Block。
?????
????? 60.你們有統(tǒng)一的代碼書寫規(guī)范么?
?????
????? 要有。Code Convention很多,搞一份來發(fā)給大家就可以了。當(dāng)然,要是有FxCop這種工具來檢查代碼就更好了。