規範的軟件測試流程

測試環境搭建原則

搭建前

  • 肯定測試目的數據庫

    • 功能測試:不須要大量數據,須要覆蓋率高,測試數據要求儘可能真實
    • 性能測試:可能須要大量存量數據,或者與實際硬件環境儘量類似的硬件配置
  • 測試的軟件環境儘量模擬真實環境服務器

    • 選用合適的操做系統與軟件平臺
    • 瞭解符合測試軟件運行的最低要求及用戶使用的硬件配置
    • 鏈接用戶經常使用軟件,避免發生衝突
    • 產品化的測試須要考慮兼容性的方案
  • 營造獨立的測試環境架構

    • 不一樣項目,不一樣公司會對測試環境的獨立性有不一樣的要求
    • 測試過程當中儘可能保證測試環境獨立,不會受到其餘測試人員以及項目研發人員的影響
  • 構建可複用的測試環境微服務

    • 經過備份或者數據隔離的方式
    • 重複運用一套測試環境進行多版本多時間段的測試

搭建測試環境過程分析

  • 環境搭建模式工具

    • 線下搭建:公司本地內性能

      • 獨立測試服務器或者虛擬機
      • 測試環境配置(以 Java 爲例)測試

        • 配置Java環境(下載 jdk 並配置環境變量)
        • 下載並安裝中間件(Tomcat, jetty 及其餘)
        • 安裝數據庫並導入初始化腳本
      • 測試項目導入
    • Docker 模式:構建屬於本身 image;使用時一鍵 deploy 便可
    • 依賴第三方平臺

環境建設思路

考慮點:用途,使用成本,維護成本spa

基礎架構操作系統

  • 研發環境:用於研發自測,集成測試
  • 測試環境:用於平常單系統或兩兩微服務之間測試,可同時集成自動化測試迴歸
  • 聯測環境:完備環境,用於大型聯測
  • 外聯環境:穩定版本環境,用於外部商戶聯調
  • 灰度/沙箱環境:用於生產數據測試,仿真測試

測試過程

最終輸出:測試計劃,測試用例,缺陷跟蹤記錄

過程劃分:設計

在邏輯上,測試活動是按順序進行的

在實際測試過程當中,是能夠重疊或者同時進行的

測試策劃

  1. 進行測試需求的分析
  2. 肯定須要測試的內容或質量特徵
  3. 明確測試的充分性要求
  4. 提出測試的基本方法

測試策劃的過程

  • 肯定測試的資源和技術需求
  • 進行風險分析和評估
  • 根據上述分析結果制定測試計劃
  • 根據測試計劃開展相應的測試控制活動

需求測試

好處

  • 測試工程師參與需求分析,對需求瞭解深入,減小與開發人員的交互
  • 早期肯定測試用例的編寫思路,爲測試打好基礎
  • 能夠獲取易測的測試數據,爲測試用例設計提供幫助
  • 能夠發現需求不合理的地方,下降測試成本

做用

  • 明確測試對象以及測試工做的範圍和做用,並做爲測試覆蓋的基礎
  • 被肯定的測試需求項必須是可覈實的,測試需求必須有一個可觀察、可評測的結果
  • 沒法覈實的需求,就不是測試需求
  • 包括與客戶的交流,用以澄清某些混淆
  • 明確哪些需求更重要
  • 確保風險承擔者儘早地對項目達成共識
  • 對未來產品有一個清晰的認識
  • 能夠做爲制定測試計劃的基本依據
  • 爲設計測試用例提供指導,能有效設計用例

需求驗證

審查需求文檔

  • 對需求文檔及相關模型進行仔細檢查
  • 在需求開發期間作非正式的評審

以需求依據編寫測試用例

  • 編寫簡單用戶手冊
  • 起草簡單易懂的用戶手冊,用以描述出全部用戶可見的功能,並用它做爲需求規格說明的參考,並輔助需求分析

肯定合格標準

  • 讓用戶描述什麼樣的產品纔算知足他們的要求和適合他們使用
  • 將確認合格的測試創建在使用場景描述或使用實例的基礎之上

測試策略

定義:是描述測試項目和測試任務之間的關係,用來講明要測什麼,如何測,如何協調測試資源與測試時間等

測試策略是否高效,會對測試項目的進度產生很大的影響

側重需求分析,評估風險,定義測試範圍

  • 肯定測試方法,指定測試啓動、中止、完成標準和條件

測試策略的要素(屬於測試計劃的一部分):

  1. 測試安排,發佈計劃:里程碑;明確的結束時間;規劃優先級,保證核心功能
  2. 測試範圍:按優先級分類
  3. 測試資源:分爲人力和工具兩部分
  4. 測試環境:包括推薦環境解決方案,操做系統要求,軟硬件要求
  5. 測試方法:功能測試
  6. 用例設計方法
  7. 文檔管理:包括安裝,升級文檔,用戶指南;須要完整測試才能發佈文檔
  8. 風險管理:來自技術,資源或者其餘方面
  9. 上線跟蹤驗證

測試計劃

制定項目測試過程當中的測試重點

  • 各階段的任務以及時間進度安排
  • 提出各項任務的風險評估與分析,能夠包括測試策略

測試計劃 = 測試策略 + 測試任務分配 + 時間進度安排

測試方案

側重測試的方法,測試環境的規劃

  • 包括測試工具的設計和選擇,測試用例的設計方法,測試代碼的設計方案

測試方案 = 測試計劃 + 用例設計方案 + 工具選擇 + 自動化/性能測試具體方案

測試方案評審

忽略測試方案評審會致使的問題

  • 僅從文檔、溝通獲取信息,會形成信息不對稱,認識片面,理解錯誤或不深刻等問題
  • 缺乏同行交叉評審和開發評審機制,沒法充分發揮集體智慧,我的的思惟難以突破,可能會出現測試遺漏的狀況

目的

  • 呈現測試的工做
  • 與開發達成共識
  • 不一樣的思惟方式碰撞出火花,借鑑別人的思考方式
  • 培養團隊協做的能力
  • 發揮團隊協做,最大限度發揮我的的經驗,特長,實現技能互補

評審重點

  • 採用的測試方法
  • 等價類劃分的依據
  • 測試數據的選取和準備方法
  • 流程測試的路徑選擇
  • 數據比對選取的對象和數據檢查點
  • 是否須要模擬數據及模擬數據的方法
  • 基於風險的測試取捨
相關文章
相關標籤/搜索