測試思維

測試思維

如果要特意區分用戶思維和架構思維的話,在測試過程中,就要額外關注:以嚴謹的測試設計方法覆蓋需求功能點及代碼分支,具有場景思維和對異常情況的考察。對此我們可以細化總結爲以下幾點:

1、正向思維

正向思維是指軟件可以正常運行狀態下表現出來的特徵

如:某個功能點正確實現後是什麼樣?網站可以提供訪問時如何展現?
說明:所以測試按照正常思維方式,檢查驗證系統功能是否實現,通常是以需求爲準則來判斷。

2、逆向思維

逆向思維是相對於正常思維,通常是檢查正常思維相違背的地方

比如功能點未實現後如何?網站不能訪問時頁面是如何展現?

比如我們經常需要對接口做測試,通過輸入驗證輸出,如果我們使用各種輸入都無法得到接口設計中某一種輸出的情況時,就需要從輸出來逆向推導輸入,另外比如驗證一些異常情況,接口需要返回一些error code,使用正常手段是肯定不能得到的,就需要爲了出現該error code藉助環境及工具來模擬。另外,我們在分析很多問題時,同樣也離不開逆向思維。

3、組合思維

組合思維是將多個對象選擇組合在一起檢查,判斷是否正常

如:關機前,啓動另一個應用程序,來檢查系統是如何處理?

比如軟件在多用戶,多進程,多次執行等情況下,都可能出現意想不到的缺陷,甚至對於複雜的業務場景,在對同一份數據進行操作時,不同子業務並行執行情況下,都有可能造成數據上的錯誤,特別是對於與核心數據有關的業務上(如money),是否添加行級鎖都是需要測試到的,同時,不同業務不同的操作順序,組合方式下,不同的維度等都有可能出現bug。

4、全局思維

全局思維則是從全方位360角度去分析軟件系統

如:系統上線後可能會碰到的諸如多種風險情況,針對每種情況是如何測試?

即能把握整個項目的多個方面,多個團隊的任務及分工,整體的數據流及業務流,從全局思考是否滿足業務需求。
這其實並不只是說對於需求的評審,更多的是關注上下游相關聯的系統或接口等,凡是涉及跨團隊開展的工作,一定就需要更多的溝通協調,很明顯的就體現在對業務理解不正確,接口定義有誤,具有全局思維的人更能在大型項目中游刃有餘,體現其leader的潛質,畢竟做leader就需要關注本部門之外其他部門都在幹些什麼,以備能做出對大局有利的決定。

5、局部思維方式

局部思維則是相對於全局思維,通常是檢查某個系統在局部情況
如:手機信號測試時,可以隔離多種環境進行思考分析

6、極端思維方式(兩極思維)

極端思維更準確的應從兩端極限分析思考

比如數據上的無窮大與無窮小,在數據存儲上,數據庫層面字段設置爲int與bigint所支持的數量級是不一樣的,基於業務數據,如果存在超過int的長度的數據,那麼在存儲上以及代碼中,都需要做相應支持,否則就只會顯示到該類型的最大值了,而且在業務層面也經常有兩個極端的情況,比如商家入駐開店,很多時候都只是考慮到開店該怎麼做,卻忽略關店的情況。其實在邊界值用例設計方法中也用到了兩極思維模式。

7、簡單思維

簡單思維表現在很多方面,比如經常非常嚴重的bug都可能是犯了一個很簡單的錯誤引起,在處理測試環境時經常出現無法正常訪問,也許可能只是磁盤空間滿了而已或者一個簡單的配置不正確引起,在日常工作中這樣的例子非常多,我們也要善於一層一層剝開問題的現象,找到其本質,就好比剝洋蔥一樣,不要一開始就把問題想的過於複雜,往往事情並沒有那麼複雜。

8、比較思維

比較思維則更注重的是選擇某個標準物做參考,然後制定一些對比參數選項來評判

如:google/baidu搜索相同關鍵字時,返回的內容相關性,響應速度等

比較思維其實貫穿在我們整個測試生涯中,測試本來也就是一種驗證,根據實際結果跟預期結果對比。
而且我們在平時工作排查問題時,也有非常多需要去對比的,比如配置文件的差異,環境的差異引起的不正常結果,此外,我們也通過svn中代碼diff的差異來明確改動的範圍制定迴歸策略。
還比如在做一些前後兩個版本吐出的數據差異時,頁面顯示差異時,都可以使用diff的思想來開展自動化的工作,大大提高效率。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章