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

淺析軟件測試之灰盒測試

開發 測試
灰盒測試結合了白盒測試和黑盒測試的要素.它考慮了用戶端、特定的系統知識和操作環境。本文簡單的介紹了就是灰盒測試,一起來看。

灰盒測試,是介于白盒測試與黑盒測試之間的,可以這樣理解,灰盒測試關注輸出對于輸入的正確性,同時也關注內部表現,但這種關注不象白盒那樣詳細、完整,只是通過一些表征性的現象、事件、標志來判斷內部的運行狀態,有時候輸出是正確的,但內部其實已經錯誤了,這種情況非常多,如果每次都通過白盒測試來操作,效率會很低,因此需要采取這樣的一種灰盒的方法。

“白盒”測試又稱結構測試,在測試過程中測試者可以看到被測的源程序,通過分析程序的內部結構,根據其內部結構設計測試用例。理想的“白盒”測試應該使選取的測試用例覆蓋所有的路徑,然而,這是不可能的,而且“白盒”測試不關注測試程序的外部功能。

“黑盒”測試又稱功能測試,在測試過程中被測程序被視為黑盒,測試者在完全不考慮程序內部結構和內部特征(或對于上述信息無從獲知)的情況下,根據需求規格說明書設計測試用例和推斷測試結果的正確性。“黑盒”測試的不足在于,測試用例的選擇只考慮了程序的輸入,以及在該情況下的輸出,并沒有考慮程序的內部結構。因此,程序內部結構是否規范、結構化程度的好壞、系統的性能如何等都得不到測試。

“白盒”測試和“黑盒”測試各有其自身的特點,但也都存在著明顯的不足,主要表現在只考慮了程序某一方面的屬性和特征,沒有綜合考慮。要進行較全面的程序測試,不得不把測試工作分兩次進行,用“白盒”測試方法測試一次,再用“黑盒”測試方法測試一次。這不但浪費時間,而且測試的效果不一定好。“灰盒”測試正是基于這一點提出的。

“灰盒”測試是一種綜合測試法,它將“黑盒”測試、“白盒”測試結合在一起,構成一種無縫測試技術。“灰盒” 測試以程序的主要性能和主要功能為測試依據,測試方法主要根據程序的程序圖、功能說明書以及測試者的實踐經驗來設計。這里所說的主要性能和主要功能憑借測試者的經驗來確定,即可以把容易發生錯誤的變量域及程序圖(非流程圖)作為測試的內容,而把那些不容易發生錯誤的變量輸入和流程圖中的不影響或不改變內部邏輯的細節忽略。事實上,許多測試工作是在不完全了解程序的內部邏輯的情況下進行的,這也就是“灰色”的由來。

同時,“灰盒”測試涉及輸入和輸出,但通常使用關于代碼和程序操作等在測試人員視野之外的信息設計測試。在現在的測試工程中,最常見的“灰盒”測試是集成測試。但是“灰盒”測試的概念已經由原來單一的“黑盒”測試和“白盒”測試的一些測試方法的簡單疊加,衍生出許許多多新穎的分析方法。

跟“黑盒”測試和“白盒”測試相比,“灰盒”測試有以下特性:

  • “灰盒”測試通常是在集成測試前期進行的,“灰盒”測試通常在程序員做完“白盒”測試之后,在功能測試人員進行大規模集成測試之前進行的。
  • “灰盒”測試需要了解代碼工程的實現。
  • “灰盒”測試是通過類似“白盒”測試的方法進行的,是通過編寫代碼,調用函數或者封裝好的接口進行的。
  • “灰盒”測試是由測試人員進行測試的。

在軟件測試領域,對“灰盒”測試的應用屬于比較新型的嘗試,它打破了長久以來“黑盒”和“白盒”測試技術在這一領域的統治地位。DO-178B規范也新進加入了利用“灰盒”測試方法來進行作業的標準。

下面是根據一個實例來介紹一種傳統的“白盒”測試與“黑盒”測試相結合的“灰盒”測試方法的應用。

(1) 閱讀需求

  1. SDRD26537 (Software Design Requirement Document)  
  2. Requirement: Yes  
  3. Delivery: AESS  
  4. Magnetic Heading shall be ser invalid if value outside range of -180 inclusive and 180 exclusive.  
  5. [/TCAS TPA-100X/Tests] 

需求要求飛機在巡航過程中它的有效磁場角度范圍為[–180,180]。(因為這是航空領域的實例,有些是專業術語或縮寫,但這不影響閱讀)

(2) 分析需求

這個例子很簡單,根據分析,測試人員優先選擇“黑盒”測試方法的邊界值分析方法,并確定取值范圍為[-180,180]。設計一個健壯最壞情況邊界值分析測試用例如下:–180.1, –180.0, –179.9, –1.0, 0.0, 1.0, 180.0, 179.9 。

(3) 根據分析寫出測試用例腳本

詳細的測試用例腳本由于篇幅太長,故不在這里一一寫出。然后將測試用例腳本在測試環境里運行出結果。

但是在后面的測試工作中出現了意外,雖然測試用例的結果獲得了通過,但是在做代碼的“白盒”覆蓋率時,未達到規定的覆蓋率要求。為什么這么簡單的一個單元測試失敗了呢?在重新分析了需求和測試腳本以后,我們排除了這兩方面帶來的問題,原因很可能出在根據需求設計的腳本和源代碼的實現有出入。

(4) 分析相應的源代碼

找到源代碼的相應模塊,如下所示:

  1. //========================================================================  
  2. const float MAX_VALID_ANGLE = 180.0;  
  3. bool TcasAircraftInputSignallfcClass::getTrueHeading(int *argValue)  
  4. {  
  5. static const float scalingFactor = 16384.0 / 90.0;  
  6. float roundFactor =(((1.0 / 16384.0)/2.0)*90.0);  
  7. float temp;  
  8. if (trueHeading->get(&temp))  
  9. {  
  10. temp=(temp<MAX_VALID_ANGLE -roundFactor ? temp : MAX_VALID_ANGLE - roundFactor);  
  11. temp=(temp>+-MAX_VALID_ANGLE+roundFactor?temp : -MAX_VALID_ANGLE+roundFactor);   
  12. if (temp < 0)  
  13. {  
  14. roundFactor = -roundFactor;  
  15. }  
  16. *argValue = (int)((temp + roundFactor)*scalingFactor);  
  17. return(true);  
  18. }  
  19. else 
  20. {  
  21. //return false signal is invalid  
  22. return(false);  
  23. }  

 

經過對源代碼的仔細分析,果然發現了問題所在。由于“黑盒”測試的特征以及DO-178B的規范,測試人員是完全根據需求文檔來設計的測試用例。而需求文檔在設計的時候設置的磁角度精確值統一為0.1,但是在實際軟件開發過程中,因為可靠性的要求,精確度提升到了0.001。

需求文檔卻未相應更新,導致最終的覆蓋率失敗。在這里,不能取179.9,而必須取179.998,才能完全覆蓋到語句,這就是“黑盒”測試與“白盒”測試相結合的產物。

希望對你有幫助。

【編輯推薦】

  1. 淺談軟件測試嵌入式單元測試技能
  2. 詳談軟件測試中的動態測試
  3. 軟件測試理論:目的、周期、流程
  4. 軟件測試的全過程
  5. 軟件測試中排錯的基本方法

 

責任編輯:于鐵 來源: 互聯網
相關推薦

2020-05-28 07:00:00

黑盒測試白盒測試灰盒測試

2011-06-14 14:43:03

灰盒測試

2011-01-19 10:54:14

軟件評測師

2011-05-26 17:28:48

軟件本地化測試

2009-07-07 09:22:27

Servlet性能測試

2009-07-07 09:38:37

ServletQuer

2009-02-12 09:55:28

2013-05-31 09:28:10

2021-12-29 21:15:08

軟件測試軟件開發

2020-05-07 17:30:49

開發iOS技術

2011-06-08 16:22:24

白盒測試

2022-09-19 00:34:32

滲透測試安全漏洞

2009-07-01 16:01:48

軟件

2009-06-18 11:03:47

經理 軟件測試 行業

2011-12-01 09:20:41

軟件工程

2023-05-16 15:25:08

2009-07-14 13:55:24

MyEclipse S

2011-05-23 10:09:48

2010-02-23 11:26:56

Python 測試框架

2010-06-04 16:31:33

Linux網絡測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区在线观看 | 91久久久精品国产一区二区蜜臀 | 日韩成人在线免费观看 | 日韩欧美中文字幕在线观看 | 精品国产一区探花在线观看 | 久久久久国产精品 | 亚洲午夜精品 | 国产精品日韩在线观看 | 精品日韩欧美一区二区 | 亚洲免费一区二区 | av黄色免费在线观看 | 国产免费看 | 国产在线视频在线观看 | 中文字幕在线不卡 | 香蕉超碰| 国产精品视频999 | 久久久久亚洲 | 午夜www | 高清国产午夜精品久久久久久 | 国产精品高潮呻吟久久久久 | 精品国产精品一区二区夜夜嗨 | 高清人人天天夜夜曰狠狠狠狠 | 91精品国产91久久综合桃花 | 国产免费一区二区 | 欧美成人一区二区三区片免费 | 亚洲成人精品在线 | 久久综合伊人一区二区三 | 色综合激情 | 欧美日韩国产高清视频 | 久久精品久久久久久 | 成人黄色网址大全 | 91福利在线导航 | 国产精品久久久久久久久久久久午夜片 | 四虎永久在线精品免费一区二 | 国产精品日韩一区二区 | av一二三区 | 欧美激情精品久久久久久 | 99国产精品一区二区三区 | 天天亚洲| 日本久久一区 | 81精品国产乱码久久久久久 |