軟件測試員的思考問題方式[4]

發表于:2010-04-07來源:作者:點擊數: 標簽:軟件測試思考
軟件測試員的思考問題方式[4] 軟件測試 ·創造性思考。產生思想并看到可能性的能力。測試員只能以能夠想像得到的方式進行測試,只能尋找猜想會存在的問題。 ·批判性思考。評估思想并進行推斷的能力。這包括在自己的思考中發現并消除錯誤的能力,將產品觀察

  軟件測試員的思考問題方式[4]    軟件測試 

 ·創造性思考。產生思想并看到可能性的能力。測試員只能以能夠想像得到的方式進行測試,只能尋找猜想會存在的問題。

  ·批判性思考。評估思想并進行推斷的能力。這包括在自己的思考中發現并消除錯誤的能力,將產品觀察與質量準則關聯起來的能力,以及針對特定信念或所建議的行動過程構建有說服力的測試用例的能力。

  ·實用性思考。把想法付諸實施的能力。這種能力包括諸如運用測試工具,并使測試手段和力量與項目范圍適應的技能。

  總之,像測試員那樣思考,會最終導致相信事物可能不像外表看起來那樣。不管事物是怎樣的,都可能有差別。我們發現,當測試過程以最具破壞性的方式失敗時,根本原因最有可能是視野狹窄。換句話說,這不是運行了一萬個測試,而本來應該運行一萬零一個的問題;問題是沒有想像出測試的總體大綱,沒有做即使有兩倍時間和資源也不會做的測試。

  經驗6,黑盒測試并不是基于無知的測試

  黑盒測試意味著產品內部知識在測試中不起重要作用。大多數測試員都是黑盒測試員。為了做好黑盒測試.就要了解用戶,了解他們的期望和需要,了解技術,了解軟件運行環境的配置,了解這個軟件要與之交互的其他軟件,了解軟件必須管理的數據,了解開發過程等等。黑盒測試的優勢在于測試員可能與程序員的思考不同,因此有可能預測出程序員所遺漏的風險。

  黑盒測試強調有關軟件的用戶和環境知識,這一點并不是所有人都喜歡的。我們甚至把黑盒測試描述為基于無知的測試,因為測試員自始至終都不了解軟件內部代碼。我們認為這反映出對測試團隊角色的根本誤解。我們不反對測試員了解產品的工作原理。測試員對產品了解得越多,了解產品的方式越多,越能夠更好地測試它。但是,如果測試員主要關注的是源代碼,以及能夠從源代碼導出的測試,則測試員所做的工作也許就是程序員已經做過的,并且測試員關于這些代碼的知識要少于程序員。

  經驗7,測試員不只是游客

  測試員對產品做的大量不是測試的事,有助于測試員對產品的了解。測試員可以瀏覽產品,看看產品由什么組成,怎么工作。這樣做有很高價值,但這不能算是測試。測試員和游客之間的差別在于,測試員把精力放在評估產品上,而不只是見證產品。雖然不必事先預測產品應該表現出的行為,但是試驗產品能力的活動還沒有成為測試,除非而且直到測試員運用某種如果問題存在就能標識的原理或過程時,這種活動才能成為測試。

  經驗8,所有測試都試圖回答某些問題

  所執行的所有測試,都是要回答有關現實的產品和應該得到的產品之間關系的某個問題。有時測試員完全沒有意識到自己在回答問題。如果測試員只是在尋找明顯的問題可能還好,但是在很多情況下,問題并不會閃爍著“請報告我”的提示自己跳出來。產品的有些錯誤行為用戶可能一眼就會看出,盡管測試員可能沒有注意到。在任何測試活動中,都要問自己什么樣的問題應該推動自己評估測試策略,否則就會更像是游客,而不是測試員。

  經驗25,所有測試都基于模型

  測試員在設計測試時,頭腦中可能會有一個想像的圖景,也可能有功能清單或某種圖表。測試員會有誰是用戶、用戶關心什么的一些概念。所有這些都是模型。不管模型是什么,測試都主要基于產品模型進行,而不是實際產品。有缺點的模型會產生有缺點的測試。學會一種對產品建模的新方法,就像是學會了觀察產品的一種新方法。

  要研究建模問題。測試員對建模藝術越精通,越能夠更好地測試。有關需求分析和軟件體系結構的教科書和課程會有所幫助。獲得各種建模技能的一種很好方法就是研究系統的思考。請參閱《通用系統思考引論:25周年版》(An Introduction to General Systems Thinking :Silver Anniversary Edition)(Weinberg 2001)。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97