改革開發四十週年,技術更新也是日新月異,發展迅速。軟體測試行業也如此。現在人工智慧測試挺火的,但是談到軟體測試,人腦還是最好的測試工具。當我們測試軟體時,我們處理資訊,解決問題,做出決策並創造新的想法。這些並不是AI測試能輕易替代的。
作為測試人員,我們必須瞭解不同的思維型別,以便我們可以將它們與不同的情境聯絡起來。例如,當我們檢視設計圖時,我們需要進行分析。當我們想到場景時,我們需要以抽象的方式思考。
不同的測試活動需要不同的思考過程 因此,能夠“開啟”每項活動的不同思維模式非常重要。
- 創造性思維
- 分析思維
- 批判性思考
- 具體思考
- 抽象思維
- 發散思維
- 趨同思維
- 順序思考
- 整體思維
軟體測試中的思維型別
讓我們來看看不同的思維型別以及如何在軟體測試和各種測試活動的上下文中應用它們。
創造性或側向思維
創造性思維意味著以新的方式看待事物。這是“跳出框框思考”的定義。
在創造性思維中,我們脫離既定的理論,規則和程式,以新的和富有想象力的方式做事。
例如,在測試的背景下,這可能是我們應用新的測試技術時,例如成對測試技術,以減少排列的數量,但增加覆蓋範圍。
分析思維
分析思維指的是將整體分成基本部分以檢查部分及其關係的能力。它涉及以合理的,逐步的方式思考,將更大的資訊系統分解為其部分。
例如,當我們檢視架構圖並嘗試找出通過系統和單個元件的路徑時。
一個很好的例子是當我們分析使用者提交表單時發生的情況,並將請求傳送到與資料庫通訊的API。
批判性思考
批判性思維是通過仔細分析某些東西來推理的能力,以確定其有效性或準確性。它是一個積極的學習者而不是被動的資訊接收者。
批判性思維可能是測試環境中最重要的思維方式。作為測試者,我們應該總是質疑想法和假設,而不是接受它們的表面價值。
例如,在檢視使用者故事時,我們可能會詢問有關接受標準的問題,而不是接受它們給予我們。
具體思考
具體思考是指理解和運用事實知識的能力。它與抽象思維相反。
具體想要遵循指示並有詳細計劃的人。他們討厭任何模糊或含糊的東西。因此,具體的思想家更喜歡使用列表和電子表格。
在測試環境中,這是測試人員在開始測試之前要求所有指令都存在的時候。例如,在使用者故事中定義所有驗收標準之前,某些測試人員不會開始測試。
抽象思維
與具體思維相反,抽象思維指的是思考實際上並不存在的事物的能力。
軟體測試人員以抽象的方式思考思想和資訊的更廣泛意義,而不是具體細節。
例如,在測試和故事修飾會話的上下文中,具有抽象思考能力的測試人員可以提出有趣的測試場景。測試人員不僅要閱讀驗收標準,還會檢視使用者故事,並嘗試弄清楚這可能與系統的其他部分有關或影響。
發散思維
發散思維指的是通過探索許多可能的解決方案來創造創意的能力,以找到有效的解決方案。它涉及從各種來源彙集事實和資料,然後應用邏輯和知識來做出決策。
在進行探索性測試時,我們應用啟發式方法,並根據我們以前的經驗做出判斷。
趨同思維
融合思維是能夠以一種有組織的,邏輯的方式將主題的許多不同部分或視角放在一起以找到單個答案。
例如,當我們試圖找到缺陷的根本原因時,我們收集相關資訊並提取必要的資料。
順序思考
順序(線性)思維是指以有序規定的方式處理資訊的能力。它涉及逐步進展,其中必須在採取另一步驟之前獲得對步驟的響應。
在軟體測試的上下文中,這與我們遵循具有預定義步驟和預期結果的指令碼的時間相關。
整體思維
整體(非線性)思維是能夠看到大局並識別元件如何形成更大系統的能力。它涉及在多個方向擴充套件您的思維過程,而不是僅僅向一個方向擴充套件。
在測試環境中,這是我們執行整合或系統測試的時候。
綜上所述:
軟體測試需要我們深入思考。這是一個不斷提問和分析我們收到的資訊的過程。不同的測試活動需要不同的思考過程 瞭解不同的思維型別將有助於提出正確的問題。
在面試測試人員時,我們應該提出基於場景的問題,這些問題根據上述思維型別來運用測試者的思維能力。