软件测试的基本概念和方法.ppt

上传人:小飞机 文档编号:6610996 上传时间:2023-11-17 格式:PPT 页数:27 大小:235.66KB
返回 下载 相关 举报
软件测试的基本概念和方法.ppt_第1页
第1页 / 共27页
软件测试的基本概念和方法.ppt_第2页
第2页 / 共27页
软件测试的基本概念和方法.ppt_第3页
第3页 / 共27页
软件测试的基本概念和方法.ppt_第4页
第4页 / 共27页
软件测试的基本概念和方法.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《软件测试的基本概念和方法.ppt》由会员分享,可在线阅读,更多相关《软件测试的基本概念和方法.ppt(27页珍藏版)》请在三一办公上搜索。

1、软件测试方法和技术 軟件測試的基本概念和方法,Yongkang Zhou,軟件測試的基本概念和方法,1.軟件質量就是客戶的滿意度2.軟件缺陷(bug)是什麼3.軟件測試的基本方法4.軟件測試的分類和階段5.軟件測試的工作范疇,軟件質量就是客戶的滿意度,1.1 質量的概念1.2 軟件質量的內涵,1.1 質量的概念,1986 年ISO8492中給出的質量定義:質量是產品或服務所滿足明示或暗示需求能力的特性和特征的集合IEEE在”Standard Glossary of Software Engineering Terminology”中給出的質量定義的是:質量是系統,部件或過程滿足明確需求。在Ra

2、tional Unified Process(Rotional 標準過程理論)中,質量被定義為:滿足或超出認定的一組需求,並使用經過認可的評測方法和標準來評估,還使用的流程來生產因此,質量不是簡單的滿足用戶的需求,還得包含証明質量達標所使用的評測方法和標準,以及如何實施可管理,可重復使用的流程,以確保由此流程生產的產品已達到預期的質量水平.,1.2 軟件質量的內涵,軟件質量由三部分組成:軟件產品的質量,即滿足使用要求的程度。軟件開發過程的質量,即能否滿足開發所帶來的成本,時間和風險等要求應用領域或業務上質量軟件質量具有3A特性:accountability(可說明性)用戶可以基於產品或服務的描

3、述和定義加以使用availability(有效性)產品或服務對於客戶的需求是否能保持有效,如具有99.99%有效性,可以說達到質量要求accessibility(易用性)對於用戶,產品或服務非常容易使用並且一定是非常有用的功能(例如:確認測試和用戶可用性測試),軟件缺陷(bug)是什麼,2.1 軟件缺陷的定義和種類2.2 軟件缺陷的產生2.3 軟件缺陷的構成2.4 修復軟件缺陷的代價,軟件缺陷的定義和種類,軟件缺陷(bug),即計算機系統或程序中存在的任何一種破壞正常運行能力的問題,錯誤,或者隱藏的功能缺陷,瑕疵。缺陷會導致軟件產品在某種程度上不能滿足用戶的需要.軟件缺陷的主要類型有:功能,特

4、性沒有實現或部分實現設計不合理,存在缺陷實際結果和預期結果不一致運行出錯,包括運行中斷,系統崩潰,界面混亂數據結果不正確,精度不夠用戶不能接受的其它問題,如存取時間過長,界面不美觀,軟件缺陷的產生,技術問題團體工作軟件本身,軟件缺陷的構成,軟件缺陷構成示意圖,软件缺陷随着时间引起的成本曲线,软件缺陷随着时间引起的成本曲线,軟件測試的基本方法,3.1 軟件測試的原則3.2 白盒測試和黑盒測試3.3 靜態和動態的方法3.4 驗証和確認(Verification&Validation)3.5 ALAC 測試3.6 自動化測試和隨機測試3.7 軟件測試的誤區,軟件測試的基本方法概述,軟件測試方法可根據

5、測試對象在測試過程中是否發生狀態變化分為兩類:動態測試和靜態測試方法;雙可根據對測試對象了解的程度,或才按哲學的觀點,分為黑盒測試和白盒測試兩類,軟件測試的原則,軟件測試的基本原則是站在用戶的角度,對產品進行全面測試,盡早,盡可能多地發現缺陷,並負責跟蹤和分析產品中的問題,對不足之處提出質疑和改進意見。零缺陷是一種理想,足夠好是測試的原則。,黑盒測試,1.black-box testing也稱功能測試或數據驅動測試,如下圖,黑盒測試主要用於發現以下情況:1.是否有不正確或遺漏了的功能;2.在接口上,能否正確地接受輸入,能否產生正確的輸出信息;3.仿問外部信息是否有錯4.性能上是否滿足要求5.界

6、面是否錯誤,是否不美觀6.初始化和終止錯誤,黑盒測試方法主要用於軟件確認測試。,白盒測試,White-box testing,也稱結構測試或邏輯驅動測試。主要用於軟件驗証。白盒測試的主要方法有邏輯覆蓋,基本路徑測試等.白盒法是“基於覆蓋的測試”,就朝著提高覆蓋率的方向努力,盡可能多地的進行測試,找出那些被忽視的錯誤。一般來說,白盒測試的原則是:1.保証每個模塊中所有獨立路徑至少被使用一次。2.對所有邏輯值均測試為真值(true)和假值(false).3.在上下邊界及可操作范圍內運行所有循環.4.檢查內部數據結構以確保其有效性,靜態和動態的方法,根據程序是否運行,測試可以分為靜態測試和動態測試.

7、靜態測試就是靜態分析,對模塊的源代碼進行研讀,查找錯誤或收集一些度量數據,並不需要對代碼進行編譯和仿真運行。靜態測試採用人工檢測和計算機輔助靜態分析手段進行檢測,隻進行特性分析。動態測試是通過觀察代碼運行時的動作,來提供跟蹤,時間分析,以及測試覆蓋度方面的消息,動態測試通過真正運行程序發現錯誤。通過有效的測試用命,對應的輸入/輸出關系來分析被測程序的運行情況。在單元測試主要用白盒測試;在系統測試時主要用黑盒測試,或者以黑盒測試為主要測試方法,白盒測試為輔助方法等.,驗証和確認(Verification&Validation),驗証是檢驗開發出來的軟件產品和設計規格說明書的一致性,即是否滿足軟件

8、廠商的生產要求。確認就是檢驗產品的有效性,即是否滿足用戶的真正需求.BOEHM對V&V最著名又簡單的解釋.Verification:Are we building the product right?Validation:Are we building the right product?,ALAC 測試,ALAC,是act-like-a-customer的簡寫。,ALAC測試方法是一種基於客戶使用產品的知識開發出來的測試方法。它的出發點是著名的Pareto 80/20 規律.,自動化測試和隨機測試,在自動化測試過程中,一種是按測試用例一步一步來執行測試,另外一種是完全模擬客戶進行隨意的操作。

9、後一種測試稱為隨機測試(random test),或稱為monkey test.,軟件測試的誤區,誤區一:如果發布出去的軟件有質量問題,那就是軟件測試人員的錯誤區二:軟件測試技術要求不高,至少比編程容易多了誤區三:有時間就多測試一些,來不及就少測試一點誤區四:軟件測試是測試人員的事,與開發人員無關誤區五:根據軟件開發瀑布模型,軟件測試是開發後期的一個階段,軟件測試的分類和階段,4.1 測試的分類4.2 測試的階段,測試的分類,軟件測試可以分別按測試范圍,測試目的,測試對象,測試過程分類.,按測試范圍分類 unit testing;component testing;integration te

10、sting;system testing;acceptance testing;installation testing;,2.按測試目的分類 correctness testing;performance testing;reliability testing;security testing;,3.按測試對象分類 unit testing;component testing;module testing;program testing;system testing;documentation testing;,4.按測試過程分類 requirements phase testing;des

11、ign phase testing;program phase testing;evaluating test results;installation phase testing;acceptance testing;testing changes:maintenance;,5.其它測試技術和方法 regression testing;stress testing;recovery testing;security testing;compatibility testing;,測試的階段,軟件測試階段示意圖這裡闡述的測試過程是一個完整的過程,對於不同的軟件系統或產品可以進行適當的裁減或合並,如功能測試和確認測試可以合並為確認測試,驗收測試和安裝測試可以合並為驗收測試.,軟件測試的工作范疇,5.1 測試計劃的制定5.2 設計測試用例5.3 執行測試5.4 測試結果分析和質量報告,软件开发流程改进模型PDCA示意图,小結,軟件測試工作范疇分為兩個層次:軟件測試工作的組織與管理,測試工作的實施。其具體內容包括六個方面:測試組織和管理;測試計劃;設計測試用例;測試實施;測試結果分析;測試評審與報告;總之,軟件測試技術不僅是一項技術工作,而且是一項軟件產品質量的組織和管理工作.,Q&A,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号