




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2022-4-221動態(tài)白盒測試動態(tài)白盒測試 2022-4-222動態(tài)白盒測試動態(tài)白盒測試?yán)貌榭创a功能和實(shí)現(xiàn)方式得到的信息來確定哪些要測試,哪些不要測試、如何開展測試。稱為結(jié)構(gòu)測試軟件測試員可以查看并使用代碼的內(nèi)部結(jié)構(gòu),從而設(shè)計(jì)和執(zhí)行測試。軟件的內(nèi)部結(jié)構(gòu)和運(yùn)作方式會影響測試手段動態(tài)白盒測試不僅是查看代碼,還包括直接測試和控制軟件2022-4-223測試包括測試包括直接測試底層功能、過程、子程序和庫以完整程序的方式從頂層測試軟件,但是根據(jù)對軟件運(yùn)行的了解調(diào)整測試用例從軟件獲得讀取變量和狀態(tài)信息的訪問權(quán),以便確定測試與預(yù)期結(jié)果是否相符,同時,強(qiáng)制軟件以正常測試難以實(shí)現(xiàn)的方式運(yùn)行估計(jì)執(zhí)行測試時“
2、命中”的代碼量和具體代碼,然后調(diào)整測試,去掉多余的,補(bǔ)充遺漏的2022-4-224動態(tài)白盒測試與調(diào)試動態(tài)白盒測試與調(diào)試發(fā)現(xiàn)缺陷和查看代碼的過程調(diào)試調(diào)試測試測試執(zhí)行者程序員測試員時機(jī)軟件產(chǎn)品提交前軟件產(chǎn)品提交后目標(biāo)修復(fù)軟件的問題尋找軟件缺陷依據(jù)根據(jù)設(shè)計(jì)依據(jù)根據(jù)測試用例2022-4-225軟件測試員的工作軟件測試員的工作 使用與程序員相同的工具或者編譯器 要使用代碼級調(diào)試器單步執(zhí)行程序,觀察變量、設(shè)置斷點(diǎn)條件 對于要求合法性檢查的獨(dú)立代碼模塊,還要編寫測試程序進(jìn)行測試2022-4-226分段測試分段測試單元測試集成測試2022-4-227測試策略測試策略測試應(yīng)該是系統(tǒng)地計(jì)劃和實(shí)施與管理。一個測試策
3、略有如下方面的要求: 測試開始于模塊級. 不同的測試技術(shù)應(yīng)該在不同的測試點(diǎn)及時使用 測試實(shí)施可以由開發(fā)人員,對大項(xiàng)目,由獨(dú)立的測試組做 測試和調(diào)試是兩種不同的活動,但是調(diào)試應(yīng)該溶入測試策略中1 驗(yàn)證和確認(rèn). 2 軟件測試的組成 3 軟件測試策略 4 測試完成的標(biāo)準(zhǔn) 2022-4-228驗(yàn)證和確認(rèn)測試就是驗(yàn)證和確認(rèn). 驗(yàn)證: 生產(chǎn)的產(chǎn)品是否正確? 確認(rèn):是否生產(chǎn)了正確的產(chǎn)品? 2022-4-229軟件測試的組織能夠使用獨(dú)立的測試組做測試工作.開發(fā)者做單元測試,有可能的話,可以做集成測試獨(dú)立的測試組完成驗(yàn)收測試和系統(tǒng)測試ITG 要成為規(guī)范的過程,制定出計(jì)劃和測試規(guī)程,需要匯報(bào)給SQA2022-4-
4、2210軟件測試策略系統(tǒng)開發(fā)的過程是:1.System engineering 2.Requirements 3.Design 4.Coding 測試工作是一個相反的過程: 單元測試:使用白盒測試技術(shù)的模塊級測試 測試模塊控制結(jié)構(gòu)的路徑, 達(dá)到完全覆蓋和最大限度地錯誤發(fā)現(xiàn)1. 集成測試驗(yàn)證程序構(gòu)造 大量使用黑盒測試技術(shù) 有時使用白盒測試來保證主要控制路徑的覆蓋性2022-4-2211軟件測試策略測試工作是一個相反的過程: 單元測試:使用白盒測試技術(shù)的模塊級測試 測試模塊控制結(jié)構(gòu)的路徑, 達(dá)到完全覆蓋和最大限度地錯誤發(fā)現(xiàn)1. 集成測試驗(yàn)證程序構(gòu)造 大量使用黑盒測試技術(shù) 有時使用白盒測試來保證主要
5、控制路徑的覆蓋性 驗(yàn)收測試軟件確認(rèn)標(biāo)準(zhǔn)的測試 (在需求分析時建立的) 經(jīng)常使用黑盒測試技術(shù) 系統(tǒng)測試計(jì)算機(jī)系統(tǒng)工程部分的測試 考慮軟件與其他系統(tǒng)組件的集成問題2022-4-2212軟件測試策略測試策略必須考慮風(fēng)險(xiǎn),同時指明一個方法能減低風(fēng)險(xiǎn) 測試因素:需要指明的風(fēng)險(xiǎn)正確性:數(shù)據(jù)輸入、處理、輸出是正確的文件完整性:使用了正確的文件,檢索和存儲數(shù)據(jù)是正確的授權(quán):指明權(quán)限,能夠?qū)嵭兄付ǖ墓δ軐徲?jì)跟蹤:證實(shí)處理過程發(fā)生的能力處理的繼續(xù)性:當(dāng)發(fā)生問題,能夠繼續(xù)處理服務(wù)級別:需要的結(jié)果能夠及時地提供給用戶訪問控制:防止誤用(偶然或者故意)2022-4-2213軟件測試策略測試策略必須考慮風(fēng)險(xiǎn),同時指明一個
6、方法能減低風(fēng)險(xiǎn) 測試因素:需要指明的風(fēng)險(xiǎn)符合性:確保系統(tǒng)是按照需求設(shè)計(jì)的可靠性:在一定期限運(yùn)行的能力易用性:易于使用和理解維護(hù)性:易于定位問題,并修改移植性:易于移到其他系統(tǒng)上偶合性:應(yīng)用內(nèi)部組件之間連接的能力性能:使用較少的系統(tǒng)資源、響應(yīng)時間易于使用2022-4-2214開發(fā)測試策略開發(fā)測試策略1. 選擇和測試因素,并分出等級2. 識別系統(tǒng)開發(fā)的階段3. 識別商業(yè)風(fēng)險(xiǎn) 開發(fā)者、主要用戶和測試者集體討論并同意4. 建立風(fēng)險(xiǎn)的矩陣 風(fēng)險(xiǎn)矩陣中能將測試用例與風(fēng)險(xiǎn)掛鉤2022-4-2215單元測試(單元測試(Unit Testing)檢驗(yàn)程序最小單位有無錯誤編碼完成后做的首要測試工作一般由編程人員完
7、成大多從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例多個程序模塊可以獨(dú)立開展測試工作2022-4-2216單元測試單元測試主要測試以下五個方面:主要測試以下五個方面:1 1、模塊接口:檢查進(jìn)出程序的數(shù)據(jù)流是否正確、模塊接口:檢查進(jìn)出程序的數(shù)據(jù)流是否正確 內(nèi)部檢查:傳輸參數(shù)的數(shù)目、屬性、單位、次序內(nèi)部檢查:傳輸參數(shù)的數(shù)目、屬性、單位、次序是否匹配;全程變量的定義是否一致;只做輸入是否匹配;全程變量的定義是否一致;只做輸入的變元有無被修改,等等。的變元有無被修改,等等。 外部檢查:打開、結(jié)束、關(guān)閉文件的操作;文件外部檢查:打開、結(jié)束、關(guān)閉文件的操作;文件和屬性;和屬性;IOIO錯誤處理;輸出拼寫,等等。錯誤處理
8、;輸出拼寫,等等。2 2、局部數(shù)據(jù)結(jié)構(gòu):內(nèi)部數(shù)據(jù)保持完整性、局部數(shù)據(jù)結(jié)構(gòu):內(nèi)部數(shù)據(jù)保持完整性 數(shù)據(jù)說明數(shù)據(jù)說明( (declaration)declaration);初始化與缺省值的設(shè)置;初始化與缺省值的設(shè)置;變量名拼寫;數(shù)據(jù)類型的相容性;上變量名拼寫;數(shù)據(jù)類型的相容性;上 下溢出及下溢出及地址異常,等等。地址異常,等等。2022-4-2217單元測試單元測試3 3、重要的執(zhí)行路徑:、重要的執(zhí)行路徑: 由于窮盡測試不可能,故通常針對最常見的由于窮盡測試不可能,故通常針對最常見的錯誤設(shè)計(jì)測試方案。較常見的錯誤有:錯誤設(shè)計(jì)測試方案。較常見的錯誤有: 計(jì)算次序問題計(jì)算次序問題 不同類型混合運(yùn)算(例:
9、比較類型不同的量)不同類型混合運(yùn)算(例:比較類型不同的量) 初值設(shè)置錯誤初值設(shè)置錯誤 精度問題(例:精度不夠?qū)е聝勺兞坎豢赡芟嗑葐栴}(例:精度不夠?qū)е聝勺兞坎豢赡芟嗟?,而程序中等待相等條件的出現(xiàn))等,而程序中等待相等條件的出現(xiàn)) 表達(dá)式錯誤表達(dá)式錯誤 循環(huán)終止條件錯誤(例:次數(shù)差循環(huán)終止條件錯誤(例:次數(shù)差1 1,或陷入死循,或陷入死循環(huán))環(huán))2022-4-22184 4、出錯處理:、出錯處理: 預(yù)見出現(xiàn)錯誤的條件,設(shè)置處理。較常見的問題有:預(yù)見出現(xiàn)錯誤的條件,設(shè)置處理。較常見的問題有: 輸出的錯誤信息難以理解,不能確定錯誤位置輸出的錯誤信息難以理解,不能確定錯誤位置 描述的錯誤與實(shí)際錯誤不
10、符描述的錯誤與實(shí)際錯誤不符 處理之前系統(tǒng)已經(jīng)干預(yù)處理之前系統(tǒng)已經(jīng)干預(yù) 處理不正確處理不正確單元測試單元測試2022-4-2219單元測試單元測試5 5、邊界條件、邊界條件 單元測試中最后,也可能是最重要的單元測試中最后,也可能是最重要的任務(wù),因?yàn)檐浖T谄溥吔缡АH蝿?wù),因?yàn)檐浖T谄溥吔缡А?022-4-22201 1、代碼審查、代碼審查( (code inspection)code inspection) Walk-through: Walk-through: 例如例如 Lucent Technologies Lucent Technologies 的測試策略,是的測試策略,是由三人一組
11、由三人一組( (包括包括 author, reader, author, reader, 和和recorderrecorder) ),逐行檢查逐行檢查源代碼。源代碼。 RehearsalRehearsal:由人扮演由人扮演computercomputer,模擬執(zhí)行情況。模擬執(zhí)行情況。 PEER REVIEWPEER REVIEW單元測試主要方法單元測試主要方法 優(yōu)點(diǎn)優(yōu)點(diǎn): : 一次審查可發(fā)現(xiàn)多個錯誤,不必改一個測一個。一次審查可發(fā)現(xiàn)多個錯誤,不必改一個測一個。2 2、制做測試軟件:、制做測試軟件:Stub Stub (存根)和存根)和 DriverDriver(驅(qū)動)軟件驅(qū)動)軟件的編寫,屬額
12、外開支。模塊高內(nèi)聚可簡化這一過程。的編寫,屬額外開支。模塊高內(nèi)聚可簡化這一過程。2022-4-2221OO中的單元測試中的單元測試最小的測試單元是封裝的類或?qū)ο箢惢驅(qū)ο蟀瑢傩院鸵唤M操作方法測試封裝在類中的操作和類的狀態(tài)變化2022-4-2222集成測試集成測試 ( (Integration Testing)Integration Testing)1 1、非漸增式測試、非漸增式測試 ( (Big-bang testing)Big-bang testing)Test A,B, C, DTestATestBTestCTestD2022-4-2223 Top-down testingTop-down
13、 testing第第1 1步:測試頂端模塊,用存根程序步:測試頂端模塊,用存根程序( (stub)stub)代替直接代替直接附屬的下層模塊附屬的下層模塊 Stub:Stub: to simulate the activity of the to simulate the activity of the component which is not yet ponent which is not yet tested.集成測試集成測試2 2、Incremental testing Incremental testing 的幾種策略的幾種策略MS1S22022-4-2224第第2 2步:根據(jù)深度優(yōu)
14、先或?qū)挾葍?yōu)先的策略,每次用一步:根據(jù)深度優(yōu)先或?qū)挾葍?yōu)先的策略,每次用一個實(shí)際模塊代換一個個實(shí)際模塊代換一個stubstub。第第3 3步:在結(jié)合進(jìn)一個模塊的同時進(jìn)行測試。步:在結(jié)合進(jìn)一個模塊的同時進(jìn)行測試。MS1S2M1S3S4M2S2第第4 4步:回歸測試步:回歸測試( (regression testing)regression testing)全部或全部或部分地重復(fù)以前做過的測試。部分地重復(fù)以前做過的測試。集成測試集成測試2022-4-2225 Bottom - up testingBottom - up testing第第1 1步:把低層模塊組合成族,每族實(shí)現(xiàn)一個子功能。步:把低層模塊
15、組合成族,每族實(shí)現(xiàn)一個子功能。第第2 2步:用驅(qū)動程序步:用驅(qū)動程序( (Driver)Driver)協(xié)調(diào)測試數(shù)據(jù)的協(xié)調(diào)測試數(shù)據(jù)的IOIO,測試子測試子功能族。功能族。優(yōu)點(diǎn):在早期即對主要控制及關(guān)鍵的抉擇進(jìn)行檢驗(yàn)。優(yōu)點(diǎn):在早期即對主要控制及關(guān)鍵的抉擇進(jìn)行檢驗(yàn)。問題:問題:StubStub只是對低層模塊的模擬,測試時沒有重要只是對低層模塊的模擬,測試時沒有重要的數(shù)據(jù)自下往上流,許多重要的測試須推遲進(jìn)行,的數(shù)據(jù)自下往上流,許多重要的測試須推遲進(jìn)行,而且在早期不能充分展開人力。而且在早期不能充分展開人力。Driver: to call a particular component and passe
16、s a test case to it.DM1M2集成測試集成測試2022-4-2226第第3 3步:去掉步:去掉DriverDriver,自下而上把子功能族合成更大自下而上把子功能族合成更大的子功能族。的子功能族。MMMMMMMMMMMMDDDDDD注意:注意:兩種策略的優(yōu)、缺兩種策略的優(yōu)、缺點(diǎn)剛好互補(bǔ),但單用其中點(diǎn)剛好互補(bǔ),但單用其中任一種都不實(shí)際,通常根任一種都不實(shí)際,通常根據(jù)軟件的特點(diǎn)將二者混用。據(jù)軟件的特點(diǎn)將二者混用。集成測試集成測試2022-4-2227集成測試集成測試兩種方式的比較:兩種方式的比較: Incremental testing Incremental testing
17、可以較早發(fā)現(xiàn)模塊間的接口錯誤;可以較早發(fā)現(xiàn)模塊間的接口錯誤;Big-bang Big-bang testing testing 最后才組裝,因此錯誤發(fā)現(xiàn)得晚。最后才組裝,因此錯誤發(fā)現(xiàn)得晚。 Big-bang testing Big-bang testing 中發(fā)現(xiàn)錯誤后難以診斷定位;中發(fā)現(xiàn)錯誤后難以診斷定位; Incremental Incremental testing testing 中,出現(xiàn)的錯誤往往跟最新加入的模塊有關(guān)。中,出現(xiàn)的錯誤往往跟最新加入的模塊有關(guān)。 Incremental testing Incremental testing 在不斷集成的過程中使模塊不斷在新的條在不斷集成
18、的過程中使模塊不斷在新的條件下受到新的檢測,測試更徹底。件下受到新的檢測,測試更徹底。 Incremental testing Incremental testing 較較 Big-bang testing Big-bang testing 費(fèi)時。費(fèi)時。 Big-bang testing Big-bang testing 可以同時并行測試所有模塊,能充分利用人力??梢酝瑫r并行測試所有模塊,能充分利用人力。2022-4-2228OO中的集成測試中的集成測試OO沒有層次控制結(jié)構(gòu),傳統(tǒng)方式不再適用OO集成測試的策略 基于線程的測試集成對回應(yīng)系統(tǒng)的一個輸入或事件所需的一組類,每個線程被集成并分別測試。 基于使用的測試首先,測試獨(dú)立類,從而開始構(gòu)造系統(tǒng)然后,測試下一層的依賴類,通過依賴類層次的測試序列逐步構(gòu)造完整的系統(tǒng)2022-4-2229驗(yàn)收測試驗(yàn)收測試( (Acceptance testing)Acceptance testing)任務(wù):驗(yàn)收軟件的有效性(功能和性能達(dá)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售公司業(yè)務(wù)員勞動合同協(xié)議
- 房屋按揭共同還款合同樣本2025
- 生態(tài)養(yǎng)殖基地租賃合同
- 特許經(jīng)營合同示范文本
- 新能源貨車租賃合同
- 采購合同管理:風(fēng)險(xiǎn)防范與應(yīng)對措施
- 合作建房借款合同(單位集體住房)
- 度產(chǎn)品試用合同協(xié)議
- 金屬冶煉安全管理課件
- 寵物營養(yǎng)與寵物骨骼健康考核試卷
- GB/T 5916-2008產(chǎn)蛋后備雞、產(chǎn)蛋雞、肉用仔雞配合飼料
- 《中小學(xué)教育懲戒規(guī)則》(試用)試題及答案
- GB/T 30516-2014高粘高彈道路瀝青
- GB/T 23723.1-2009起重機(jī)安全使用第1部分:總則
- 安全測試工具、蹭網(wǎng)利器wifiphisher新增漢化版
- 中學(xué)教育-中學(xué)生心理健康量表參考范本
- 外科病人體液失衡-課件
- 生物氧化 Biological Oxidation課件
- 電力拖動自動控制系統(tǒng)-運(yùn)動控制系統(tǒng)(第5版)習(xí)題答案
- 贛美版四年級美術(shù)下冊全冊課件匯總
- 工會專業(yè)知識考試題庫
評論
0/150
提交評論