軟體測試黑馬工程師--測試基礎
一、 生命週期模型
生命週期:軟體從生到死的整個過程
生命週期模型:將從生到死所經歷過的“各個環節”進行抽象
1. 瀑布模型
典型階段:
需求分析:針對使用者提出的需求進行整理分析,做出文件《需求規格說明書》(SRS)
作用:主要描述軟體應該實現的功能
功能需求:輸入、輸出(有效、無效)、處理過程、原型(簡易介面)、資料
設計階段:總體設計(概要設計)(縮寫-HLD)、詳細設計(縮寫-LLD)
編碼階段:開發寫程式碼
測試階段:特點:測試的介入時間晚——程式碼完成後
2. V模型
特點:本質–瀑布,但是對測試進行細分
測試的階段劃分:
單元測試:開發自行完成,測試物件:程式碼本身(邏輯–路徑)簡:程式碼邏輯
整合測試:測試單元之間的介面(是否吻合)——介面測試簡:介面
系統測試:融合所有的軟體、硬體、資料、網路環境等一起進行測試簡:系統
驗收測試:客戶進行的測試簡:客戶完成
內部驗收:公司內部人員
客戶驗收:客戶完成
阿爾法(α)測試:物件——軟體的α版本,對內(內部員工,潛在客戶)可控
貝塔(β)測試:物件——軟體的β版本,對外不可控
(SVN官方倉庫:http://svn.apache.org/repos/asf/subversion/tags/α、β版)
參考依據:
單元——詳設
整合——概設
系統——需求規格
驗收——客戶需求(原始需求)
需求:顯示需求(客戶提出)、隱式需求(分析、發掘)、規範性需求(行業規範)
《GBT 15532-2008 計算機軟體測試規範》對測試階段的劃分:
單元、整合、(配置項)確認測試、系統、驗收
3. 敏捷開發
(1) 敏捷宣言
·個體和互動高於流程和工具
·工作的軟體高於詳盡的文件
·客戶合作高於合同談判
·響應變化高於遵循計劃
(2) Scrum
http://www.scrumcn.com/agile/scrum-knowledge-library.html學習資料
Scrum: Scrum無對應中文翻譯 Agile:敏捷 Sprint:原意為衝刺,Scrum中的Sprint無對應中文翻譯,指一個迭代 Iteration:迭代 Sprint Review Meeting:Sprint評審會議 User Story: 使用者故事,指一條需求 Backlog:待辦列表
Lean:精益 Iterative:迭代式的 Agile Manifesto:敏捷宣言 Empirical:經驗性的 Empirical Process:經驗性過程 Transparency:透明性 Inspect and Adapt:檢視與調整 Sprint Goal:Sprint目標 Product Owner :產品負責人簡稱PO Scrum Master :簡稱SM, 一般不翻譯 Development Team : Scrum開發團隊 Scrum Team:指PO,SM和開發團隊 Scrum Roles:Scrum角色,指PO,SM和開發團隊 Emergent :湧現的 Product Backlog:產品待辦列表,指需求清單 Sprint Backlog:Sprint待辦列表,指Sprint任務清單 Sprint Burn-down Chart:Sprint燃盡圖,團隊用於做Sprint內的進展跟蹤 Release Burn-down Chart: 釋出燃盡圖,產品負責人做釋出進展跟蹤 Sprint Planning Meeting: Sprint計劃會議 Daily Scrum Meeting:每日站會 Sprint Retrospective Meeting: Sprint回顧會議 Product Backlog Refinement: 產品待辦列表梳理 Product Backlog Item: 產品待辦清單條目,簡稱PBI Story Point:衡量使用者故事的工作量大小的計量單位 Velocity: 團隊速度 Sprint Task: 實現一條需求需要做的一個技術任務 Definition of Done: DoD,完成的定義 Stakeholders:干係人 Artifact :工件 Estimation :估算 Collaboration:協作 Scaling Scrum:大規模Scrum |
二、 測試過程
4. 雙V模型
以系統測試舉例:
測試準備階段:前置進行,和開發並行同步
計劃階段:(經理)編寫《測試計劃》:主要包括工作任務安排、風險、成本等
參考《GBT 9386-2008 計算機軟體測試文件編制規範》
設計階段:編寫《測試方案》(包括:環境搭建、資料準備、用例設計等內容)
實現階段:編寫《測試用例》
執行階段:執行《測試用例》、提交《缺陷報告》、進行迴歸測試、編寫《測試報告》
迴歸測試:時間:新迭代(版本)後,要進行迴歸測試
目的:驗證已有功能的穩定性–重複率高—自動化完成
驗證缺陷修復是否成功
策略:完全迴歸:執行以前的全部測試用例——理想態
選擇(部分)迴歸:只回歸發現Bug的測試用例——實際
選擇部分(重要、優先順序高、使用頻率高)測試用例進行迴歸
冒煙測試:時間:新迭代(版本)後,先進行冒煙測試
目的:驗證新版本的基本功能是否實現
結果:實現:進入“轉測試”階段(華為)
未實現:打回版本給開發
三、 測試分類
按測試階段分 |
按測試方法分 |
按動靜分 |
按人工自動分 |
單元:內部邏輯 |
黑盒:程式碼不可見 |
動態測試:程式碼是否被執行–是 如:測試個輸入 |
人工測試 |
整合:介面 |
灰盒:之間(過時) |
||
系統:完整系統 |
白盒:程式碼可見 |
靜態測試:程式碼是否被執行–否 如:程式碼走讀、檢查文件 |
自動測試–依靠工具 |
驗收:客戶(αβ) |
|
四、 質量相關
測試的定義(目的):
1、定義沒有統一標準
2、早期:強調發現錯誤(找Bug)——測試部
3、現在:強調對質量的把控—— QA、質量保證部
質量:強調全面質量管理的理念(全公司的人都對質量負責)
定義:《ISO9000國際質量標準》
ISO 國際標準化組織
評價軟體質量:
找到被測軟體的固有質量特性,權重,打分,評價;
軟體固有特性參考:《ISO9126軟體質量模型》
六大特性,27個子特性——指導測試的方向
如何從測試角度保證軟體質量:
1、保證軟體必須滿足使用者需求(儘量站在客戶的立場);
2、保證軟體符合各類行業規範
3、缺陷分析
如:按模組統計缺陷數量,調整後續工作測試重點
按產生原因統計,將缺陷原因反饋到開發,下個專案同樣問題不累犯(迴圈)
相關文章
- 軟體測試基礎
- 軟體測試基礎 (一): 單元測試
- 軟體測試基礎 (一):單元測試
- 軟體測試學習教程—軟體測試基礎理論五
- 軟體測試學習教程—軟體測試基礎理論六
- 軟體測試學習教程—軟體測試基礎理論四
- 軟體測試學習教程—軟體測試基礎理論三
- 軟體測試基礎 第五篇 軟體測試文件管理
- 軟體測試基礎知識
- 軟體測試基礎理論
- 零基礎學軟體測試工程師難嗎?工程師
- 軟體測試基礎丨測試工程師之間要善於發現閃光點——測試理念篇工程師
- 軟體測試基礎大總結
- 剛入行的軟體測試工程師如何自學軟體測試?工程師
- 軟體測試技術基礎學習之測試過程
- 軟體效能測試基礎知識分享
- 【軟體測試】——介面測試
- 軟體測試基礎:測試新人如何提交一份高質量的測試用例?
- 軟體驗收測試 第三方軟體測試 軟體功能測試 軟體資訊保安測試
- 工作感想-軟體測試工程師工程師
- 零基礎如何學習軟體測試
- 軟體測試--資料庫基礎知識資料庫
- 零基礎學軟體測試難嗎
- 軟體測試理論(1)基礎理論
- 軟體測試-測試計劃
- 認識軟體測試步測試測試 (轉)
- 軟體滲透測試基礎知識分享,可做滲透測試的軟體檢測公司有哪些?
- 軟體測試——三、軟體測試的分類
- 軟體測試
- 軟體測試:自動化測試
- 軟體測試技術-黑盒測試
- 軟體測試工程師的職責工程師
- 軟體測試工程師如何提升自己工程師
- 軟體測試工程師的技能樹工程師
- 軟體測試工程師的尷尬工程師
- 如何去面試軟體測試工程師?面試工程師
- 軟體測試工程師必備技工程師
- 軟體測試學習資源—Git 基礎使用Git