LAYO最近下載了幾篇PPT;又看見了這樣一段描述。
G.J.Myers給出了關于測試的一些規則,被軟件工程領域認可:
(1)測試是為了發現程序中的錯誤而執行程序的過程;
(2)好的測試方案極有可能發現迄今為止尚未發現的錯誤;
(3)成功的測試是發現了至今為止尚未發現的錯誤。
上面這段話是測試行業經常能看到的一段關于測試的工程的一種解釋;可能有些太理性或者說是書面化的解釋,作為一個TESTER我很表示同意;但是一直沒有認真理解這段話。
測試是為了發現程序中的錯誤沒錯;但是我認為有些狹義的想法;綜合整體的軟件質量去評估去看;不單單在過程中去發現程序中的錯誤;而包括在設計之初的錯 誤邏輯和不合理的流程以及操作方式都是測試的過程中要關注的因子;所以就不僅僅是為了發現程序的錯誤;一個認真思考的TESTER是不拘在程序之內的范 疇。所以我認為測試是為了發現整個項目中任何不合理的錯誤;包括文檔的錯誤、業務流程中的漏洞、程序中的BUG、不正規的操作方式、不合理的數據流程。當 然這算是一種理想測試過程。
好的測試方案極有可能返現迄今為止尚未發現的錯誤;我總是認為這句話帶有鉆牛角尖的意味;好的的是方案其實 是一種無窮盡的操作;記得有一個夸張的小道理:一百萬只猴子,給他們每人一個鍵盤,給他們足夠的時間,讓他們打出莎士比亞全集。就是在接近無窮的測試下會 讓程序的問題完全暴漏無疑;一個好的測試方案應該是合適項目的測試方案;到什么山唱什么歌;看菜吃飯、量體裁衣;根據項目去指定測試方案,這種方案下去測 試該項目才能真正說明項目問題。
成功的測試是發現了至今為止尚未發現的錯誤;我認為將測試工作進行了一次反革命性的引導;行業需要創新思維;需要吹毛求疵;只能說在現有的需求下去發現不應該出現的問題。測試用例是在有限的資源下設計出涵蓋面最廣而最有效的用例;不是說為了測試而測試。
測試的根源在需求;
一切測試脫離需求都是不現實的測試;一切測試不能滿足需求就是不成功的測試。