軟體測試黑馬工程師--測試基礎

gentle.yu先生發表於2017-08-09

一、       生命週期模型

生命週期:軟體從生到死的整個過程

生命週期模型:將從生到死所經歷過的“各個環節”進行抽象

 

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 MeetingSprint評審會議

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、缺陷分析

如:按模組統計缺陷數量,調整後續工作測試重點

按產生原因統計,將缺陷原因反饋到開發,下個專案同樣問題不累犯(迴圈)

相關文章