淺談探索式測試



(一)探索式測試理論知識

什么是探索式測試?

  • 探索式測試(ET,Exploratory Testing)是一種軟件測試風格,而不是一種具體的軟件測試技術(什么是具體的軟件測試技術?如:等價類划分法、邊界值分析法、組合測試等)。(探索式測試是測試專屬的,不像敏捷模式,有敏捷開發和敏捷測試)
  • 探索式測試強調依據當前待測項目實際情況,選擇合適的測試技術,而不局限於特定的測試技術。
  • 這種方法強調測試者的主觀能動性,以及測試設計測試執行同時性
  • 目的是探索開發更多不同形態的測試方法,以便改善測試流程。
  • 傳統的測試流程——“先設計,再測試”,通常是先進行需求分析,再制定測試計划,接着梳理測試點,然后針對測試點設計好測試用例,最后執行測試。這種模式也帶來一些問題,比如在測試目標不明確的情況下,需求變換頻繁,輸出范圍過大等,經常可能出現測試遺漏,而且在一定程度上也限制了測試思維的發散。而探索式測試的出現,正好彌補了傳統測試中出現的這種問題。

探索式測試的核心思想:

  • 探索式測試強調獨立測試人員的自由責任。測試人員應該為個人和團隊負責,調動所有能量,發揮人的靈活性,在整體上持續優化個人和團隊的產出。
  • 探索式測試建議在整個項目過程中,將測試相關學習測試設計測試執行測試結果分析作為相互支持的活動,並行地執行。實際上,人腦難以並行地執行多項任務。探索式測試旨在將測試學習、測試設計、測試執行和測試結果分析作為一個循環快速地迭代,以不斷收集反饋、調整測試、優化價值。

什么樣的項目適合進行探索式測試?

  1. SRS(Software Requirements Specification)軟件需求說明書不完善時間緊迫沒有測試用例的情況下,以ET快速完成版本新功能的測試。

    作用:更快設計,更快執行,更低成本。

  2. 系統測試完成之后,還有剩余時間的情況下,以探索式測試作為補充,嘗試系統測試覆蓋不到的場景,從而減少漏測,提高測試覆蓋率。

進行探索式測試的前提條件:

  1. 團隊對產品功能比較熟悉。(比如:做過同類型的軟件)
  2. 已經可以運行的待測軟件。(開發已經開發完成)

探索式測試在項目中如何落地?

  1. 快速學習需求:基於對軟件歷史版本的熟悉,對新版本功能快速學習,提出問題並進行澄清。

  2. 作出測試計划:時間,范圍,團隊分工等。(如:表-論壇項目探索式測試計划所示簡單的表格)

  3. 利用腦圖形式,列出有哪些模塊,覆蓋哪些場景,每個場景的注意事項,然后進行評審。

    表-論壇項目探索式測試計划

模塊 時間 負責人
注冊登錄 6.23 - 6.24 測試小王
技術文章 6.23 - 6.25 測試小劉
問答貼 6.23 - 6.25 測試小李
  1. 探索:按照腦圖,執行探索的過程中,根據情況,逐步深挖(也是邊執行邊學習的過程)每條Path,更新並記錄(做出√或者×的標識)執行探索過程中走過的Path(帶着反思去執行測試)。

  2. 提交缺陷:把探索式測試過程中發現的缺陷提交到缺陷管理系統中,修復后回歸。

  3. 報告總結:以簡單的表格,對BUG的分布,數量,級別,進行統計和報告。(測試報告

(二)探索式測試分類

探索式測試可分為四類:

  • 自由式探索式測試

    ​ 自由式顧名思義就是沒有約束,純粹從使用的角度出發,拋開規則、模式,測試人員可以任意順序和方式對軟件進行使用測試。這種測試通常會被選做冒煙測試用例。

  • 基於場景的探索式測試

    ​ 這種測試跟傳統的基於場景的測試(場景法)比較像,不同的是,在這種測試中測試人員會擴大測試范圍

例如1,對某搜索框的測試:

  • 傳統的場景測試用例可能是:
    ① 輸入“襯衫”,預期結果是搜索到襯衫相關的信息;
    ② 輸入“風扇”,搜索到風扇相關的信息。
  • 而基於場景的探索式測試,測試場景可能是:
    ① 輸入“襯衫”,探索搜索結果;
    ② 粘貼“123@”,搜索結果;
    ③ 輸入一個亂碼,搜索結果;
    ④ 輸入“襯衫”,搜索結果后返回退到搜索首頁再次搜索。

例如2,對於一個批量下載功能:

  • 傳統的場景測試用例可能是:
    ① 點擊“選中全部文件”按鈕,批量下載;
    ② 手動選擇要下載的文件,批量下載。
    ③ 測試是否支持跨頁批量下載;
    ④ 批量下載的個數:1,2,499,500,501,999,1000,1001……
    ……

  • 而基於場景的探索式測試,測試場景可能是:
    ① 點擊“選中全部文件”,再手動取消勾選任意個數的文件,批量下載;
    ② 點擊“全選”按鈕,選中當前頁面的所有文件,再切換到另一頁手動勾選任意個數文件,批量下載;
    ③ 點擊“選中全部文件”,再取消,再手動勾選任意個數文件,批量下載;
    ……

  • 基於策略的探索式測試

    ​ 這是一種比較依靠經驗的測試方法,簡單來說就是測試老手,融合自己的經驗、技能、感知等條件,結合自由式探索式測試,用自己積累下來的知識來指導測試,是一種經驗結合隨機性的測試。(類似於編寫測試用例時用到的錯誤推斷法,基於經驗和直覺推測程序中所有可能存在的各種錯誤,從而有針對性的設計測試用例。)

  • 基於反饋的探索式測試

    ​ 反饋指的是當測試人員對被測程序做出指令后得到的響應結果。

    ​ 基於這個結果,測試人員可以調整自己的輸入,以期望得到不同的結果

    ​ 例如:在基於場景的探索式測試的描述中,輸入襯衫和風扇會得到不同的搜索結果,而襯衫的搜索結果就是對襯衫這個輸入的反饋,風扇的結果就是對風扇這個輸入的反饋。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM