測試的角色
-這是經常被開發人員和管理人員濫用的一句話。經常出現在出現問題時,對測試小組的指責中。就是由于這個觀念的存在,導致很多問題在開發晚期或測試后期才發現,可能需要大量的返工甚至拖延了產品的發布時間。其實在開發過程中的每一人都有可能影響產品的質量。這就像建房子一樣,房子出現問題了,只是檢查人員的問題嗎?我想如果每一個人都心懷以“質量為中心”,小心謹慎的做好自己的工作,產品的質量會上一個很多的臺階。
-在很多“軟件測試”的定義中,都提到類似“軟件測試是為了發現錯誤”的話。其實這個觀點是提醒人們在測試過程要以查找錯誤為中心,而不是證明軟件的正確功能。但是很多人僅憑著字面的意思就認為發現錯誤是測試的唯一目的,那些找不出任何錯誤或很少錯誤的測試都不是成功的測試,這是錯誤的。
其實測試不僅僅只是為了發現錯誤,還需要分析錯誤產生的原因和其分布情況,為開發人員,管理層提供參考,指出產品或開發過程中存在的主要問題。而且隨著人們對產品質量的要求的提高,出現了多樣的測試類型。象易用性測試,性能測試,覆蓋率測試,恢復性測試,完整性測試等,這些測試都不是完全為了發現錯誤,而是找出和預期標準不同的問題。
所以個人認為還是IEEE在1983年提出的:“使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。”比較權威。
-有些開發人員認為單純的手工測試只是發現系統的一些皮毛問題,因此從心里看低測試人員。但有過經驗的開發人員知道,測試人員也發現了很多重要的問題。我曾經看過一些在開發小組中特別有權威的測試人員,他們雖然也只作黑盒測試,但他們發現的錯誤都是重量級的。
-有些測試人員認為我發現錯誤了,就成功了。在錯誤報告中,只是提及錯誤的情況和數據,但卻沒有提及錯誤發生的背景或是步驟。造成開發人員很難重現并修改錯誤。
-這個很顯而易見。但不幸的是,我參與過的很多項目測試小組都是在很晚才開始測試的。由于公司在成本上的考慮,導致了在開發后期或系統測試時才開始測試。出現了開發人員在項目晚期還在加班改bug的情況,甚至由于錯誤太多拖延了交付時間。在其中,還有可能發現整體設計和構架上的缺陷,導致明知會有很嚴重的后果都不敢改動代碼的事情。
計劃完成的測試工作量
人員問題
工作中的測試人員
測試自動化
測試覆蓋
原文轉自:http://www.anti-gravitydesign.com