版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件測(cè)試不再黑盒— threadingtest帶來第二代白盒覆蓋率技術(shù)穿線測(cè)試對(duì)于測(cè)試界的一個(gè)重大創(chuàng)新在于,在白盒測(cè)試?yán)碚摮霈F(xiàn)數(shù)十年以后,上海零一拼裝信息技術(shù)有限公司結(jié)合在測(cè)試?yán)碚摲矫媸嗄甑臐撔难芯?,率先提出了第二代覆蓋率技術(shù),這絕對(duì)不是一個(gè)口號(hào),而是ZOA真正對(duì)于白盒測(cè)試的理解以及對(duì)于標(biāo)準(zhǔn)第三方測(cè)試服務(wù)的深度理解經(jīng)過數(shù)年的基礎(chǔ)研究以及2年有余的研發(fā)而推出的達(dá)到商用標(biāo)準(zhǔn)的技術(shù)?,F(xiàn)在先讓我們溫習(xí)下經(jīng)典的測(cè)試?yán)碚摚?、測(cè)試方法論黑盒功能測(cè)試法 黑盒功能測(cè)試法,是把要測(cè)試的軟件看成一個(gè)“黑盒子”,不管其內(nèi)部結(jié)構(gòu)如何以及以什么算法實(shí)現(xiàn)所要求提供的功能,而是按照需求的功能化要求,設(shè)計(jì)相應(yīng)的測(cè)試用例(包括測(cè)試的輸入數(shù)據(jù)與條件設(shè)置和所預(yù)期的軟件運(yùn)行輸出結(jié)果),通過軟件運(yùn)行后所給出的輸出(包括字符形式的輸出與圖象輸出)與所預(yù)期的結(jié)果進(jìn)行人工或者自動(dòng)化比較,來驗(yàn)證被測(cè)試軟件是否能給出正確的結(jié)果,從而判斷該軟件是否滿足需求,是否與該軟件系統(tǒng)的規(guī)格說明書和用戶手冊(cè)相關(guān)部分一致。這一方法的優(yōu)點(diǎn)為:(A) 能最直觀和直接地反映出所設(shè)計(jì)的軟件是否滿足需求;(B) 即使沒有任何測(cè)試工具支援,也能靠人工測(cè)試的方法完成;其不足之處是:(A) 這種測(cè)試方法難以找出某些特殊類型的錯(cuò)誤。例如:當(dāng)對(duì)應(yīng)于某組輸入該被測(cè)軟件并不提供任何輸出信息時(shí)–可能只是改變了某種工作狀態(tài),如果其中的源代碼處理部分有錯(cuò)誤,就比較難找出來;(B) 無法確定哪些測(cè)試用例有效或者無效(所謂無效,并不是說單獨(dú)使用某個(gè)測(cè)試用例時(shí)不能收到任何測(cè)試效果,而是在于它和前面已經(jīng)使用過的測(cè)試用例一起使用時(shí),毫無貢獻(xiàn),只是重復(fù)了前面的測(cè)試用例已經(jīng)完成的測(cè)試);(C) 具有無可避免的盲目性:當(dāng)軟件被修改后,由于不知道哪些測(cè)試用例能測(cè)試到被直接修改過的模塊或者受修改過的模塊影響的模塊,于是只好將所有測(cè)試用例再從頭運(yùn)行一遍,而且是動(dòng)態(tài)運(yùn)行,非常費(fèi)時(shí)費(fèi)力。白盒結(jié)構(gòu)測(cè)試法 白盒結(jié)構(gòu)測(cè)試法則與黑盒子功能測(cè)試方法相反:它不管所被測(cè)試的軟件是否滿足需求,是否實(shí)現(xiàn)了所設(shè)計(jì)的功能,而只注重該軟件內(nèi)部的結(jié)構(gòu),以便設(shè)計(jì)足夠多的測(cè)試用例,使得百分百或者盡可能多的程序組成要素能被測(cè)試到最少一次,從而盡可能地將其中的軟件錯(cuò)誤暴露出來。白盒子結(jié)構(gòu)測(cè)試方法的優(yōu)點(diǎn):(A) 能夠找出許多用功能測(cè)試方法找不出來的軟件錯(cuò)誤;(B) 可以在整個(gè)軟件系統(tǒng)還未完成之前就分別對(duì)各個(gè)單元進(jìn)行測(cè)試;(C) 可以通過測(cè)試用例的有效性分析而實(shí)現(xiàn)測(cè)試用例的最小化,以便大大地縮短軟件修改后的回復(fù)測(cè)試時(shí)間和費(fèi)用;(D) 可以同時(shí)進(jìn)行內(nèi)存泄漏分析;(E) 可以同時(shí)進(jìn)行分支執(zhí)行頻度分析;(F) 可以同時(shí)進(jìn)行軟件復(fù)雜度分析;(G) 可以同時(shí)進(jìn)行數(shù)據(jù)和變量分析;(H) 可以同時(shí)進(jìn)行性能分析;(I) 可以同時(shí)進(jìn)行動(dòng)態(tài)運(yùn)行錯(cuò)誤定位與執(zhí)行路徑追溯等。白盒子結(jié)構(gòu)測(cè)試方法的缺點(diǎn):(1) 必須通過專門的測(cè)試工具來進(jìn)行,需要在用戶的軟件的拷貝上進(jìn)行插樁(插入紀(jì)錄點(diǎn))記錄各分支/條件是否被執(zhí)行過或者執(zhí)行過多少次的信息;(2) 會(huì)使被測(cè)試的軟件的運(yùn)行速度減慢;(3) 需要增加被測(cè)試軟件運(yùn)行時(shí)的資源開銷等。關(guān)于軟件質(zhì)量的誤區(qū) 有不少軟件開發(fā)組織和應(yīng)用軟件開發(fā)部門的管理者錯(cuò)誤地認(rèn)為,他們已經(jīng)對(duì)他們所開發(fā)的軟件做了充分的功能測(cè)試(又稱"黑盒測(cè)試")了,認(rèn)為"我們的軟件質(zhì)量沒問題!"——但是,專家們分析了大量"經(jīng)過充分的功能測(cè)試"的軟件后發(fā)現(xiàn),這些軟件中還有大約一半的程序分支從未被執(zhí)行過! 為什么會(huì)這樣?原來,軟件的功能描述相對(duì)來說非常容易、非常簡(jiǎn)單、也非常粗糙,無法詳細(xì)到用軟件內(nèi)部的具體實(shí)現(xiàn)邏輯結(jié)構(gòu)來說明;而要達(dá)到同樣的功能,軟件可以有許許多多等效的實(shí)現(xiàn)方法;特別是,軟件功能的實(shí)現(xiàn),與所使用的編寫程序的語言、所運(yùn)行的操作系統(tǒng)環(huán)境、所用到的數(shù)據(jù)庫以及某些第三方的軟件都有關(guān)系。事實(shí)上,一個(gè)軟件中的許許多多程序分支跟該軟件本身的功能并沒有直接的聯(lián)系,而是用來處理各種可能出現(xiàn)的運(yùn)行情況的。例如,所開發(fā)的軟件在運(yùn)行中突然被終止時(shí)(系統(tǒng)斷電或者用戶打斷)如何保護(hù)已經(jīng)打開的文檔;在系統(tǒng)資源用盡之前如何提出警告;在所要用到的某些文件被意外地刪除了時(shí)如何應(yīng)付等等。這些程序分支在編寫中同樣存在著可能的錯(cuò)誤,必須加于測(cè)試。而這通常都需要通過程序的結(jié)構(gòu)測(cè)試(又稱"白盒測(cè)試")來完成,而白盒結(jié)構(gòu)測(cè)試是必須借助于軟件測(cè)試工具才能進(jìn)行的。 ThreadingTest針對(duì)上訴的質(zhì)量誤區(qū)情況在測(cè)試過程中對(duì)于一組輸入,既判斷其輸出(如果有)是否與預(yù)期值一致,又判斷其執(zhí)行路徑是否與預(yù)期值一致。這樣一來,即使測(cè)試輸出結(jié)果與預(yù)期值一致,也可能有錯(cuò)誤被找出來-如果所預(yù)期的執(zhí)行路徑與實(shí)際的執(zhí)行路徑不一致。例如,當(dāng)測(cè)試一個(gè)計(jì)算器程序時(shí),如果輸入是2+2,測(cè)到的結(jié)果是4,也可能是個(gè)錯(cuò)誤-如果它的執(zhí)行路徑與預(yù)期值不一致:其最終的結(jié)果可能是2×2的路徑的輸出結(jié)果。由于TT可以測(cè)試有輸入而無輸出的場(chǎng)合(此時(shí)僅僅測(cè)試其執(zhí)行路徑是否與所期待的路徑一致),因而可以在任何開發(fā)階段使用,實(shí)現(xiàn)名副其實(shí)的全過程測(cè)試驅(qū)動(dòng)。2、第二代白盒覆蓋率技術(shù) 覆蓋率技術(shù)是軟件測(cè)試的基本技術(shù)手段之一,但是數(shù)十年以來雖然也出現(xiàn)過多種理論方法以及商用產(chǎn)品,但其一直未在測(cè)試界主流應(yīng)用領(lǐng)域推廣,主要原因有以下幾點(diǎn)點(diǎn):通常覆蓋率結(jié)果在重新發(fā)布版本以后必須重新進(jìn)行累計(jì),對(duì)于龐大的程序相當(dāng)于對(duì)歷史的測(cè)試全部歸零。軟件測(cè)試的通常場(chǎng)景,是需要用測(cè)試工具對(duì)代碼進(jìn)行分析,而軟件測(cè)試工具,尤其是可以達(dá)到商用標(biāo)準(zhǔn)的白盒測(cè)試工具一直被國(guó)外的幾大老牌軟件測(cè)試工具所壟斷,價(jià)格高昂,并且對(duì)于航天、軍事級(jí)別的測(cè)試需求來說信息安全可靠度差。白盒測(cè)試操作難度大,測(cè)試人員很難理解,在測(cè)試團(tuán)隊(duì)中很難推廣。白盒測(cè)試工具都是單機(jī)版,很難再大型測(cè)試團(tuán)隊(duì)中推廣使用。覆蓋率和測(cè)試用例無任何關(guān)系,通常覆蓋率是執(zhí)行一系列動(dòng)作的混合結(jié)果,而通常測(cè)試人員以及開發(fā)人員在定位問題的時(shí)候需要明確知道某個(gè)功能對(duì)應(yīng)的代碼覆蓋率。而這些傳統(tǒng)的白盒測(cè)試工具都無法支持。隨著移動(dòng)應(yīng)用在消費(fèi)級(jí)、企業(yè)級(jí)的市場(chǎng)所占比重越來越大,一些老牌的測(cè)試工具針對(duì)移動(dòng)環(huán)境(android、iOS)的測(cè)試明顯支持乏力甚至不提供支持。 上述原因讓第一代的覆蓋率技術(shù)很難真正的得到推廣。ThreadingTest針對(duì)第一代的覆蓋率技術(shù)的缺陷提出了全新的第二代覆蓋率技術(shù),并在覆蓋率方法的基礎(chǔ)上,設(shè)計(jì)了全新的應(yīng)用功能:無需監(jiān)管測(cè)試場(chǎng)景:覆蓋率的統(tǒng)計(jì)完全可以由后臺(tái)程序運(yùn)行收集,對(duì)測(cè)試人員實(shí)現(xiàn)透明化,測(cè)試人員只需要運(yùn)行插樁后的程序,開啟程序的自動(dòng)收集功能,即可無需監(jiān)管的進(jìn)行常規(guī)測(cè)試,TT會(huì)自動(dòng)將程序的測(cè)試執(zhí)行情況收集、分析、存入數(shù)據(jù)庫,配合TT就可以輕松的查看程序的實(shí)時(shí)覆蓋率。圖實(shí)時(shí)監(jiān)控界面自動(dòng)收集被測(cè)程序執(zhí)行情況并統(tǒng)計(jì)雙向追溯是TT實(shí)現(xiàn)覆蓋率到達(dá)100%的重要工具,通過雙向追溯功能測(cè)試人員運(yùn)行完所有用例可以發(fā)現(xiàn)所有未測(cè)試分支,并且和開發(fā)確認(rèn)如何才能覆蓋,并增補(bǔ)用例。直到達(dá)到關(guān)鍵模塊的100%覆蓋的測(cè)試。對(duì)于較難覆蓋程序邏輯,開發(fā)以及測(cè)試人員可以作為重點(diǎn)進(jìn)行代碼走查及聯(lián)合用例設(shè)計(jì)。圍繞覆蓋率結(jié)果,開發(fā)和測(cè)試人員可以充分的互動(dòng),而在穿線測(cè)試工具出現(xiàn)之前,由于沒有覆蓋率這個(gè)共享數(shù)據(jù),開發(fā)和測(cè)試人員之間很難充分的互動(dòng)和協(xié)作,因?yàn)殚_發(fā)人員并不清楚測(cè)試用例具體對(duì)應(yīng)的程序執(zhí)行邏輯,而測(cè)試人員也不清楚如何完成充分的測(cè)試。圖雙向追溯界面測(cè)試用例和代碼之前通過圍繞覆蓋率進(jìn)行互動(dòng)支持基于Java語言開發(fā)的android移動(dòng)應(yīng)用測(cè)試。圖手機(jī)上進(jìn)行操作,與之相連的電腦上TT實(shí)時(shí)收集測(cè)試信息累計(jì)覆蓋率技術(shù):如果存在多個(gè)被測(cè)程序版本的覆蓋率結(jié)果,TT可以實(shí)現(xiàn)對(duì)多個(gè)版本的覆蓋率進(jìn)行合并,并且在一個(gè)視圖中展示圖主界面CallGraph圖中選擇多個(gè)版本的累積覆蓋率展示支持在程序結(jié)構(gòu)圖、控制流程圖等多種圖形上顯示覆蓋率,測(cè)試以及開發(fā)人員可以從多個(gè)視角清晰的看到程序的覆蓋率情況,可以查看整體的覆蓋率,也可以查看單獨(dú)某一個(gè)函數(shù)的覆蓋率,甚至可以查看某一個(gè)分支的覆蓋執(zhí)行情況。圖覆蓋率展示圖覆蓋率展示圖覆蓋率展示圖覆蓋率展示支持分布式測(cè)試,多個(gè)測(cè)試人員測(cè)試產(chǎn)生的覆蓋率,可以在統(tǒng)一視圖中顯示。實(shí)現(xiàn)美軍標(biāo)DO-178BMC/DC白盒結(jié)構(gòu)測(cè)試技術(shù),實(shí)現(xiàn)100%覆蓋率,可視化復(fù)雜條件組合,使產(chǎn)品質(zhì)量大幅提升。 通過第二代
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年智能化物業(yè)管理合同8篇
- 2024年度物業(yè)社區(qū)教育培訓(xùn)合同3篇
- 2024上海房地產(chǎn)買賣合同裝修清單與約定3篇
- 辣椒醬訂購合同范例
- 2024年物業(yè)服務(wù)協(xié)議標(biāo)準(zhǔn)版3篇
- 《加味八珍湯對(duì)化療后骨髓抑制影響的臨床研究》
- 2024版保安行業(yè)安全防范技術(shù)研發(fā)與應(yīng)用聘用合同2篇
- 2024版農(nóng)產(chǎn)品冷鏈物流配送合同書-品質(zhì)保障3篇
- 2024版商場(chǎng)網(wǎng)絡(luò)信息安全合同:商場(chǎng)網(wǎng)絡(luò)安全防護(hù)與數(shù)據(jù)保護(hù)服務(wù)協(xié)議2篇
- 合伙投資合同模板寫
- 變壓器零序差動(dòng)保護(hù)原理及調(diào)試
- 分支機(jī)構(gòu)職場(chǎng)租賃裝修及家具設(shè)備管理辦法
- 智慧樹知到《大學(xué)生就業(yè)21問》見面課答案
- 鈾礦物資源庫所有的鈾礦總結(jié)
- 《20211國(guó)標(biāo)給排水專業(yè)圖集資料》05SS907-6 磚砌排水檢查井及跌水井
- 居家養(yǎng)老日間照料中心服務(wù)項(xiàng)目臺(tái)賬(共29頁)
- 小學(xué)數(shù)學(xué)答題卡模板(共4頁)
- 防損制度(酒店版)
- 保險(xiǎn)精算李秀芳1-5章習(xí)題答案
- 酒店裝修施工進(jìn)度表
- 綜合布線系統(tǒng)施工組織方案設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論