軟件測試員的思考問題方式[5] 軟件測試
經驗9,直覺是不錯的開始,但又是糟糕的結束
測試員很想根據自己的直覺使用具體的測試數據,或判斷具體的輸出,即測試員自己知道的“本能感覺”,即使說不出來使用這些知識的合理性的理由。我們認為這是有用的感覺,但是只是在開始時更有用,而不是在其他時候。
除了直覺有很強的偏見這個事實之外,真正的問題還在于測試員試圖讓其他人(例如程序員和經理)認真地對待自己的錯誤報告和質量評估。除非這種發現是基于大家都有的直覺,否則測試員的工作建議很可能不被采用。
因此.我們建議把直覺用作指南,但不能用作合理性證明。當有“這是問題,因為它顯然是問題”的想法時,可考慮換一種方式;“這是問題,因為我觀察到產品行為與需求x、Y和z矛盾,而我的客戶很看重這些需求?!?/P>
經驗10,當測試復雜產品時:陷入與退出
有時復雜性可能是無法抗拒的。測試員的意志可能會被擊垮。因此,當要測試復雜和使人畏懼的功能集合時,可間歇進行。人的頭腦具有處理復雜問題的驚人能力,但是不要指望馬上就能理解復雜產品??稍囍妊芯繌碗s產品30分鐘或一個小時,然后停下來干點別的。這就是陷入與退出(P1unge in and quit)法。不要擔心在這段不長的時間內效率不高,如果覺得問題太多,則盡快退出。
這種方法的優點是,除了選擇產品的一部分并研究外,絕對不需要計劃。經過幾個輪次的陷入與退出,就會開始明白產品的模式和輪廓,很快就會在頭腦中更系統、更具體地測試和研究策略。這種方法很神奇。最終,會掌握足夠的知識以設計全面的測試計劃,如果認為這些計劃能夠完成自己的任務。
經驗11,運用試探法快速產生測試思路
試探法(hcuristic)是一種經驗規則,是一種基于經驗做出猜測的方法。這個詞源自希臘語,表示“開始發現”。試探法并不能保證得到正確的答案或最佳答案,但是很有用。最早運用試探法的著作是《如何解決它》(How to Solve it)(Polya l957)。
出于可能的測試用例數量是無限的,因此肯定要選出在所面臨的時間和預算約束條件下有效的少量測試用例。有經驗的測試員會收集并共享能夠改進其猜測質量的測試試探方法。一組好的試探方法有助于很快地生成測試。以下是采用試探法測試的一些例子:
·測試邊界。邊界更有可能暴露規格說明的模糊問題。
·測試所有錯誤消息。錯誤處理代碼與主流功能代碼相比,一般比較弱。
·測試與程序員的配置不同的配置。程序員已經偏信自己的配置沒有問題。
·運行比較難設置的測試。在其他條件相同的情況下,易于設置的測試更有可能已經被執行過。
·避免冗余測試。如果某個測試實際上是重復其他測試,就不會產生新價值。
原文轉自:http://www.anti-gravitydesign.com