python 白盒測試_白盒測試教程 - 顏麗的個人空間 - OSCHINA - 中文開源技術交流社區...

總共貼了39節,后續還有很長,共122節,文章名為‘白盒測試教程’

1、白盒測試概念

2、測試覆蓋標準

3、邏輯驅動測試

4、基本路徑測試

白盒測試概念

1、白盒測試也稱結構測試或邏輯驅動測試,是一種測試用例設計方法,它從程序的控制結構導出測試用例。(測試用例由測試輸入數據以及與之對應的輸出結果組成。? 測試用例設計的好壞直接決定了測試的效果和結果。所以說在軟件測試活動中最關鍵的步驟就是設計有效的測試用例。)

2、白盒測試使用被測單元內部如何工作的信息,允許測試人員對程序內部邏輯結構及有關信息來設計和選擇測試用例,對程序的邏輯路徑進行測試。基于一個應用代碼的內部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。

白盒測試的主要目的:

1、保證一個模塊中的所有獨立路徑至少被執行一次;

2、對所有的邏輯值均需要測試真、假兩個分支;

3、在上下邊界及可操作范圍內運行所有循環;

4、檢查內部數據結構以確保其有效性。

測試覆蓋標準

1、白盒法特點:以程序的內部邏輯為基礎設計測試用例,所以又稱為邏輯覆蓋法。應用白盒法時,手頭必須有程序的規格說明以及程序清單。

白盒法考慮的是測試用例對程序內部邏輯的覆蓋程度。最徹底的白盒法是覆蓋程序中的每一條路徑,但是由于程序中一般含有循環,所以路徑的數目極大,要執行每一條路徑是不可能的,只能希望覆蓋的程度盡可能高些。

測試覆蓋標準

測試覆蓋標準

1、上頁小程序的流程圖,其中包括了一個執行達20次的循環。那么它所包含的不同執行路徑數高達520(=1013)條,若要對它進行窮舉測試,覆蓋所有的路徑。假使測試程序對每一條路徑進行測試需要1毫秒,同樣假定一天工作24小時,一年工作365 天, 那么要想把如圖所示的小程序的所有路徑測試完,則需要3170年。

測試覆蓋標準

一、為了衡量測試的覆蓋程度,需要建立一些標準,目前常用的一些覆蓋標準從低到高分別是:

1、語句覆蓋:是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程序中每個語句至少都能被執行一次。

它是最弱的邏輯覆蓋,效果有限,必須與其它方法交互使用。

2、判定覆蓋(也稱為分支覆蓋):執行足夠的測試用例,使得程序中的每一個分支至少都通過一次。

判定覆蓋只比語句覆蓋稍強一些,但實際效果表明,只是判定覆蓋,還不能保證一定能查出在判斷的條件中存在的錯誤。因此,還需要更強的邏輯覆蓋準則去檢驗判斷內部條件。

3、條件覆蓋:執行足夠的測試用例,使程序中每個判斷的每個條件的每個可能取值至少執行一次;

條件覆蓋深入到判定中的每個條件,但可能不能滿足判定覆蓋的要求。

測試覆蓋標準

1、判定/條件覆蓋:執行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能的結果。

判定/條件覆蓋有缺陷。從表面上來看,它測試了所有條件的取值。但是事實并非如此。往往某些條件掩蓋了另一些條件。會遺漏某些條件取值錯誤的情況。為徹底地檢查所有條件的取值,需要將判定語句中給出的復合條件表達式進行分解,形成由多個基本判定嵌套的流程圖。這樣就可以有效地檢查所有的條件是否正確了。

2、條件組合覆蓋:執行足夠的例子,使得每個判定中條件的各種可能組合都至少出現一次。

這是一種相當強的覆蓋準則,可以有效地檢查各種可能的條件取值的組合是否正確。它不但可覆蓋所有條件的可能取值的組合,還可覆蓋所有判斷的可取分支,但可能有的路徑會遺漏掉。測試還不完全。

白盒測試的主要方法:

一、邏輯驅動測試

1、語句覆蓋:語句覆蓋就是設計若干個測試用例,運行被測試程序,使得每一條可執行語句至少執行一次;

2、判定覆蓋(也稱為分支覆蓋):設計若干個測試用例,運行所測程序,使程序中每個判斷的取真分支和取假分支至少執行一次;

3、條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的每個條件的每個可能取值至少執行一次;

4、判定/條件覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的每個條件的所有可能取值至少執行一次,并且每個可能的判斷結果也至少執行一次,換句話說,即是要求各個判斷的所有可能的條件取值組合至少執行一次;

5、條件組合覆蓋:設計足夠多的測試用例,運行所測程序,使程序中每個判斷的所有可能的條件取值組合至少執行一次;

二、基本路徑測試

設計足夠多的測試用例,運行所測程序,要覆蓋程序中所有可能的路徑。這是最強的覆蓋準則。但在路徑數目很大時,真正做到完全覆蓋是很困難的,必須把覆蓋路徑數目壓縮到一定限度。

語句覆蓋

o語句覆蓋”是一個比較弱的測試標準,它的含義是:選擇足夠的測試用例,使得程序中每個語句至少都能被執行一次。

n如,例1:

PROCEDURE??M(VAR A,B,X:REAL);

BEGIN

IF (A>1) AND (B=0) ?THEN X:=X/A;

IF (A=2) OR (X>1) ? THEN X:=X+1;

END.

總共貼了39節,后續還有很長,共122節,文章名為‘白盒測試教程’

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370236.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370236.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle 分析函數及常用函數

什么叫分析函數(Analytic function)? Oracle從8.1.6開始提供分析函數,分析函數用于計算基于組的某種聚合值,它和聚合函數的不同之處是 對于每個組返回多行,而聚合函數對于每個組只返回一行。 基本語法 function_name(arg1,arg2,..…

ScanTailor-ScanTailor 強大的多方位的滿足處理掃描圖片的需求

ScanTailor 強大的多方位的滿足處理掃描圖片的需求ScanTailor 能做什么?批量或單張或選擇區間旋轉圖片自動切割頁面,同時提供手動選項自動識別圖像歪斜角度,同時提供手動選項自動識別正文內容裁剪,同時提供手動選項設置正文上下左…

使用JavaCV進行手和手指檢測

這篇文章是Andrew Davison博士發布的有關自然用戶界面(NUI)系列的一部分,內容涉及使用JavaCV從網絡攝像頭視頻提要中檢測手。 注意:可以從http://fivedots.coe.psu.ac.th/~ad/jg/nui055/下載本章的所有源代碼。 第5章的彩色斑點檢…

oracle+trace參數設置,Oracle autotrace參數詳解

SQL> set autotrace traceonly explainSP2-0613: 無法驗證 PLAN_TABLE 格式或實體cuug每周五晚8點都有免費網絡課程,如需了解可點擊cuug官網。SP2-0611: 啟用EXPLAIN報告時出錯解決方法:1. 以SYS用戶登錄CONNECT / as SYSDBA ;1. 創建PLAN_TABL…

git提交代碼到碼云

日常代碼一般提交到github比較多,但我還是鐘愛馬爸爸,沒錯就是碼云。 碼云是中文版的代碼托管的網站,不存在打開網速問題,使用也蠻方便的,日常自己保存托管代碼已經足夠,平時使用git提交代碼到碼云是非常方…

不能裝載文檔控件。請在檢查瀏覽器的選項中檢查瀏覽器的安全設置_【2020年網絡安全宣傳周】如何正確設置瀏覽器...

李夏是一個公司的職員,一天晚上加班趕制文檔,由于要向客戶匯報產品情況,需要獲取大量網上信息,然而在制作中卻發現瀏覽器的網頁打不開了。第二天原計劃向客戶展示的材料未能完整匯總,客戶見面對接效果也打了折扣。在當…

矩形碰撞檢測和圓形碰撞檢測。

矩形碰撞檢測&#xff1a; <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Document</title><style type"text/css">body { margin: 0;}#wrap { margin: 50px auto; position: re…

MonogoDB 查詢小結

MonogoDB是一種NoSQL數據庫 優點: 1.數據的存儲以json的文檔進行存儲(面向文檔存儲) 2.聚合框架查詢速度快 3.高效存儲二進制大對象 缺點: 1.不支持事務 2.文件存儲空間占用過大 案例學習 例1:單個變量查詢(查找出制造商字段為“Porsche”的所有汽車的查詢) {"layout"…

用裝飾器設計模式裝飾

裝飾圖案是廣泛使用的結構圖案之一。 此模式在運行時動態更改對象的功能&#xff0c;而不會影響對象的現有功能。 簡而言之&#xff0c;此模式通過包裝將附加功能添加到對象。 問題陳述&#xff1a; 想像一下我們有一個比薩餅&#xff0c;該比薩餅已經用番茄和奶酪烤制的情況。…

linux 內存強度測試軟件,linux下的CPU、內存、IO、網絡的壓力測試工具與方法介紹...

使用工具stressCentos# yum -y install stressUbantu# apt-get install stress# stress --helpstress imposes certain types of compute stress on your systemUsage: stress [OPTION [ARG]] ...-?, --help show this help statement--version show version statement-v, --v…

vcpkg安裝_微軟牌包管理器vcpkg更新及路線圖計劃

蝎子vcpkg是一套跨平臺&#xff0c;開源的C/C庫管理器&#xff0c;今天的這篇文章是有關vcpkg主題的2020年4月博文更新。在這篇文章中&#xff0c;我們將分享有關vcpkg 2020.04發布版本的一些信息以及vcpkg的路線圖(roadmap)&#xff0c;我們會在這里持續地發布有關vcpkg的最新…

CSS 盒模型與box-sizing

一、盒模型 一個web頁面由許多html元素組成&#xff0c;而每一個html元素都可以表示為一個矩形的盒子&#xff0c;CSS盒模型正是描述這些矩形盒子的存在。 MDN的描述&#xff1a; When laying out a document, the browsers rendering engine represents each element as a r…

Java課程設計 購物車系統(個人博客) 201521123052 藍錦明

1. 團隊課程設計博客鏈接 課程設計團隊博客 2. 個人負責模塊或任務說明 &#xff08;1&#xff09;制作圖形菜單引導界面 &#xff08;2&#xff09;定義各獲取和輸出類函數 3. 自己的代碼提交記錄截圖 4. 自己負責模塊或任務詳細說明 import java.text.NumberFormat; public c…

7-12(圖) 社交網絡圖中結點的“重要性”計算(30 分)

在社交網絡中&#xff0c;個人或單位&#xff08;結點&#xff09;之間通過某些關系&#xff08;邊&#xff09;聯系起來。他們受到這些關系的影響&#xff0c;這種影響可以理解為網絡中相互連接的結點之間蔓延的一種相互作用&#xff0c;可以增強也可以減弱。而結點根據其所處…

linux系統的安裝程序,Linux系統安裝

為了不影響本機系統&#xff0c;建議在虛擬機上創建并安裝Linux系統&#xff0c;本次安裝centos7 64位的鏡像。詳細步驟如下&#xff1a;1、首先在虛擬機主頁創建新的虛擬機。... 圖1.1 2、選擇自定義安裝&#xff0c;這樣方便我們更好了解虛擬機&#xff0c;然后點擊下一步。.…

REST與Apache Camel

在Camel中公開HTTP終結點的方法有很多&#xff1a;jetty&#xff0c;tomcat&#xff0c;servlet&#xff0c;cxfrs和restlet。 其中的兩個組件– cxfrs和restlet也只需幾行代碼即可支持REST語義。 這個簡單的示例演示了如何使用camel-restlet和camel-jdbc進行CRUD操作。 四個HT…

百米路由器2登陸地址_騰達無線路由器怎么安裝,真的不錯

騰達無線路由器怎么安裝1、WAN口連接寬帶進線(即網絡公司進來的線或貓出來的線&#xff0c;一般顏色不一樣)、LAN口連接局域網內的電腦。2、設置所連接電腦的IP地址。右鍵點擊網上鄰居屬性3、右鍵點擊本地連接屬性4、選擇Internet協議TCP/IP屬性5、點擊選擇自動獲得IP地址和自動…

input點擊鏈接另一個頁面,各種操作。

1.鏈接到某頁<input type"button" name"Submit" value"確 定" class"btn" οnclick"location.hreffilename.html" />2.返回(等同后退)<input name"Submit2" type"button" class"btn"…

80. Remove Duplicates from Sorted Array II

題目描述 Follow up for “Remove Duplicates”: What if duplicates are allowed at most twice? For example, Given sorted array nums [1,1,1,2,2,3], Your function should return length 5, with the first five elements of nums being 1, 1, 2, 2 and 3. It doesn…

JavaFX 2 XYCharts和Java 7功能

我最喜歡的JavaFX 2功能之一是它在javafx.scene.chart包中提供的標準圖表。 該軟件包提供了幾種不同類型的現成圖表。 除了其中之一&#xff08; PieChart &#xff09;以外&#xff0c;所有其他都是“ 2軸圖”&#xff08; XYChart的特定實現&#xff09;。 在本文中&#xff…