成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于靜態白盒測試 檢驗代碼的一些問題

開發 測試
白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。來看本文。

白盒測試也稱結構測試或邏輯驅動測試,它是按照程序內部的結構測試程序,通過測試來檢測產品內部動作是否按照設計規格說明書的規定正常進行,檢驗程序中的每條通路是否都能按預定要求正確工作。下面介紹靜態白盒測試,關于檢驗代碼的一些問題。

1. 說出靜態白盒測試的幾點好處。

靜態白盒測試在開發過程早期發現軟件缺陷,使修復的時間和費用大幅度降低。軟件測試員可以得到軟件如何運作的信息,存在哪些弱點和危險,而且可以與程序員建立良好的伙伴關系。項目狀態可以傳達給參與測試的所有小組成員。

2. 靜態白盒測試可以找出遺漏之處和問題?

對。遺漏的問題比普通的問題更重要,通過靜態白盒測試可以發現。當根據公布的標準和規范檢查代碼,在正式審查中仔細分析時,遺漏的問題就顯而易見了。

3. 正式審查由哪些關鍵要素組成?

過程。按照過程進行是正式檢查和兩個程序員之間互查代碼的區別。

4. 除了更正式外,檢驗與其他審查類型有什么重大差別?

主要區別是,檢驗時在場的不是代碼的原創者。這迫使另一個人完全理解要檢查的軟件。這比讓其他人只是審查軟件尋找軟件缺陷更有效。

5. 緩沖區溢出錯誤作為一個常見的安全問題術語哪一級錯誤?是由什么原因引起的?

數據引用。它們是由于使用了未正確聲明或未進行初始化的變量、常量、數組、字符串或記錄。

通用代碼審查清單:

在代碼審查時,我們可以運用代碼審查清單,將以往所有可能發生的常見錯誤羅列出來,供與會者對照檢查,從而提高會審效率。

(1)數據引用錯誤

數據引用錯誤是指使用未經正確地初始化的變量、常量、數組、字符串或記錄。

* 是否引用了未初始化的變量?

* 數組和字符串的下標是整數值嗎?下標總是在數組和字符串大小范圍之內嗎?

* 在檢索操作或者應用數組下標時是否包含“丟掉一個”這樣的潛在錯誤?

* 是否在應該使用常量的地方使用了變量?

* 變量是否被賦予不同類型的值?

* 為引用的指針分配內存了嗎?

* 一個數據結構是否在多個函數或者子程序中引用,在每一個引用中明確定義結構了嗎?

(2)數據聲明錯誤

數據聲明錯誤是指不正確地聲明或使用變量和常量。

* 所有變量都賦予正確的長度、類型和存儲類了嗎?

* 變量是否在聲明的同時進行了初始化?是否正確初始化并與其類型一致?

* 變量有相似的名稱嗎?

* 存在聲明過、但從未引用或者只引用過一次的變量嗎?

* 在特定模塊中所有變量都顯式地聲明了嗎?

(3)計算錯誤

計算錯誤是指基本的數學邏輯問題。

* 計算中是否使用了不同數據類型的變量,如整數與浮點數相加?

* 計算中是否使用了數據類型相同但字節長度不同的變量?

* 計算時是否了解和考慮到編譯器對類型或長度不一致的變量的轉換規則?

* 賦值的目的變量是否小于賦值表達式的值?

* 在數值計算過程中是否可能出現溢出?

* 除數或模是否可能為零?

* 對于整型算術運算或某些計算,特別是除法的代碼處理是否會丟失精度?

* 變量的值是否超過有意義的范圍?

* 對于包含多個操作的表達式,求值次序是否混亂,運算優先級對嗎?需要加括號使其清晰嗎?

(4)比較錯誤

小于、大于、等于、不等于、真、假、比較和判斷錯誤很可能是邊界條件問題。

* 比較得正確嗎?

* 存在分數或者浮點數之間的比較嗎?如果有,精度問題會影響比較嗎?1.00000001和1.00000002極其接近,它們相等嗎?

* 每一個邏輯表達式都正確地表達了嗎?邏輯計算如期進行了嗎?求值次序有疑問嗎?

* 邏輯表達式的操作數是邏輯值嗎?

(5)控制流程錯誤

控制流程錯誤是指編程語言中循環等控制結構未按預期方式工作,通常由計算或者比較錯誤直接或間接造成。

* 程序中的語句組是否對應?

* 程序、模塊、子程序和循環能否終止?如果不能,可以接受嗎?

* 可能存在永遠不停的循環嗎?

* 循環可能從不執行嗎?如果是這樣,可能接受嗎?

* 對于多分支語句,索引變量能超出可能的分支數目嗎?如果超出,該情況能正確處理嗎?

* 是否存在“丟掉一個”錯誤,導致意外進入循環?

(6)子程序參數錯誤

子程序參數錯誤的來源是軟件子程序不正確地傳遞數據。

* 子程序接收的參數類型和大小與調用代碼發送的匹配嗎?次序正確嗎?

* 如果子程序有多個入口點,引用的參數是否與當前入口點沒有關系?

* 常量是否當作形參傳遞,意外在子程序中改動?

* 子程序是更改了僅作為輸入值的參數?

* 每一個參數的單位是否與相應的形參匹配?

* 如果存在全局變量,在所有引用子程序中是否有相似的定義和屬性?

(7)輸入/輸出錯誤

輸入/輸出錯誤包括文件讀取、接受鍵盤或鼠標輸入以及向輸出設備寫入錯誤等。

* 軟件是否嚴格遵守外設讀寫數據的專用格式?

* 文件或者外設不存在或者未準備好的錯誤情況有處理嗎?

* 軟件是否處理外設未連接、不可用、或者讀寫過程中存儲空間占滿等情況?

* 軟件以預期的方式處理預計的錯誤嗎?

* 檢查錯誤提示信息的準確性、正確性、語法和拼寫了嗎?

(8)其他錯誤

* 軟件是否使用其他外語?是否處理擴展ASCII字符?是否需用統一編碼取代ASCII?

* 軟件是否需要移植到其他編譯器?

* 是否考慮了兼容性,以使軟件能夠運行于不同數量的可用內存、不同的內部硬件、不同的外設等?

* 程序編譯是否產生“警告”或者“提示”信息?這些信息通常指示語句有疑問。

但在項目小組驗證代碼時,并不能簡單地以這些代碼審查清單未標準,因為這只是用做一個通用的示例。其中雖然有謝好的測試用例應該在測試代碼時考慮,但是,英愛研讀其他公開的標準之后再采用自己的標準。

【編輯推薦】

  1. 通過軟件測試防止IT浪費 降低成本和風險
  2. 淺談軟件測試嵌入式單元測試技能
  3. 軟件測試理論:目的、周期、流程
  4. 軟件測試中排錯的基本方法
  5. 軟件測試接口測試的測試用例類型
責任編輯:于鐵 來源: 互聯網
相關推薦

2016-10-18 22:10:02

HTTP推送HTML

2018-06-12 15:39:41

容器部署云平臺

2009-06-12 10:25:42

Webservices

2021-10-21 06:52:17

Vue3組件 API

2011-11-01 09:29:08

Android 4.0

2009-11-30 13:51:28

VS2003 Runt

2011-03-08 14:28:03

proftpdGentoo

2009-07-21 10:35:18

margin coll

2018-05-17 14:52:11

Javascripthtmlcss

2022-01-16 08:04:44

集群部署canal

2010-05-04 15:59:05

Oracle字符集

2010-09-17 15:41:46

網絡協議分析軟件

2012-12-19 11:40:13

思科路由器

2009-06-10 21:46:02

JavaScript與

2009-08-06 16:01:30

C#接口成員

2015-10-12 08:59:57

異步代碼測試

2009-11-23 13:44:33

PHP5面向對象

2011-01-26 16:24:53

Sun甲骨文

2009-06-04 16:28:43

EJB常見問題

2009-06-18 15:14:53

Spring osgi
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品99久久久久久动医院 | 91久久精品一区二区二区 | 亚洲天堂成人在线视频 | 成人精品免费视频 | 成人午夜免费福利视频 | 波多野吉衣在线播放 | 成人在线一级片 | 欧美精品一区二区三区在线 | 亚洲精品国产第一综合99久久 | 97伊人| 欧美久久天堂 | 黄视频网站免费观看 | 日韩视频一级 | 中文一区二区 | 人人操日日干 | 亚洲成人黄色 | 久久国产精品视频免费看 | 91精品国产综合久久久久久丝袜 | 三级在线观看 | 免费的黄色片子 | 天天操天天摸天天干 | 亚洲久久在线 | 精品国产一区二区国模嫣然 | 亚洲交性 | 97影院2| 欧美日韩成人网 | 成人亚洲性情网站www在线观看 | 日韩在线播放一区 | 91网站在线观看视频 | 国产精品久久久久久久久久久久午夜片 | 亚洲性人人天天夜夜摸 | h视频网站在线观看 | 久久i| 亚洲精品一区二区另类图片 | 91啪影院| 久久免费精品 | 日韩高清在线 | 日韩精品福利 | 国产91精品久久久久久久网曝门 | 国产美女在线观看 | 亚洲一二三区精品 |