




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第五章第五章 軟件測(cè)試與維護(hù)軟件測(cè)試與維護(hù)Page 2任務(wù)任務(wù)5.1SAGM系統(tǒng)登錄測(cè)試系統(tǒng)登錄測(cè)試Page 35.1.1 案例描述案例描述 教職工津貼教職工津貼系統(tǒng)開發(fā)完畢,需要進(jìn)行功能測(cè)試,本系統(tǒng)開發(fā)完畢,需要進(jìn)行功能測(cè)試,本案例要求進(jìn)行登錄功能測(cè)試,設(shè)計(jì)詳細(xì)的測(cè)試用例,完案例要求進(jìn)行登錄功能測(cè)試,設(shè)計(jì)詳細(xì)的測(cè)試用例,完成黑盒測(cè)試。成黑盒測(cè)試。Page 45.1.2 案例分析案例分析Page 55.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備IEEE (1983) 729 IEEE (1983) 729 軟件缺陷一個(gè)標(biāo)準(zhǔn)的定義:軟件缺陷一個(gè)標(biāo)準(zhǔn)的定義:p 從產(chǎn)品內(nèi)部看,軟件缺陷是軟件產(chǎn)品開發(fā)或維護(hù)過(guò)程中所存在
2、的錯(cuò)誤、毛病等各種問(wèn)題;p 從外部看,軟件缺陷是系統(tǒng)所需要實(shí)現(xiàn)的某種功能的失效或違背。軟件缺陷的主要類型軟件缺陷的主要類型/ /現(xiàn)象:現(xiàn)象:p 功能、特性沒(méi)有實(shí)現(xiàn)或部分實(shí)現(xiàn)p 設(shè)計(jì)不合理,存在缺陷p 實(shí)際結(jié)果和預(yù)期結(jié)果不一致p 運(yùn)行出錯(cuò),包括運(yùn)行中斷、系統(tǒng)崩潰、界面混亂p 數(shù)據(jù)結(jié)果不正確、精度不夠p 用戶不能接受的其他問(wèn)題,如存取時(shí)間過(guò)長(zhǎng)、界面不美觀 Page 65.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件缺陷的產(chǎn)生 技術(shù)問(wèn)題技術(shù)問(wèn)題算法錯(cuò)誤,語(yǔ)法錯(cuò)誤,計(jì)算和精度問(wèn)題,接口參數(shù)傳遞不匹配 團(tuán)隊(duì)工作團(tuán)隊(duì)工作誤解、溝通不充分 軟件本身軟件本身文檔錯(cuò)誤、用戶使用場(chǎng)合(user scenario),時(shí)間上不協(xié)調(diào)、
3、或不一致性所帶來(lái)的問(wèn)題系統(tǒng)的自我恢復(fù)或數(shù)據(jù)的異地備份、災(zāi)難性恢復(fù)等問(wèn)題Page 75.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件缺陷構(gòu)成Page 85.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備在真正的程序測(cè)試之前,通過(guò)審查、評(píng)審會(huì)可以發(fā)現(xiàn)更多的缺陷。規(guī)格說(shuō)明書的缺陷會(huì)在需求分析審查、設(shè)計(jì)、編碼、測(cè)試等過(guò)程中會(huì)逐步發(fā)現(xiàn),而不能在需求分析一個(gè)階段發(fā)現(xiàn)Page 95.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備缺陷成本Page 105.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試的基本方法根據(jù)根據(jù)G.J. Myers觀點(diǎn)觀點(diǎn)-軟件測(cè)試的目:n 軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程n 一個(gè)好的測(cè)試能夠在第一時(shí)間發(fā)現(xiàn)程序中存
4、在的錯(cuò)誤一個(gè)好的測(cè)試能夠在第一時(shí)間發(fā)現(xiàn)程序中存在的錯(cuò)誤n 一個(gè)好的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。一個(gè)好的測(cè)試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。Page 115.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試誤區(qū)p 誤區(qū)一:誤區(qū)一:如果發(fā)布出去的軟件有質(zhì)量問(wèn)題,都是軟件測(cè)試人員的錯(cuò)p 誤區(qū)二:誤區(qū)二:軟件測(cè)試技術(shù)要求不高,至少比編程容易多了p 誤區(qū)三:誤區(qū)三:有時(shí)間就多測(cè)試一些,來(lái)不及就少測(cè)試一些 p 誤區(qū)四:誤區(qū)四:軟件測(cè)試是測(cè)試人員的事,與開發(fā)人員無(wú)關(guān) p 誤區(qū)五:誤區(qū)五:根據(jù)軟件開發(fā)瀑布模型,軟件測(cè)試是開發(fā)后期的一個(gè)階段Page 125.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試的原則 所有測(cè)試的標(biāo)準(zhǔn)都是
5、建立在用戶需求用戶需求之上。 軟件測(cè)試必須基于“質(zhì)量第一質(zhì)量第一”的思想去開展各項(xiàng)工作,當(dāng)時(shí)間和質(zhì)量沖突時(shí),時(shí)間要服從質(zhì)量。 事先定義好產(chǎn)品的質(zhì)量標(biāo)準(zhǔn)質(zhì)量標(biāo)準(zhǔn),只有有了質(zhì)量標(biāo)準(zhǔn),才能根據(jù)測(cè)試的結(jié)果,對(duì)產(chǎn)品的質(zhì)量進(jìn)行分析和評(píng)估。 軟件項(xiàng)目一啟動(dòng),軟件測(cè)試也就是開始軟件項(xiàng)目一啟動(dòng),軟件測(cè)試也就是開始,而不是等程序?qū)懲?,才開始進(jìn)行測(cè)試。 窮舉測(cè)試是不可能的窮舉測(cè)試是不可能的。甚至一個(gè)大小適度的程序,其路徑排列的數(shù)量也非常大,因此,在測(cè)試中不可能運(yùn)行路徑的每一種組合。 Page 135.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試的原則 第三方進(jìn)行測(cè)試會(huì)更客觀,更有效。 軟件測(cè)試計(jì)劃是做好軟件測(cè)試工作的前提。 測(cè)
6、試用例是設(shè)計(jì)出來(lái)的,不是寫出來(lái)的,所以要根據(jù)測(cè)試的目的,采用相應(yīng)的方法去設(shè)計(jì)測(cè)試用例,從而提高測(cè)試的效率,更多地發(fā)現(xiàn)錯(cuò)誤,提高程序的可靠性。 對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。一般來(lái)說(shuō),一段程序中已發(fā)現(xiàn)的錯(cuò)誤數(shù)越多,其中存在的錯(cuò)誤概率也就越大。 重視文檔,妥善保存一切測(cè)試過(guò)程文檔(測(cè)試計(jì)劃、測(cè)試用例、測(cè)試報(bào)告等)Page 145.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試的原則l 應(yīng)當(dāng)把“盡早和不斷地測(cè)試”作為測(cè)試人員的座右銘l 回歸測(cè)試的關(guān)聯(lián)性一定要引起充分的注意,修改一個(gè)錯(cuò)誤而引起更多錯(cuò)誤出現(xiàn)的現(xiàn)象并不少見(jiàn)l 測(cè)試應(yīng)從“小規(guī)?!遍_始,逐步轉(zhuǎn)向“大規(guī)?!薄 不可將測(cè)試用例置之度外,排除隨意
7、性。l 必須徹底檢查每一個(gè)測(cè)試結(jié)果。l 一定要注意測(cè)試中的錯(cuò)誤集中發(fā)生現(xiàn)象,這和程序員的編程水平和習(xí)慣有很大的關(guān)系l 對(duì)測(cè)試錯(cuò)誤結(jié)果一定要有一個(gè)確認(rèn)的過(guò)程。Page 155.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備測(cè)試方法 黑盒子和白盒子黑盒子和白盒子 靜態(tài)的和動(dòng)態(tài)的靜態(tài)的和動(dòng)態(tài)的 文檔、代碼審查文檔、代碼審查 數(shù)據(jù)輸入邊界條件法數(shù)據(jù)輸入邊界條件法 等價(jià)劃分、數(shù)據(jù)流程圖等價(jià)劃分、數(shù)據(jù)流程圖 狀態(tài)變換圖狀態(tài)變換圖 邏輯路徑法邏輯路徑法Page 165.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備黑盒子和白盒子功能測(cè)試功能測(cè)試數(shù)據(jù)驅(qū)動(dòng)測(cè)試數(shù)據(jù)驅(qū)動(dòng)測(cè)試 結(jié)構(gòu)測(cè)試結(jié)構(gòu)測(cè)試邏輯驅(qū)動(dòng)測(cè)試邏輯驅(qū)動(dòng)測(cè)試 客戶需求事件驅(qū)動(dòng)輸入輸出Page 175
8、.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備靜態(tài)的和動(dòng)態(tài)的主持人主持人作者記錄員列席人員內(nèi)審員內(nèi)審員技術(shù)專業(yè)人員用戶代表不正式正式互審 走讀 審查會(huì)議運(yùn)行程序運(yùn)行程序Page 185.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備自動(dòng)測(cè)試和手工測(cè)試手工模擬用戶手工模擬用戶操作操作Page 195.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟件測(cè)試分類方法方法目標(biāo)目標(biāo)/特性特性單元測(cè)試單元測(cè)試系統(tǒng)測(cè)試系統(tǒng)測(cè)試驗(yàn)收測(cè)試驗(yàn)收測(cè)試性能測(cè)試性能測(cè)試強(qiáng)壯性測(cè)試強(qiáng)壯性測(cè)試功能測(cè)試功能測(cè)試白盒測(cè)試白盒測(cè)試黑盒測(cè)試黑盒測(cè)試測(cè)試階段或?qū)哟螠y(cè)試階段或?qū)哟芜m用性測(cè)試適用性測(cè)試可靠性測(cè)試可靠性測(cè)試集成測(cè)試集成測(cè)試安全性測(cè)試安全性測(cè)試Page 205.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備軟
9、件測(cè)試階段階 段輸 入 輸 出 需求分析需求定義, 市場(chǎng)分析文檔, 相關(guān)技術(shù)文檔市場(chǎng)需求分析會(huì)議記要 , 功能設(shè)計(jì), 技術(shù)設(shè)計(jì)設(shè)計(jì)審查 市場(chǎng)需求文檔, 技術(shù)設(shè)計(jì)文檔 測(cè)試計(jì)劃, 測(cè)試用例功能驗(yàn)證 代碼完成文件包,功能詳細(xì)設(shè)計(jì)說(shuō)明書最終技術(shù)文檔完整測(cè)試用例,完備的測(cè)試計(jì)劃, 缺陷報(bào)告,功能驗(yàn)證測(cè)試報(bào)告系統(tǒng)測(cè)試代碼修改后的文件包 完整測(cè)試用例,完備的測(cè)試計(jì)劃 缺陷報(bào)告缺陷狀態(tài)報(bào)告項(xiàng)目階段報(bào)告確認(rèn)測(cè)試代碼凍結(jié)文件包確認(rèn)測(cè)試用例缺陷狀態(tài)報(bào)告缺陷報(bào)告審查版本審查版本發(fā)布 代碼發(fā)布文件包 測(cè)試計(jì)劃?rùn)z查清單當(dāng)前版本已知問(wèn)題的清單版本發(fā)布報(bào)告Page 215.1.3 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備測(cè)試階段(SDLC)Pag
10、e 225.1.4 案例實(shí)現(xiàn)案例實(shí)現(xiàn)需求:用戶名長(zhǎng)度為用戶名長(zhǎng)度為6 6至至1010位(含位(含6 6位和位和1010位)位)用戶名由字符(用戶名由字符(a-za-z、A-ZA-Z)和數(shù)字()和數(shù)字(0-90-9)組成)組成不能為空、空格和特殊字符不能為空、空格和特殊字符密碼規(guī)則同用戶名規(guī)則密碼規(guī)則同用戶名規(guī)則Page 235.1.4 案例實(shí)現(xiàn)案例實(shí)現(xiàn) 簡(jiǎn)單:能夠正確處理用戶登錄簡(jiǎn)單:能夠正確處理用戶登錄一般:一般:l輸入正確的用戶名和密碼可以進(jìn)入系統(tǒng)輸入正確的用戶名和密碼可以進(jìn)入系統(tǒng)l輸入用戶名或密碼錯(cuò)誤無(wú)法進(jìn)入系統(tǒng)輸入用戶名或密碼錯(cuò)誤無(wú)法進(jìn)入系統(tǒng)Page 245.1.4 案例實(shí)現(xiàn)案例實(shí)現(xiàn)n
11、 詳細(xì):用戶身份合法性驗(yàn)證n用戶名驗(yàn)證n正常用戶名的輸入n含有特殊字符的用戶名n為空或含有空格n字母大小寫無(wú)關(guān)性測(cè)試n非法用戶n密碼驗(yàn)證n正常密碼n含有特殊字符的密碼n字母大小寫敏感性測(cè)試n為空或含有空格n密碼有效期驗(yàn)證n密碼保存n忘記密碼后找回密碼功能Page 255.1.4 案例實(shí)現(xiàn)案例實(shí)現(xiàn)步驟:1、輸入、輸入2、輸入、輸入3、點(diǎn)擊、點(diǎn)擊OK按鈕按鈕結(jié)果:Page 265.1.4 案例實(shí)現(xiàn)案例實(shí)現(xiàn)“用戶名”“密碼”“預(yù)期結(jié)果”說(shuō)明“user10”“pass10”進(jìn)入系統(tǒng)正確的用戶名和密碼(6位)“user789”“pass789”進(jìn)入系統(tǒng)正確的用戶名和密碼(7-9位)“user000010
12、”“pass000010”進(jìn)入系統(tǒng)正確的用戶名和密碼(10位)“”“pass”提示輸入用戶名不能進(jìn)入系統(tǒng)用戶名為空“空格”“pass”提示無(wú)效用戶名不能進(jìn)入系統(tǒng)用戶名為空格“user”“userpass”提示用戶名太短不能進(jìn)入系統(tǒng)用戶名小于6位“user0000011”“userpass”提示用戶名太長(zhǎng)不能進(jìn)入系統(tǒng)用戶名大于10位Page 275.1.5 拓展訓(xùn)練拓展訓(xùn)練 教職工津貼教職工津貼系統(tǒng)中,完成用戶添加、修改、刪除的系統(tǒng)中,完成用戶添加、修改、刪除的功能測(cè)試,設(shè)計(jì)詳細(xì)的測(cè)試用例,完成黑盒測(cè)試。功能測(cè)試,設(shè)計(jì)詳細(xì)的測(cè)試用例,完成黑盒測(cè)試。Page 28任務(wù)任務(wù)5.2SAGM系統(tǒng)測(cè)試用例
13、設(shè)計(jì)系統(tǒng)測(cè)試用例設(shè)計(jì)Page 295.2.2 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備黑盒測(cè)試法與白盒測(cè)試法 1. 1. 黑盒法黑盒法 該方法把被測(cè)試對(duì)象看成一個(gè)黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,只在軟件的接口處進(jìn)行測(cè)試, 依據(jù)需求說(shuō)明書,檢查程序是否滿足功能要求。因此, 黑盒測(cè)試又稱為功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試。 通過(guò)黑盒測(cè)試主要發(fā)現(xiàn)以下錯(cuò)誤: (1) 是否有不正確或遺漏了的功能。 (2) 在接口上,能否正確地接受輸入數(shù)據(jù), 能否產(chǎn)生正確的輸出信息。 (3) 訪問(wèn)外部信息是否有錯(cuò)。 (4) 性能上是否滿足要求等。 Page 305.2.2 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備黑盒測(cè)試法與白盒測(cè)試法 用黑盒法測(cè)試時(shí),必須在
14、所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù)。是否要對(duì)每個(gè)數(shù)據(jù)都進(jìn)行窮舉測(cè)試呢?例如測(cè)試一個(gè)程序,需輸入 3 個(gè)整數(shù)值。微機(jī)上,每個(gè)整數(shù)可能取值有216個(gè),3個(gè)整數(shù)值的排列組合數(shù)為216216216=24831014。假設(shè)此程序執(zhí)行一次為一毫秒, 用這些所有的數(shù)據(jù)去測(cè)試要用1萬(wàn)年!但這還不能算窮舉測(cè)試, 還要輸入一切不合法的數(shù)據(jù)??梢?jiàn),窮舉地輸入測(cè)試數(shù)據(jù)進(jìn)行黑盒測(cè)試是不可能的。 2. 2. 白盒法白盒法 該方法把測(cè)試對(duì)象看作一個(gè)打開的盒子, 測(cè)試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ), 對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò), 實(shí)際的運(yùn)行狀
15、態(tài)與預(yù)期的狀態(tài)是否一致。 Page 315.2.2 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備黑盒測(cè)試法與白盒測(cè)試法 用黑盒法測(cè)試時(shí),必須在所有可能的輸入條件和輸出條件中確定測(cè)試數(shù)據(jù)。是否要對(duì)每個(gè)數(shù)據(jù)都進(jìn)行窮舉測(cè)試呢?例如測(cè)試一個(gè)程序,需輸入 3 個(gè)整數(shù)值。微機(jī)上,每個(gè)整數(shù)可能取值有216個(gè),3個(gè)整數(shù)值的排列組合數(shù)為216216216=24831014。假設(shè)此程序執(zhí)行一次為一毫秒, 用這些所有的數(shù)據(jù)去測(cè)試要用1萬(wàn)年!但這還不能算窮舉測(cè)試, 還要輸入一切不合法的數(shù)據(jù)??梢?jiàn),窮舉地輸入測(cè)試數(shù)據(jù)進(jìn)行黑盒測(cè)試是不可能的。 2. 2. 白盒法白盒法 該方法把測(cè)試對(duì)象看作一個(gè)打開的盒子, 測(cè)試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,以
16、檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ), 對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò), 實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。 Page 325.2.2 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備黑盒測(cè)試法與白盒測(cè)試法 白盒法也不可能進(jìn)行窮舉測(cè)試,企圖遍歷所有的路徑, 往往是做不到的。如測(cè)試一個(gè)循環(huán)20次的嵌套的IF語(yǔ)句, 循環(huán)體中有5條路徑。測(cè)試這個(gè)程序的執(zhí)行路徑為520, 約為1014, 如果每毫秒完成一個(gè)路徑的測(cè)試, 測(cè)試此程序需3170年! 對(duì)于白盒測(cè)試,即使每條路徑都測(cè)試了,程序仍可能有錯(cuò)。 例如要求編寫一個(gè)升序的程序,錯(cuò)編成降序程序(功能錯(cuò)), 就是窮舉路徑測(cè)試也無(wú)法發(fā)現(xiàn)。再如由于疏忽漏寫了路徑
17、, 白盒測(cè)試也發(fā)現(xiàn)不了。 所以,黑盒法和白盒法都不能使測(cè)試達(dá)到徹底。為了用有限的測(cè)試發(fā)現(xiàn)更多的錯(cuò)誤,需精心設(shè)計(jì)測(cè)試用例。黑盒法、 白盒法是設(shè)計(jì)測(cè)試用例的基本策略,每一種方法對(duì)應(yīng)著多種設(shè)計(jì)測(cè)試用例的技術(shù),每種技術(shù)可達(dá)到一定的軟件質(zhì)量標(biāo)準(zhǔn)要求。 下面分別介紹這兩類方法對(duì)應(yīng)的各種測(cè)試用例設(shè)計(jì)技術(shù)。 Page 33白盒技術(shù)白盒技術(shù) 由于白盒測(cè)試是結(jié)構(gòu)測(cè)試,所以被測(cè)對(duì)象基本上是源程序, 以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎(chǔ)設(shè)計(jì)測(cè)試用例。 1. 邏輯覆蓋邏輯覆蓋 追求程序內(nèi)部的邏輯結(jié)構(gòu)覆蓋程度,當(dāng)程序中有循環(huán)時(shí), 覆蓋每條路徑是不可能的,要設(shè)計(jì)使覆蓋程度較高的或覆蓋最有代表性的路徑的測(cè)試用例。下面根據(jù)圖5.1所示的
18、程序,分別討論幾種常用的覆蓋技術(shù)。 5.2.2 知識(shí)準(zhǔn)備知識(shí)準(zhǔn)備Page 34 1) 語(yǔ)句覆蓋 為了提高發(fā)現(xiàn)錯(cuò)誤的可能性,在測(cè)試時(shí)應(yīng)該執(zhí)行到程序中的每一個(gè)語(yǔ)句。 語(yǔ)句覆蓋是指設(shè)計(jì)足夠的測(cè)試用例,使被測(cè)程序中每個(gè)語(yǔ)句至少執(zhí)行一次。 如圖5.1是一個(gè)被測(cè)程序的程序流程圖。 如果能測(cè)試路徑124,就保證每個(gè)語(yǔ)句至少執(zhí)行一次,選擇測(cè)試數(shù)據(jù)為 a=2 , b=0, x=3輸入此組數(shù)據(jù), 就能達(dá)到語(yǔ)句覆蓋標(biāo)準(zhǔn)。 Page 35 2) 判定覆蓋 判定覆蓋指設(shè)計(jì)足夠的測(cè)試用例, 使得被測(cè)程序中每個(gè)判定表達(dá)式至少獲得一次“真”值和“假”值,從而使程序的每一個(gè)分支至少都通過(guò)一次, 因此判定覆蓋也稱分支覆蓋。 設(shè)計(jì)
19、測(cè)試用例,只要通過(guò)路徑124, 135或者125, 134, 就達(dá)到判定覆蓋標(biāo)準(zhǔn)。 選擇兩組數(shù)據(jù): a=3, b=0, x=1(通過(guò)路徑125) a=2, b=1, x=2(通過(guò)路徑134) 對(duì)于多分支(嵌套IF, CASE)的判定,判定覆蓋要使得每一個(gè)判定表達(dá)式獲得每一種可能的值來(lái)測(cè)試。 Page 36 判定覆蓋較語(yǔ)句覆蓋嚴(yán)格,因?yàn)槿绻ㄟ^(guò)了各個(gè)分支, 則各個(gè)語(yǔ)句也執(zhí)行了。但該測(cè)試仍不充分,上述數(shù)據(jù)只覆蓋了全部路徑的一半, 如果將第二個(gè)判定表達(dá)式中的“x1”錯(cuò)寫成“x1”,仍查不出錯(cuò)誤。 3) 條件覆蓋 條件覆蓋指設(shè)計(jì)足夠的測(cè)試用例, 使得判定表達(dá)式中每個(gè)條件的各種可能的值至少出現(xiàn)一次。那么
20、,上述程序中有 4 個(gè)條件: a1, b=0, a=2, x1Page 37 3) 條件覆蓋 條件覆蓋指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式中每個(gè)條件的各種可能的值至少出現(xiàn)一次。那么,上述程序中有 4 個(gè)條件: a1, b=0, a=2, x1 要選擇足夠的數(shù)據(jù), 使得圖5.1中的第一個(gè)判定表達(dá)式出現(xiàn)結(jié)果: a1, b=0 a1, b0 并使第二個(gè)判定表達(dá)式出現(xiàn)結(jié)果: Page 38 a=2, x1 a2, x1 才能達(dá)到條件覆蓋的標(biāo)準(zhǔn)。 為滿足上述要求, 選擇以下兩組測(cè)試數(shù)據(jù): a=2, b=0, x=3(滿足a1, b=0, a=2, x1, 通過(guò)路徑124) a=1, b=1, x=1(滿
21、足a1, b0, a2, x1,通過(guò)路徑135) 以上兩組測(cè)試用例不但覆蓋了判定表達(dá)式中所有條件的可能取值,而且覆蓋了所有判斷的取“真”分支和取“假”分支。 在這種情況下,條件覆蓋強(qiáng)于判定覆蓋。但也有例外情況,設(shè)選擇另外兩組測(cè)試數(shù)據(jù): Page 39 覆蓋了所有條件的結(jié)果,滿足條件覆蓋。但只覆蓋了第一個(gè)判定表達(dá)式的取“假”分支和第二個(gè)判定表達(dá)式的取“真”分支, 即只測(cè)試了路徑134,此例不滿足判定覆蓋。 所以滿足條件覆蓋不一定滿足判定覆蓋,為了解決此問(wèn)題, 需要對(duì)條件和分支兼顧。 4) 判定/條件覆蓋 該覆蓋標(biāo)準(zhǔn)指設(shè)計(jì)足夠的測(cè)試用例,使得判定表達(dá)式中的每個(gè)條件的所有可能取值至少出現(xiàn)一次,并使每
22、個(gè)判定表達(dá)式所有可能的結(jié)果也至少出現(xiàn)一次。對(duì)于上述程序,選擇以下兩組測(cè)試用例滿足判定/條件覆蓋:Page 40 a=2, b=0, x=3 a=1, b=1, x=1 這也是滿足條件覆蓋選取的數(shù)據(jù)。 從表面上看,判定/條件覆蓋測(cè)試了所有條件的取值,但實(shí)際上條件組合中的某些條件會(huì)抑制其他條件。例如在含有“與”運(yùn)算的判定表達(dá)式中, 第一個(gè)條件為“假”,則這個(gè)表達(dá)式中的后面幾個(gè)條件均不起作用;在含有“或”運(yùn)算的表達(dá)式中, 第一個(gè)條件為“真”,后邊其他條件也不起作用,因此,后邊其他條件若寫錯(cuò)就測(cè)不出來(lái)。 Page 41 5) 條件組合覆蓋 條件組合覆蓋是比較強(qiáng)的覆蓋標(biāo)準(zhǔn),它是指設(shè)計(jì)足夠的測(cè)試用例,使得
23、每個(gè)判定表達(dá)式中條件的各種可能的值的組合都至少出現(xiàn)一次。 上述程序中, 兩個(gè)判定表達(dá)式共有 4 個(gè)條件, 因此有 8 種組合: a1, b=0 a1, b0 a1, b=0 a1, b0 a=2, x1 a=2, x1 a2, x1 a2, x1 Page 42 下面 4 組測(cè)試用例就可以滿足條件組合覆蓋標(biāo)準(zhǔn): a=2, b=0, x=2 覆蓋條件組合和, 通過(guò)路徑124 a=2, b=1, x=1 覆蓋條件組合和, 通過(guò)路徑134 a=1, b=0, x=2 覆蓋條件組合和, 通過(guò)路徑134 a=1, b=1, x=1 覆蓋條件組合和, 通過(guò)路徑135 顯然,滿足條件組合覆蓋的測(cè)試一定滿足“
24、判定覆蓋”、 “條件覆蓋”和“判定/條件覆蓋”,因?yàn)槊總€(gè)判定表達(dá)式、每個(gè)條件都不止一次地取到過(guò)“真”、“假”值。但也看到,該例沒(méi)有覆蓋程序可能執(zhí)行的全部路徑,125這條路徑被漏掉了,如果這條路徑有錯(cuò), 就不能測(cè)出。 Page 43 6) 路徑覆蓋 路徑覆蓋是指設(shè)計(jì)足夠的測(cè)試用例, 覆蓋被測(cè)程序中所有可能的路徑。對(duì)于上例, 選擇以下測(cè)試用例, 覆蓋程序中的 4 條路徑: a=2, b=0, x=2 覆蓋路徑124, 覆蓋條件組合和 a=2, b=1, x=1 覆蓋路徑134, 覆蓋條件組合和 a=1, b=1, x=1 覆蓋路徑135, 覆蓋條件組合和 a=3, b=0, x=1 覆蓋路徑125
25、, 覆蓋條件組合和 可看出滿足路徑覆蓋卻未滿足條件組合覆蓋。 現(xiàn)將這 6 種覆蓋標(biāo)準(zhǔn)作比較, 見(jiàn)表5 - 1。Page 44Page 45 語(yǔ)句覆蓋發(fā)現(xiàn)錯(cuò)誤能力最弱。判定覆蓋包含了語(yǔ)句覆蓋, 但它可能會(huì)使一些條件得不到測(cè)試。條件覆蓋對(duì)每一條件進(jìn)行單獨(dú)檢查,一般情況它的檢錯(cuò)能力較判定覆蓋強(qiáng),但有時(shí)達(dá)不到判定覆蓋的要求。判定/條件覆蓋包含了判定覆蓋和條件覆蓋的要求,但由于計(jì)算機(jī)系統(tǒng)軟件實(shí)現(xiàn)方式的限制,實(shí)際上不一定達(dá)到條件覆蓋的標(biāo)準(zhǔn)。條件組合覆蓋發(fā)現(xiàn)錯(cuò)誤能力較強(qiáng), 凡滿足其標(biāo)準(zhǔn)的測(cè)試用例,也必然滿足前 4 種覆蓋標(biāo)準(zhǔn)。 前 5 種覆蓋標(biāo)準(zhǔn)把注意力集中在單個(gè)判定或判定的各個(gè)條件上,可能會(huì)使程序某些路徑
26、沒(méi)有執(zhí)行到。路徑測(cè)試根據(jù)各判定表達(dá)式取值的組合,使程序沿著不同的路徑執(zhí)行,查錯(cuò)能力強(qiáng)。 Page 46 但由于它是從各判定的整體組合出發(fā)設(shè)計(jì)測(cè)試用例的, 可能使測(cè)試用例達(dá)不到條件組合覆蓋的要求。在實(shí)際的邏輯覆蓋測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例,以達(dá)到路徑覆蓋測(cè)試標(biāo)準(zhǔn)。 2. 循環(huán)覆蓋循環(huán)覆蓋 在邏輯覆蓋的測(cè)試技術(shù)中,以上只討論了程序內(nèi)部有判定存在的邏輯結(jié)構(gòu)的測(cè)試用例設(shè)計(jì)技術(shù)。而循環(huán)也是程序的主要邏輯結(jié)構(gòu),要覆蓋含有循環(huán)結(jié)構(gòu)的所有路徑是不可能的, 但可通過(guò)限制循環(huán)次數(shù)來(lái)測(cè)試,下面給出設(shè)計(jì)原則供參考。 1) 單循環(huán) 設(shè)n為可允許執(zhí)行循環(huán)的最大次數(shù)。 設(shè)計(jì)以下情況的測(cè)試
27、用例: (1) 跳過(guò)循環(huán)。Page 47 (2) 只執(zhí)行循環(huán)一次。 (3) 執(zhí)行循環(huán)m次, 其中mn。 (4) 執(zhí)行循環(huán)n-1次, n次, n+1次。 2) 嵌套循環(huán) 嵌套循環(huán)步驟為: (1) 置外循環(huán)處于最小循環(huán)計(jì)數(shù)值, 對(duì)內(nèi)層進(jìn)行單循環(huán)測(cè)試。 (2) 由里向外, 進(jìn)行下一層的循環(huán)測(cè)試。 Page 48 3. 基本路徑測(cè)試基本路徑測(cè)試 圖5.1的例子很簡(jiǎn)單,只有 4 條路徑。但在實(shí)際問(wèn)題中, 一個(gè)不太復(fù)雜的程序其路徑是一個(gè)龐大的數(shù)字。為了解決這一難題,只得把覆蓋的路徑數(shù)壓縮到一定的限度內(nèi),例如,循環(huán)體只執(zhí)行一次?;韭窂綔y(cè)試是在程序流程圖的基礎(chǔ)上,通過(guò)分析由控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本路徑
28、集合,從而設(shè)計(jì)測(cè)試用例, 保證這些路徑至少通過(guò)一次。 基本路徑測(cè)試的步驟為: (1) 以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ), 導(dǎo)出程序流程圖的拓樸結(jié)構(gòu)程序圖。 Page 49語(yǔ)句段(a1 )AND(b0 )(a2 )OR(X1 )13F5F語(yǔ)句段T24T圖5.1 一個(gè)被測(cè)試程序的流程圖Page 50 程序圖是退化了的程序流程圖,它是反映控制流程的有向圖,其中小圓圈稱為結(jié)點(diǎn),代表了流程圖中每個(gè)處理符號(hào)(矩形、菱形框),有箭頭的連線表示控制流向,稱為程序圖中的邊或路徑。 圖5.2(a)是一個(gè)程序流程圖,可以將它轉(zhuǎn)換成圖5.2(b)的程序圖(假設(shè)菱形框表示的判斷內(nèi)設(shè)有復(fù)合的條件)。在轉(zhuǎn)換時(shí)注意: 一條邊必須終止
29、于一個(gè)結(jié)點(diǎn),在選擇結(jié)構(gòu)中的分支匯聚處即使無(wú)語(yǔ)句也應(yīng)有匯聚結(jié)點(diǎn); 若判斷中的邏輯表達(dá)式是復(fù)合條件,應(yīng)分解為一系列只有單個(gè)條件的嵌套判斷,如對(duì)于圖5.3(a)的復(fù)合條件的判定應(yīng)畫成圖5.3(b)所示的程序圖。 Page 51 圖 5.2程序流程圖和程序圖 (a) 程序流程圖; (b) 程序圖 1234510678911(a)12,34,578961011(b)Page 52圖 5.3復(fù)合條件下的程序圖 (a) 程序; (b) 程序圖bXYa(b)if a or b then x else y(a)Page 53 (2) 計(jì)算程序圖G的環(huán)路復(fù)雜性V(G)。 McCabe定義程序圖的環(huán)路復(fù)雜性為此平面
30、圖中區(qū)域的個(gè)數(shù)。 區(qū)域個(gè)數(shù)為邊和結(jié)點(diǎn)圈定的封閉區(qū)域數(shù)加上圖形外的區(qū)域數(shù)1。 例如圖5.2(b)的V(G)=4, 也可按另一種方法計(jì)算, 即V(G)=判定結(jié)點(diǎn)數(shù)+1。 (3) 確定只包含獨(dú)立路徑的基本路徑集。 環(huán)路復(fù)雜性可導(dǎo)出程序基本路徑集合中的獨(dú)立路徑條數(shù), 這是確保程序中每個(gè)執(zhí)行語(yǔ)句至少執(zhí)行一次所必需的測(cè)試用例數(shù)目的上界。獨(dú)立路徑是指包括一組以前沒(méi)有處理的語(yǔ)句或條件的一條路徑。從程序圖來(lái)看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過(guò)的邊的路徑,例如,在圖5.2(b)所示的圖中,一組獨(dú)立的路徑是: Page 54 path1: 1-11 path2: 1-2-3-4-5-10-1-11
31、 path3: 1-2-3-6-8-9-10-1-11 path4: 1-2-3-6-7-9-10-1-11 從例中可知,一條新的路徑必須包含有一條新邊。這 4 條路徑組成了圖5.2(b)所示的程序圖的一個(gè)基本路徑集,4是構(gòu)成這個(gè)基本路徑集的獨(dú)立路徑數(shù)的上界,這也是設(shè)計(jì)測(cè)試用例的數(shù)目。只要測(cè)試用例確保這些基本路徑的執(zhí)行,就可以使程序中每個(gè)可執(zhí)行語(yǔ)句至少執(zhí)行一次,每個(gè)條件的取“真”和取“假”分支也能得到測(cè)試。 基本路徑集不是唯一的,對(duì)于給定的程序圖,可以得到不同的基本路徑集。 Page 55黑盒技術(shù)黑盒技術(shù) 黑盒測(cè)試是功能測(cè)試,因此設(shè)計(jì)測(cè)試用例時(shí),需要研究需求說(shuō)明和概要設(shè)計(jì)說(shuō)明中有關(guān)程序功能或輸
32、入、輸出之間的關(guān)系等信息,從而與測(cè)試后的結(jié)果進(jìn)行分析比較。用黑盒技術(shù)設(shè)計(jì)測(cè)試用例的方法一般有以下 4 種,但沒(méi)有一種方法能提供一組完整的測(cè)試用例,以檢查程序的全部功能,在實(shí)際測(cè)試中應(yīng)該把各種方法結(jié)合起來(lái)使用。 1. 等價(jià)類劃分等價(jià)類劃分 為了保證軟件質(zhì)量,需要做盡量多的測(cè)試,但不可能用所有可能的輸入數(shù)據(jù)來(lái)測(cè)試程序,而只能從輸入數(shù)據(jù)中選擇一個(gè)子集進(jìn)行測(cè)試。 如何選擇適當(dāng)?shù)淖蛹?,使其發(fā)現(xiàn)更多的錯(cuò)誤呢?等價(jià)類劃分是解決這一問(wèn)題的辦法。 Page 56 表 5 - 2 中合理等價(jià)類是指各種正確的輸入數(shù)據(jù),不合理的等價(jià)類是其他錯(cuò)誤的輸入數(shù)據(jù)。 劃分等價(jià)類是一個(gè)比較復(fù)雜的問(wèn)題, 以下提供了幾條經(jīng)驗(yàn)供參考:
33、 (1) 如果某個(gè)輸入條件規(guī)定了取值范圍或值的個(gè)數(shù), 則可確定一個(gè)合理的等價(jià)類(輸入值或數(shù)在此范圍內(nèi))和兩個(gè)不合理等價(jià)類(輸入值或個(gè)數(shù)小于這個(gè)范圍的最小值或大于這個(gè)范圍的最大值)。 例如輸入值是學(xué)生的成績(jī),范圍為0100,確定一個(gè)合理的等價(jià)類為“0成績(jī)100”,兩個(gè)不合理的等價(jià)類為“成績(jī)0”和“成績(jī)100”。 Page 57表表5-2 等價(jià)類表等價(jià)類表輸入條件合理等價(jià)類不合理等價(jià)類Page 58 (2) 如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序?qū)Σ煌妮斎胫底霾煌奶幚?,則每個(gè)允許的輸入值是一個(gè)合理等價(jià)類, 此外還有一個(gè)不合理等價(jià)類(任何一個(gè)不允許的輸入值)。 例如,輸入條件上說(shuō)明教師的職稱可為助
34、教、 講師、 副教授及教授 4 種職稱之一,則分別取這四個(gè)值作為4 個(gè)合理等價(jià)類,另外把 4 個(gè)職稱之外的任何職稱作為不合理等價(jià)類。(3) 如果規(guī)定了輸入數(shù)據(jù)必須遵循的規(guī)則,可確定一個(gè)合理等價(jià)類(符合規(guī)則)和若干個(gè)不合理等價(jià)類(從各種不同角度違反規(guī)則)。 (4) 如果已劃分的等價(jià)類中各元素在程序中的處理方式不同,則應(yīng)將此等價(jià)類進(jìn)一步劃分為更小的等價(jià)類。 Page 59 以上這些劃分輸入數(shù)據(jù)等價(jià)類的經(jīng)驗(yàn)也同樣適用于輸出數(shù)據(jù),這些數(shù)據(jù)也只是測(cè)試時(shí)可能遇到的情況的很小部分。為了能正確劃分等價(jià)類,一定要正確分析被測(cè)程序的功能。 2) 確定測(cè)試用例 根據(jù)已劃分的等價(jià)類, 按以下步驟設(shè)計(jì)測(cè)試用例: (1)
35、 為每一個(gè)等價(jià)類編號(hào)。 (2) 設(shè)計(jì)一個(gè)測(cè)試用例,使其盡可能多地覆蓋尚未被覆蓋過(guò)的合理等價(jià)類。重復(fù)這步,直到所有合理等價(jià)類被測(cè)試用例覆蓋。 (3) 設(shè)計(jì)一個(gè)測(cè)試用例,使其只覆蓋一個(gè)不合理等價(jià)類。 重復(fù)這一步,直到所有不合理等價(jià)類被覆蓋。Page 60 例如:某一報(bào)表處理系統(tǒng),要求用戶輸入處理報(bào)表的日期。 假設(shè)日期限制在1990年1月至1999年12月,即系統(tǒng)只能對(duì)該段時(shí)期內(nèi)的報(bào)表進(jìn)行處理。如果用戶輸入的日期不在此范圍內(nèi),則顯示輸入錯(cuò)誤信息。該系統(tǒng)規(guī)定日期由年、月的 6 位數(shù)字字符組成,前 4 位代表年,后兩位代表月。現(xiàn)用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例,來(lái)測(cè)試程序的“日期檢查功能”。 劃分等價(jià)類并編號(hào)
36、: 劃分成 3 個(gè)有效等價(jià)類,7 個(gè)無(wú)效等價(jià)類, 如表5 - 3所示。 為合理等價(jià)類設(shè)計(jì)測(cè)試用例,對(duì)于表中編號(hào)為1, 5, 8對(duì)應(yīng)的 3 個(gè)合理等價(jià)類, 用一個(gè)測(cè)試用例覆蓋。 Page 61Page 62 為每一個(gè)不合理等價(jià)類至少設(shè)計(jì)一個(gè)測(cè)試用例: 測(cè)試數(shù)據(jù) 期望結(jié)果 覆蓋范圍 99MAY 輸入無(wú)效 2 19995 輸入無(wú)效 3 1999005 輸入無(wú)效 4 198912 輸入無(wú)效 6 200001 輸入無(wú)效 7 199900 輸入無(wú)效 9 199913 輸入無(wú)效 10Page 63 2. 邊界值分析邊界值分析 實(shí)踐經(jīng)驗(yàn)表明, 程序往往在處理邊界情況時(shí)發(fā)生錯(cuò)誤。 邊界情況指輸入等價(jià)類和輸出等價(jià)
37、類邊界上的情況。因此檢查邊界情況的測(cè)試用例是比較高效的,可以查出更多的錯(cuò)誤。 例如, 在做三角形設(shè)計(jì)時(shí),要輸入三角形的 3 個(gè)邊長(zhǎng) A, B和C。 這 3 個(gè)數(shù)值應(yīng)當(dāng)滿足A0,B0,C0,A+BC, A+CB, B+CA, 才能構(gòu)成三角形。但如果把 6 個(gè)不等式中的任何一個(gè)“”錯(cuò)寫成“”, 那個(gè)不能構(gòu)成三角形的問(wèn)題恰出現(xiàn)在容易被疏忽的邊界附近。 在選擇測(cè)試用例時(shí), 選擇邊界附近的值就能發(fā)現(xiàn)被疏忽的問(wèn)題。 Page 64 (1) 如果輸入條件規(guī)定了值的范圍,可以選擇正好等于邊界值的數(shù)據(jù)作為合理的測(cè)試用例,同時(shí)還要選擇剛好越過(guò)邊界值的數(shù)據(jù)作為不合理的測(cè)試用例。如輸入值的范圍是1,100, 可取0,
38、1,100,101等值作為測(cè)試數(shù)據(jù)。 (2) 如果輸入條件指出了輸入數(shù)據(jù)的個(gè)數(shù), 則按最大個(gè)數(shù)、 最小個(gè)數(shù)、比最小個(gè)數(shù)少 1 及比最大個(gè)數(shù)多1等情況分別設(shè)計(jì)測(cè)試用例。 如一個(gè)輸入文件可包括1255個(gè)記錄, 則分別設(shè)計(jì)有1個(gè)記錄、255個(gè)記錄,以及0個(gè)記錄和256個(gè)記錄的輸入文件的測(cè)試用例。 (3) 對(duì)每個(gè)輸出條件分別按照以上兩個(gè)原則確定輸出值的邊界情況。如一個(gè)學(xué)生成績(jī)管理系統(tǒng)規(guī)定,只能查詢9598級(jí)大學(xué)生的各科成績(jī), 可以設(shè)計(jì)測(cè)試用例,使得查詢范圍內(nèi)的某一屆或四屆學(xué)生的學(xué)生成績(jī),還需設(shè)計(jì)查詢94級(jí)、 99級(jí)學(xué)生成績(jī)的測(cè)試用例(不合理輸出等價(jià)類)。 Page 65 由于輸出值的邊界不與輸入值的邊界相對(duì)應(yīng),所以要檢查輸出值的邊界不
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025代理合同范文
- 《解壓解壓療法》課件
- 2025超市租賃經(jīng)營(yíng)合同范本
- 《人口增長(zhǎng)模式探討》課件
- 2025屆四川省成都市三診高三第三次診斷性檢測(cè) 英語(yǔ)試題(含答案)
- 電子門施工合同協(xié)議
- 電動(dòng)游樂(lè)設(shè)備采購(gòu)合同協(xié)議
- 皮革設(shè)備收售合同協(xié)議
- 甲醇生產(chǎn)銷售合同協(xié)議
- 由于疫情延期合同協(xié)議
- 2024年甘肅白銀希望職業(yè)技術(shù)學(xué)院招聘筆試真題
- 中小學(xué)五一節(jié)前安全教育班會(huì)課件
- 電銷主管管理培訓(xùn)
- 房地產(chǎn)市場(chǎng)報(bào)告 -2025年一季度廈門寫字樓和零售市場(chǎng)報(bào)告
- 2024-2025學(xué)年人教版生物學(xué)八年級(jí)下冊(cè)期中復(fù)習(xí)練習(xí)題(含答案)
- 球機(jī)施工方案
- 【MOOC】研究生英語(yǔ)科技論文寫作-北京科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年輔警招聘考試試題庫(kù)含完整答案(各地真題)
- 《工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文電力工程部分2023年版》
- 勞動(dòng)用工管理指導(dǎo)意見(jiàn)
- 個(gè)人發(fā)展計(jì)劃(IDP)(最新整理)
評(píng)論
0/150
提交評(píng)論