下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中級軟件設(shè)計師下午試題-5(總分:105.00,做題時間:90分鐘)一、B試題一 /B(總題數(shù):2,分?jǐn)?shù):14.00)1. 問題1通過該程序的算法用等價類設(shè)計測試用例,檢查邏輯覆蓋標(biāo)準(zhǔn)。(分?jǐn)?shù):7.00)填空項1: (正確答案:劃分等價類并編號,見下表:)解析:等價類表輸入數(shù) 據(jù)合理等價類不合理等價類A, B, C1 .正整數(shù)2 有非正整數(shù)3. 某兩面三刀個數(shù)相加小于或等于剩余 的數(shù)4. 有非數(shù)子子符5三力相等6.只有兩邊相 等7 三邊不相等(2)為合理設(shè)計等價類測試用例,對于表中對應(yīng)的四個合理等價類,用三個測試用例覆蓋,見下表: 合理等價類設(shè)計測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋范圍3, 4, 5
2、輸出“一般三角形”t1, 73,3, 3輸出“等邊三角形”1, 53, 3, 2輸出“等腰三角形”1, 6(3)為每一個不合理等價類設(shè)計一個側(cè)試用例,見下表: 不合理等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋范圍3, 4, 5輸入無效23, 3, 6輸入無效3A, B, C輸入無效4試題一解答要點本題屬于軟件測試中測試用例的設(shè)計,分為白盒技術(shù)和黑盒技術(shù)。等價類劃分是將輸人數(shù)據(jù)域按有效的或無效的劃分成若干個等價類,測試每個等價類的代表值就等于對該 類其他值的測試。步驟如下;1)按程序的功能說明,找岀一個個輸入條件,將每個輸入條件劃分成兩個或多個等價類,將其 列表。2)確定測試用例。根據(jù)已劃分的等價類,
3、按以下步驟設(shè)計測試用例:I.為每一個等價類編號沒計一個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的合理等價類,重復(fù)此步,直到所有合理等價 類被測試用例覆蓋。山設(shè)計一個測試用例,使其只覆蓋一個不合理等價類。重復(fù)這一步,直到所有不合理等價類被測試用例 覆蓋。邊界值分析不是從一個等價類中任選一個例子作為代表,而是將測試邊界情況作為重點目標(biāo),選取正好等 于,剛剛大于或剛剛小于邊界值的測試數(shù)據(jù)。因為實踐經(jīng)驗表明,程序往往在處理邊界情況時發(fā)生錯誤。 其基本思想是列岀程序中可能發(fā)生錯誤的情況,根據(jù)這些情況選擇測試用例。邏輯覆蓋是白盒技術(shù),它追求程序內(nèi)部的邏輯覆蓋程度,要設(shè)計使覆蓋程度較高的或覆蓋最優(yōu)代表性的路
4、 徑的測試用例。2. 問題2用邊界值分析法設(shè)計測試用例,檢查邏輯覆蓋標(biāo)準(zhǔn)。(分?jǐn)?shù):7.00 )填空項1: (正確答案:用邊界值法設(shè)計測試用例,見下表:)解析:邊界值法設(shè)計測試用例表輸入等價類測試用例說明測試數(shù)據(jù)期望結(jié)果輸入值全部是數(shù)字 1個正整數(shù)1個不是正整數(shù) 全是正整數(shù)且兩個數(shù) 之和等于第三個數(shù) 全是正整數(shù)且兩個數(shù) 之和小于第三個數(shù)A,B,CA,B,C3,4,ok3.3.63.3.7輸入無效 輸入無效 輸入無效 輸入無效 輸入無效三邊相等3,3,3輸出“等腰三角形”兩邊相等A=B,ACA=C,ABA=C,盼 A3.3.25,3,55.3.3輸出“等腰三角形”三邊不等3,4,5輸入“一般三角形
5、”二、B試題二/B( 總題數(shù):4,分?jǐn)?shù):16.00)3. 問題1若這三個事務(wù)允許并行執(zhí)行,則請列舉岀有多少可能的正確結(jié)果。(分?jǐn)?shù):4.00 )填空項1: (正確答案:問題1有6種可能的正確結(jié)果,相應(yīng)的6個串行調(diào)度是:)解析:T1-T2-T3 : A=1 T1-T3-T2 : A=2 T2-T1-T3 : A=1 T2-T3-T1 : A=2 T3-T1-T2 : A=4 T3-T2-T1 : A=3 試 題二解答要點在并行系統(tǒng)環(huán)境下,事務(wù)并發(fā)操作的調(diào)度的可串行性的標(biāo)準(zhǔn)如下:調(diào)度結(jié)果的正確:保持?jǐn)?shù)據(jù)庫的一致狀態(tài)。幾個事務(wù)的并行執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行的執(zhí)行它們時的 結(jié)果相同。
6、可串行性是并行事務(wù)正確性的唯一準(zhǔn)則。因此,若有3個事務(wù)并行執(zhí)行時,可能的正確結(jié)果與3個事務(wù)串行執(zhí)行的結(jié)果應(yīng)該相同。由于3個事務(wù)串行執(zhí)行有6種可執(zhí)行方案,因此有 6種可能的正確結(jié)果。若事務(wù)不施加任何鎖,數(shù)據(jù)項則可以同時被讀寫。假設(shè)Ri,Rj,Rk分別表示三種檢索操作 R1,R2,R3,順序無關(guān)緊要;類似地,Up, Uq, Ur分別表示更新操作 U1,U2,U3,順序也無關(guān)緊要。但事務(wù)內(nèi)部操作順序是固定的。因此,可能的調(diào)度是: Ri-Rj -Rk-Up-Uq-Ur : 3*2*1*3*2*1=36 Ri-Rj-Up -Rk- Uq-Ur:3*2* 2*1*2*1=24 Ri-Rj-Up-Uq-Rk
7、-Ur : 3*2*2*1*1*1=12 Ri-Up-Rj-Rk-Uq-Ur : 3*1*2*1*2*1=12 Ri-Up-Rj-Uq-Rk-Ur : 3*1*2*1*1*1=6 由此可見,總共有 90種可能的調(diào)度。本例能夠產(chǎn)生“正確”結(jié)構(gòu)但 不可串行化的調(diào)度。例如:調(diào)度R1- R2-R3-U3-U2-U1得到的結(jié)果與6個可能的串行調(diào)度中的兩個相同。這樣,對于給定的初始值。恰好是“正確的”。但必須清楚這個正確只是巧合,完全是因為初始值恰好為。才得到的,對其他的初始值則未必如此。例如,考慮初始值為10而非0的情況,上面給出的調(diào)度R1-R2-R3-U3-U2-U1就不能得到正確的結(jié)果。因此,該調(diào)度
8、是不可串行的。調(diào)度R1-R3 -U1-U3-R2-U2是可串行的(等價于串行調(diào)度T1-T3-T2),但在T1, T2和T3都遵守兩段鎖協(xié)議時不能出現(xiàn)。因為在這一協(xié)議下, 操作R3會代表事務(wù)T3.在A上獲得s鎖;這樣事務(wù)T1中的操作U1就無法在該鎖釋放前進(jìn)行,且直到 T3 結(jié)束時才會發(fā)生。事實上,事務(wù) T3和T1在操作U3到達(dá)時將發(fā)生死鎖。4. 問題2各個事務(wù)的內(nèi)部結(jié)構(gòu)如下所示。若事務(wù)不施加任何鎖,則有多少可能的調(diào)度。T1: R1 (Get Ainto t1 ;t1:= t1 + 1 ); U1 ( Update A from t1 ); T2: R2 ( Get A into t2 ;t2:=
9、 t2 * 2); U2 ( Update A from t2); T3:1t3 ( Get A into t3; display t3 ); U3 ( Update A from 1 );(分?jǐn)?shù):4.00 )填空項1: (正確答案:總共有 90種可能的調(diào)度。)解析:5. 問題3能否產(chǎn)生“正確”結(jié)果但不可串行化的調(diào)度?(分?jǐn)?shù):4.00)填空項1: (正確答案:能夠產(chǎn)生。)解析:6. 問題4若這三個事務(wù)都遵守兩段鎖協(xié)議,那么是否存在事實上可串行化但又不能形成的調(diào)度?(分?jǐn)?shù):4.00)填空項1: (正確答案:存在。)解析:三、B試題三/B(總題數(shù):1,分?jǐn)?shù):15.00)7. 說明假設(shè)二叉樹采用連接
10、存儲結(jié)構(gòu)進(jìn)行存儲,root指向根接點,p所指結(jié)點為任一給定的結(jié)點,編寫一個求從根結(jié)點到p所指結(jié)點之間路徑的函數(shù)。void path (root, p) btree * root, * p; Btree*stackm0, *s; int tagm0,top =0, i, find=0;s =root;do while (s ! = NULL) stack top=s; tagtop =0; (U(1)/U)if (top> 0) (U(2)/U) if (tagtop= =1) if(U(3) /U) for (i=1;i <=top;i+ printf("%d"
11、 ,stacki- > data); find=1; else top - -;if(U(4) /U)p=p-> right;(U(5) /U) while (find | |(s!= NULL&& top!=0); (分?jǐn)?shù):15.00 )填空項1: (正確答案:s=s->left ;)解析:s=stack top ; (3)(s=p) (4)(top>0 && ! find) (5)tag top=1試題三解答要點本題采用非遞歸后序遍歷數(shù)root,當(dāng)后序遍歷訪問到p所指結(jié)點時,此時stack中所有的結(jié)點均為 P所指結(jié)點 的祖先,由這些祖
12、先便構(gòu)成了一條從根結(jié)點到p所指結(jié)點之間的路徑。四、B試題四/B(總題數(shù):1,分?jǐn)?shù):15.00)8. 說明計算下列源代碼的McCabe環(huán)數(shù),畫出控制流程圖并用羅馬數(shù)字標(biāo)出區(qū)域。read x,y,z; type=“scalene ”; if (x= =y or x = = z or y= = z)type =“isosceles ”; if (x = = y and x = = z)type = “equilateral ”; if (x >= y+ z Or y > = x+20rz > =x+ y) type= “not a triangle ”; if (x < =0
13、 or y < = 0 or z <=0) type =“bad inputs ”; print type ;(分?jǐn)?shù):15.00 ) 正確答案:()解析:試題四解答要點McCabe的環(huán)數(shù)是軟件開發(fā)中繼代碼行之后最常使用的度量。它基于圖論的環(huán)數(shù)。McCabe試圖度量程序的復(fù)雜性。前提是該復(fù)雜性與程序的控制流相關(guān)。圖論使用公式C= e-n+1來計算環(huán)數(shù)。McCabe稍加修改后的公式為:C=e-n+2p其中:e=邊的數(shù)目n=結(jié)點的數(shù)目p=強(qiáng)連通組建的數(shù)目(通rwri常為1)控制流程圖如下:區(qū)域的數(shù)目為5,所以環(huán)數(shù)也為5。也可以用判斷來數(shù)出環(huán)數(shù)。離開結(jié)點a、c、e、g的路徑各有一個判斷,因
14、此,共有4個判斷。環(huán)數(shù)為判斷數(shù)加1,所以環(huán)數(shù)為5。也可以利用公式e-n+2來計算環(huán)數(shù)。這里, e=12,n=9,e-n+2=5五、B試題五/B( 總題數(shù):1,分?jǐn)?shù):15.00)9. 說明從鍵盤輸入一個字符 ch,輸出該字符在文本文件input.txt 的每一行中出現(xiàn)的次數(shù)。(必須調(diào)用 函數(shù)鳋統(tǒng)計ch的出現(xiàn)次數(shù),函數(shù)ff (str ,ch)的功能是統(tǒng)計并返回字符 ch在字符串str中出現(xiàn)的次數(shù)。)。例如:如果文件input. txt中存放了下列數(shù)據(jù):every 121 I am a student運行程序,并輸入 e后,輸出:2 0 1 int ff( char * str, char ch)
15、int count =0; while (U (1) /U) if( *str=ch) count+; str +; return count; # include< stdio. h > # include < stdlib. h > voidmain( ) char ch, c, s 80; int k; FILE *fp; if(U/U) printf(“打不開文件!n ”);return; ch = getchar( ); k=0; while( ! feof(fp) ) c = fgete(fp); ifU (3) /U sk+ =c; else sk= &q
16、uot; printf ( "%dn" ,ff(s, ch) ); k=0; U (4) /U printf( "% dn", ff( s,ch ) ); (分?jǐn)?shù): 15.00 )填空項 1: (正確答案: ( *str) )解析: (fp = fopen( :input. txt" ,"r" ) ) = = NULL (c! ='n') sk =''六、B 試題六 /B( 總題數(shù): 1,分?jǐn)?shù): 15.00)10. 說明 編寫一個字符界面的 Java Application 程序,接受用戶輸入
17、的 10 個整數(shù),并輸出這 10 個整 數(shù)的最大值和最小值。 import java. io. * ; public class abc public static void main(String args ) int i, n = 10 , max = 0 , min = 0 , temp = 0; try BufferedReader br = new BufferedReader( new InputStreamReader( System. in) ); U(1) /U); catch ( IOException e ) ; for(i = 2 ;i< =n; i + ) tr
18、y BufferedReader br = new BufferedReader( new InputStreamReader (System. in); temp = Integer. parselnt(br. readLine( ) ); if ( temp > max )U(2) /U if (temp < min)U(3) /U catch ( IOExeeption e ) ; System. out. println( "max =" + max + "/nmin =" + min); (分?jǐn)?shù): 15.00 )填空項 1: (正確答案: max = rain = Integer. parselnt (br. readLine( ) )解
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超額保險合同賠付限制
- 2025版城市更新改造項目投標(biāo)承諾書規(guī)范范本3篇
- 2025版木雕工藝品制作木工分包合同范本4篇
- 2025版企業(yè)銷售業(yè)務(wù)員合作協(xié)議范本3篇
- 2025年度豬圈建造與農(nóng)業(yè)循環(huán)經(jīng)濟(jì)合同4篇
- 二零二五版電影院裝修升級合同范本3篇
- 2025版學(xué)校教師聘用合同范本:職稱晉升條款詳解3篇
- 2025年度體育場館草坪鋪設(shè)與維護(hù)服務(wù)合同4篇
- 2025年度貨車司機(jī)勞動合同(附交通事故責(zé)任及賠償)
- 2025年度智能科技股權(quán)眾籌協(xié)議書模板
- 高考語文復(fù)習(xí)【知識精研】《千里江山圖》高考真題說題課件
- 河北省承德市2023-2024學(xué)年高一上學(xué)期期末物理試卷(含答案)
- 高中物理斜面模型大全(80個)
- 012主要研究者(PI)職責(zé)藥物臨床試驗機(jī)構(gòu)GCP SOP
- 農(nóng)耕研學(xué)活動方案種小麥
- 2024年佛山市勞動合同條例
- 污水管網(wǎng)規(guī)劃建設(shè)方案
- 城鎮(zhèn)智慧排水系統(tǒng)技術(shù)標(biāo)準(zhǔn)
- 采購管理制度及流程采購管理制度及流程
- 五年級美術(shù)下冊第9課《寫意蔬果》-優(yōu)秀課件4人教版
- 節(jié)能降耗課件
評論
0/150
提交評論