筆記 1 軟體測試的心理學

2021-09-24 21:43:31 字數 1273 閱讀 9790

錯誤的思想

正確的思想

測試用例時,應當想到要為程式增加一些價值。不要只是為了證明程式能夠正確執行而去測試程式;相反,應該一開始就假設程式中隱藏著錯誤(這種假設對於幾乎所有的程式都成立),然後測試程式,發現盡可能多的錯誤。

合適的定義

「測試是為發現錯誤而執行程式的過程」。

心理原因:

人類行為總是傾向於具有高度目標性,確立乙個正確的目標有著重要的心理學影響。如果我們的目的是證明程式中不存在錯誤,那就會在潛意識中傾向於實現這個目標;也就是說,我們會傾向於選擇盡可能較少導致程式失效的測試資料。另一方面,如果我們的目標在於證明程式中存在錯誤,我們設計的測試資料就有可能更多地發現問題,與前一種方法相比,後一種方法會更多地增加程式的價值。

什麼是成功的測試

大多數的專案經理將沒發現錯誤的測試用例稱為一次「成功的」測試,而將發現了某個新錯誤的測試稱為「不成功的測試」。這又是一次本末倒置。

我們認為,如果在測試某段程式時發現了錯誤,而且這些錯誤是可以修復的,就將這次合理設計並得到有效執行的測試稱做是「成功的」。如果本次測試可以最終確定再無其他可查出的錯誤,同樣也被稱做是「成功的」。

所謂「不成功的」測試,僅指未能適當地對程式進行檢查,在大多數情況下,未能找出錯誤的測試被認為是「不成功的」,這是因為認為軟體中不包含錯誤的觀點基本上是不切實際的。

能發現新錯誤的測試用例不太可能被認為是「不成功的」,也就是說,能發現錯誤就證明它是值得設計的。

軟體測試的原則

測試用例中乙個必需部分是對預期輸出或結果的定義。

程式設計師應當避免測試自己編寫的程式。

編寫軟體的組織不應當測試自己編寫的程式。

應當徹底檢查每個測試的執行結果。

測試用例的編寫不僅應當根據有效和預料到的輸入情況,而且也應當根據無效和未預料到的輸入情況。

檢查程式是否「未做其應該做的」僅是測試的一半,測試的另一半是檢查程式是否「做了其不應該做的」。

應避免測試用例用後即棄,除非軟體本身就是乙個一次性的軟體。

計畫測試工作時不應默許假定不會發現錯誤。

程式某部分存在更多錯誤的可能性,與該部分已發現錯誤的數量成正比。

軟體測試是一項極富創造性,極具智力挑戰性的工作。

附上整理的圖

ps:整理自《軟體測試的藝術》

認知心理學軟體測試

認知心理學軟體測試 認知心理學是測試基礎 人的感覺和記憶可靠性。信念從 來。信念如何影響人的行為。做出決策所使用的偏見和捷徑。如何了解並分享所知道的資訊。如何考慮複雜情況。在壓力下如何思考。如何識別模式。如何把想法和事物分類。如何注意事物之間的差別。記憶事件中的失真。如何重新構建部分記憶的事件。例如...

銷售心理學1

銷售心理學 顧客要的不是便宜,是感到佔了便宜。不與顧客爭論 要與顧客討論價值。沒有不對的客戶,只有不好的服務。賣什麼不重要,重要的是怎麼賣。沒有最好的產品,只有最合適的產品。沒有賣不出的貨,只有賣不出貨的人。成功不是運氣,而是因為有方法 銷售心理學 客戶問 你們和a企業比較有什麼優勢?如果你滔滔不絕...

《怪誕心理學》筆記

一 時間心理學 1 如何用冷血殺手的生命歷程來檢測占星術是否真的靈驗?2 你是否的確生來就是乙個幸運兒?3 在說起生日的時候那些富人和名人為什麼會刻意撒謊?4 有些人又是如何一心想著逃稅 避稅的?二 撒謊與欺騙心理學 1 好萊塢明星萊斯利 尼爾森的謊言實驗。2 剛砍下的頭與人類微笑之間的關聯。3 里...