日韩欧美国产精品,在线播放国产区,欧美人与物videos另类一,日韩经典欧美一区二区三区,成人午夜视频在线,无毒不卡,香蕉97碰碰视频免费

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPTX文檔下載  

軟件測試-5模擬對象課件

  • 資源ID:252611750       資源大?。?span id="iuyoeqwmke" class="font-tahoma">677.20KB        全文頁數(shù):44頁
  • 資源格式: PPTX        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

軟件測試-5模擬對象課件

單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,計算機科學(xué)與技術(shù)學(xué)院,模擬,對象,模擬對象,1,議程,基于狀態(tài)的測試和交互,測試,模擬,對象與樁對象的,區(qū)別,模擬對象的例子,同時使用模擬對象和樁對象,樁鏈,手寫,模擬對象與樁對象的問題,議程基于狀態(tài)的測試和交互測試,場景,被測代碼的復(fù)雜邏輯需要基于對其他對象的調(diào)用,被調(diào)用對象,可能,不返回結(jié)果,不保存狀態(tài),如何,測試對象間的,調(diào)用,模擬對象,場景被測代碼的復(fù)雜邏輯需要基于對其他對象的調(diào)用,什么是交互測試,交互測試用來測試一個對象如何向另一個對象傳遞消息,或者如何從其他對象接收消息,即測試對象如何與其他對象進行交互,什么是交互測試交互測試用來測試一個對象如何向另一個對象傳遞消,兩種測試的區(qū)分,交互測試,=,動作驅(qū)動測試,測試對象的某個特定動作,基于狀態(tài)的測試,=,結(jié)果驅(qū)動測試,測試某些最終結(jié)果是否,成立,通常,傾向于測試對象的最終結(jié)果,有時,對象間的交互就是最終結(jié)果,此時需要測試交互本身,如:調(diào)用一個,web,服務(wù),兩種測試的區(qū)分交互測試=動作驅(qū)動測試,示例比較,假設(shè):一個灌溉系統(tǒng),事先設(shè)定好時間讓它給院子里的樹木澆水,一天澆幾次,每次多少水,基于狀態(tài)的測試,在指定的一段時間內(nèi)(如:,24,小時)讓系統(tǒng)持續(xù)運行,結(jié)束后檢查樹木狀態(tài),土地的濕度夠不夠?樹的狀態(tài)好不好?,葉子夠不夠綠?等等,測試很難操作,示例比較假設(shè):一個灌溉系統(tǒng),事先設(shè)定好時間讓它給院子里的樹木,交互測試,在水龍頭末端安裝一個設(shè)備,記錄灌溉的開始時間與結(jié)束時間,以及每次灌溉的用水量,系統(tǒng)運行結(jié)束后,不必檢查樹木,只需檢查該設(shè)備調(diào)用次數(shù)是否正確,每次用水量是否正確,交互測試,實際上,無需真正的樹木以測試系統(tǒng),可改變灌溉單元的時鐘,讓它認為澆水時間到了,這樣它就會在你指定的任何時間澆水,而不必等很長時間才能確定系統(tǒng)是否正常工作,實際上,無需真正的樹木以測試系統(tǒng),模擬對象,用來記錄灌溉信息的是什么設(shè)備?,可以說它是一個偽水龍頭,或樁對象,比樁對象更智能,記錄其每次調(diào)用的樁對象,模擬對象的職責(zé),模擬對象,系統(tǒng)中的一個偽對象,用來決定一個單元測試是通過還是失敗,通過驗證被測對象和偽對象之間是否進行預(yù)期的交互來判斷,模擬對象用來記錄灌溉信息的是什么設(shè)備?,模擬對象的用法與樁對象很相似,模擬對象比樁對象做的事情更多,保存通信歷史信息,驗證這些記錄,模擬對象的用法與樁對象很相似,區(qū)別,基本區(qū)別,樁對象不會使測試失敗,模擬對象可以導(dǎo)致測試失敗,樁,對象用來替換依賴項,確保測試順利運行,斷言是針對被測類的,測試利用模擬對象來驗證測試是否失敗,斷言是針對模擬對象的,區(qū)別基本區(qū)別,使用樁對象的交互圖,使用樁對象的交互圖,使用模擬對象的交互圖,使用模擬對象的交互圖,業(yè)務(wù)背景,增加,LogAnalyzer,需求,當(dāng)接收到一個長度太短的文件名,就發(fā)送一條錯誤信息給某個外部的,web,服務(wù),測試遇到的問題,Web,服務(wù)未實現(xiàn),直接調(diào)用該服務(wù)會導(dǎo)致測試時間過長,業(yè)務(wù)背景增加LogAnalyzer需求,重構(gòu)設(shè)計,新建接口,包含調(diào)用,web,服務(wù)所需的方法,便于新建模擬對象,測試中使用該接口而不是直接調(diào)用,web,服務(wù),重構(gòu)設(shè)計新建接口,接口,接口,模擬對象,模擬對象,被測類,被測類,測試代碼,測試代碼,測試策略,沒有在模擬對象代碼內(nèi)部編寫測試,原因,希望重用該模擬對象,以便于對消息做不同的斷言,若在模擬對象內(nèi)部放置斷言,那么閱讀的人無法理解在斷言什么,隱藏測試代碼的重要信息,會導(dǎo)致測試的可讀性和可維護性下降,測試策略沒有在模擬對象代碼內(nèi)部編寫測試,原因,業(yè)務(wù)背景,LogAnalyzer,調(diào)用,web,服務(wù),如果,Web,服務(wù)拋出錯誤,,LogAnalyzer,必須記錄該錯誤,發(fā)送郵件給管理員,業(yè)務(wù)背景LogAnalyzer調(diào)用web服務(wù),兩個外部依賴的交互圖,兩個外部依賴的交互圖,被測類,被測類,面對的問題,如何測試,LogAnalyzer,在,web,服務(wù)拋出異常時正確調(diào)用電子郵件服務(wù)?,如何替換,web,服務(wù)?,如何模擬,web,服務(wù)拋出的異常?,如何知道電子郵件是否正確調(diào)用?,面對的問題如何測試LogAnalyzer在web服務(wù)拋出異常,解決思路,使用樁對象,替換,web,服務(wù),模擬,web,服務(wù)拋出異常,使用模擬對象,替換郵件服務(wù),解決思路使用樁對象,分析,樁對象,模擬,web,服務(wù)拋出異常,用來保證測試正確運行,模擬對象,驗證是否向電子郵件服務(wù)傳入正確的參數(shù),針對它做斷言,驗證它是否被正確調(diào)用,分析樁對象,測試交互圖,測試交互圖,接口,接口,樁對象,web,服務(wù),樁對象web服務(wù),模擬對象,模擬對象,被測類,被測類,測試代碼,測試代碼,問題,為什么要在一個測試中做多次斷言?,將測試拆分為,3,個測試,每個測試一個斷言,會更簡單?可以把,3,個斷言組合成一個邏輯測試嗎?,為每個測試或測試類手工新建模擬對象和樁對象很枯燥乏味,如何克服?,更,重要的是:在一個測試中可以使用多少個樁對象和模擬對象?,問題為什么要在一個測試中做多次斷言?,原則,一個測試只測一件事,每個測試只能有一個模擬對象,每個測試可以有多個樁對象,一,個測試中存在多個模擬對象意味著正在測試多件事,這會導(dǎo)致測試變得復(fù)雜或脆弱,在遇到更復(fù)雜的測試時,首先找到模擬對象,其他的就是樁對象,前者影響斷言,原則一個測試只測一件事,樁鏈,有時,我們希望從一個偽組件中返回另外一個偽組件,從而在測試中形成了一個小小的樁鏈,示例代碼,IServiceFactory factory=GetServiceFactory(),Iservice service=factory.GetService(),String conn=GlobalUtil.Configuration.DBConfiguration.ConnectionString,樁鏈有時,我們希望從一個偽組件中返回另外一個偽組件,從而在測,弊端,假設(shè)你想在測試時替換連接字符串,你可以將,Configuration,屬性設(shè)計為一個樁對象,然后測試時替換它,這個技術(shù)很強大,但是否不利于重構(gòu)?,弊端假設(shè)你想在測試時替換連接字符串,你可以將Configur,虛方法,String,conn=GetConnString(),Proteced virtual string GetConnString(),return GlobalUtil.Configuration.DBConfiguration.ConnectionString,虛方法String conn=GetConnString,測試時,重寫該方法,這種方式,能增強代碼的可讀性和可維護性,不用為插樁,新增接口,測試時,重寫該方法,手寫模擬對象和樁對象的問題,編寫模擬對象和樁對象很費時,如果類和接口有很多方法、屬性和事件,將很難為它們編寫模擬對象和樁對象,如果模擬的方法被多次調(diào)用,一旦涉及狀態(tài)保存問題,就需要寫很多代碼(方法內(nèi)部),手寫模擬對象和樁對象的問題編寫模擬對象和樁對象很費時,如果要驗證一個方法的所有參數(shù),就需要寫多個斷言,第一,個斷言失敗時,程序拋出異常,從而導(dǎo)致后續(xù)斷言無法執(zhí)行,很難在其他測試中重用模擬對象和樁對象,如果要驗證一個方法的所有參數(shù),就需要寫多個斷言,解決方案,采用隔離框架,下,一講介紹,隔離框架,Rhino Mock,解決方案采用隔離框架,小結(jié),基于狀態(tài)的測試和交互測試,前者,=,結(jié)果驅(qū)動測試,后者,=,動作驅(qū)動測試,模擬對象與樁對象的區(qū)別,模擬對象測試依賴項的交互,樁對象返回狀態(tài),模擬對象會導(dǎo)致斷言失敗,樁對象則不會,小結(jié)基于狀態(tài)的測試和交互測試,測試交互圖,測試交互圖,使用,同時使用樁對象與模擬對象,每個測試最多只能有一個模擬對象,每個測試可有多個樁對象,采用樁鏈時,優(yōu)先考慮采用虛方法注入樁對象,提高代碼可讀性與可維護性,避免過度使用模擬對象,使用同時使用樁對象與模擬對象,

注意事項

本文(軟件測試-5模擬對象課件)為本站會員(20****08)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!