




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程考查(論文)封面作業(yè)(論文)題目:成績百分制轉(zhuǎn)等級制所修課程名稱:軟件測試質(zhì)量與保證修課程時(shí)間:2020年2月至2020年5月完成作業(yè)(論文)日期:2020年5月評閱成績:程序:黑盒測試用例設(shè)計(jì):白盒測試用例設(shè)計(jì):單元測試:測試結(jié)果:文檔格式:評閱教師簽名:年月日所選題目12.
成績百分制轉(zhuǎn)等級制
編寫程序,給定一個(gè)學(xué)生成績(0-100分),給出相應(yīng)等級:90~100
優(yōu)秀,80~89
良好,70-79
中等,60~69
及格,0~59
不及格。主要代碼(10分)#include<>voidmain(){ intx; printf("請輸入0-100的成績:"); scanf("%d",&x); if(x>100||x<0){ printf("成績錯(cuò)誤\n"); }elseif(x>=90){ printf("優(yōu)秀\n"); }elseif(80<=x&&x<=89){ printf("良好\n"); }elseif(70<=x&&x<=79){ printf("中等\n"); }elseif(60<=x&&x<=69){ printf("及格\n"); }else{ printf("不及格\n"); }}黑盒測試技術(shù)測試用例設(shè)計(jì)(25分)邊界值測試(7分)邊界值分析由于學(xué)生有五個(gè)等級,學(xué)生成績的取值范圍是:0-100,學(xué)生成績的邊界值有:0,59,60,69,70,79,80,89,90,100.邊界值測試用例表輸入條件邊界值測試數(shù)據(jù)x0,59,60,69,70,79,80,89,90,100-1,0,1,58,59,60,61,68,69,70,71,78,79,80,8188,89,90,91,99,100,101.設(shè)計(jì)測試用例(給出所有測試用例)成績等級問題的測試用例測試用例編號輸入數(shù)據(jù)預(yù)期輸出測試結(jié)果x1-1成績錯(cuò)誤成績錯(cuò)誤20不及格不及格31不及格不及格458不及格不及格559不及格不及格660及格及格761及格及格868及格及格969及格及格1070中等中等1171中等中等1278中等中等1379中等中等1480良好良好1581良好良好1688良好良好1789良好良好1890優(yōu)秀優(yōu)秀1991優(yōu)秀優(yōu)秀2099優(yōu)秀優(yōu)秀21100優(yōu)秀優(yōu)秀22101成績錯(cuò)誤成績錯(cuò)誤等價(jià)類測試(8分)等價(jià)類劃分分析首先分析題目中給出的條件,輸入條件如下:有效等價(jià)類:成績0<=x<=100;無效等價(jià)類:成績x<0||x>100。根據(jù)輸入條件的要求劃分等價(jià)類,列出等價(jià)類表并編號編號輸入條件等價(jià)類10<x無效等價(jià)類290<=x<=100有效等價(jià)類380<=x<=89有效等價(jià)類470<=x<=79有效等價(jià)類560<=x<=69有效等價(jià)類60<=x<=59有效等價(jià)類7X>100無效等價(jià)類等價(jià)類測試用例表成績等級問題的測試用例表測試用例編號輸入數(shù)據(jù)預(yù)期輸出覆蓋等價(jià)類測試結(jié)果x190優(yōu)秀2優(yōu)秀292優(yōu)秀2優(yōu)秀394優(yōu)秀2優(yōu)秀4-20成績錯(cuò)誤1成績錯(cuò)誤510不及格6不及格680良好3良好782良好3良好884良好3良好9-50成績錯(cuò)誤1成績錯(cuò)誤1020不及格6不及格1170中等4中等1272中等4中等1374中等4中等14110成績錯(cuò)誤7成績錯(cuò)誤1530不及格6不及格1660及格5及格1762及格5及格1864及格5及格19120成績錯(cuò)誤7成績錯(cuò)誤2040不及格6不及格基于決策表的測試(10分)決策表測試分析測試用例123456輸入條件0<=x<=100TTTTTF90<=x<=100TFFFFF80<=x<=89FTFFFF70<=x<=79FFTFFF60<=x<=69FFFTFF0<=x<=59FFFFTF預(yù)期輸出優(yōu)秀√良好√中等√及格√不及格√成績錯(cuò)誤√基于決策表的測試用例表成績等級問題的測試用例表測試用例編號輸入數(shù)據(jù)預(yù)期輸出覆蓋等價(jià)類測試結(jié)果x195優(yōu)秀2優(yōu)秀285良好3良好375中等4中等465及格5及格530不及格6不及格6120成績錯(cuò)誤7成績錯(cuò)誤白盒測試技術(shù)測試用例設(shè)計(jì)(25分)靜態(tài)白盒測試(4分)代碼走讀:從出口來看,只有一個(gè)出口語句,if...else語句中,所有的判斷節(jié)點(diǎn)取值情況都以覆蓋。每個(gè)出口都有符合格式要求的返回值。從程序結(jié)構(gòu)來看,整個(gè)函數(shù)體就只有一個(gè)判定結(jié)構(gòu),且整個(gè)判定結(jié)構(gòu)為結(jié)構(gòu)化設(shè)計(jì)。#include<>voidmain(){ x; ("請輸入0-100的成績:"); ("%d",&x); (x>100||x<0){ ("成績錯(cuò)誤\n"); 6.}elseif(x>=90){ ("優(yōu)秀\n"); 8.}elseif(80<=x&&x<=89){ ("良好\n"); 10.}elseif(70<=x&&x<=79){ ("中等\n"); 12.}elseif(60<=x&&x<=69){ ("及格\n"); 14.}else{ ("不及格\n"); 16.}}序號1,2,3獲取到學(xué)生成績賦值給x,序號4,5判斷學(xué)生成績是否有效,序號6-14判斷學(xué)生成績的等級。靜態(tài)結(jié)構(gòu)分析(函數(shù)控制流圖法)出口:該函數(shù)只有一個(gè)出口孤立節(jié)點(diǎn):無孤立節(jié)點(diǎn)環(huán)復(fù)雜度:6結(jié)構(gòu)化設(shè)計(jì)。對判斷的測試(10分)在六種選取1種判定測試覆蓋指標(biāo)進(jìn)行分析函數(shù)流程圖開始開始輸入成績輸入成績N(P1)0<=x<=100N(P1)0<=x<=100數(shù)據(jù)錯(cuò)誤數(shù)據(jù)錯(cuò)誤Y(P2)Y(P2)Y(P3)90<=x<=100Y(P3)90<=x<=100優(yōu)秀優(yōu)秀N(P4)N(P4)Y(P5)Y(P5)良好80良好80<=x<=89N(P6)N(P6)Y(P7)70Y(P7)70<=x<=79中等中等N(P8)N(P8)Y(P9)60Y(P9)60<=x<=69及格及格N(P10)N(P10)不及格不及格結(jié)束結(jié)束選擇判定覆蓋:程序中每個(gè)判定節(jié)點(diǎn)取得各種可能的結(jié)果至少有一次,選擇測試用例時(shí)加強(qiáng)了判定節(jié)點(diǎn)的作用。而去判定覆蓋可以滿足語句覆蓋執(zhí)行路徑有:L1:P1L2:P2,P3L3:P2,P4,P5L4:P2,P4,P6,P7L5:P2,P4,P6,P8,P9L6:P2,P4,P6,P8,P10測試用例表測試用例輸入數(shù)據(jù)預(yù)期輸出覆蓋的判定條件或判定節(jié)點(diǎn)測試結(jié)果x1120數(shù)據(jù)錯(cuò)誤L1數(shù)據(jù)錯(cuò)誤295優(yōu)秀L2優(yōu)秀385良好L3良好475中等L4中等565及格L5及格630不及格L6不及格對路徑的測試(11分)程序圖環(huán)復(fù)雜度由判定節(jié)點(diǎn)法可知環(huán)復(fù)雜度為:5+1=6.獨(dú)立路徑的抽取P1:1,4,5,16P2:1,4,6,7,16P3:1,4,6,8,9,16P4:1,4,6,8,10,11,16P5:1,4,6,8,10,12,15,16P6:1,4,6,8,10,12,13,16不可行路徑的處理由程序圖可知,其中路徑都是可以達(dá)到的,沒有不可行路徑。測試用例表測試用例編號輸入數(shù)據(jù)預(yù)期輸出路徑測試結(jié)果x1120數(shù)據(jù)錯(cuò)誤P1數(shù)據(jù)錯(cuò)誤295優(yōu)秀P2優(yōu)秀385良好P3良好475中等P4中等565及格P5及格630不及格P6不及格驅(qū)動(dòng)程序開發(fā)代碼(20分)驅(qū)動(dòng)模塊與樁模塊的開發(fā)讀入一批測試用例,對每個(gè)測試用例能夠讀入基本信息并顯示出來成績等級測試用例表測試用例編號輸入數(shù)據(jù)預(yù)期輸出測試結(jié)果x1-1成績錯(cuò)誤成績錯(cuò)誤20不及格不及格31不及格不及格458不及格不及格559不及格不及格660及格及格761及格及格868及格及格969及格及格1070中等中等1171中等中等1278中等中等1379中等中等1480良好良好1581良好良好1688良好良好1789良好良好1890優(yōu)秀優(yōu)秀1991優(yōu)秀優(yōu)秀2099優(yōu)秀優(yōu)秀21100優(yōu)秀優(yōu)秀22101成績錯(cuò)誤成績錯(cuò)誤利用測試用例來驅(qū)動(dòng)(調(diào)用)被測試函數(shù)源代碼:#include<>#include<>intScore(intx){if(x>100||x<0){ return0; }elseif(x>=90){ return1; }elseif(80<=x&&x<=89){ return2; }elseif(70<=x&&x<=79){ return3; }elseif(60<=x&&x<=69){ return4; }else{ return5; }}voidScoreTest(){printf("這是對成績等級的測試\n"); intPassNum=0;//測試通過的數(shù)量 intFailNum=0;//測試沒有通過的數(shù)量 FILE*pFpFrom=NULL;//數(shù)據(jù)文件的指針,儲(chǔ)存測試用例的基本信息 FILE*pFpTo=NULL;//記錄測試用例執(zhí)行結(jié)果的文件的指針 char*DataFileName="";//打開測試文件,準(zhǔn)備讀取測試用例 pFpFrom=fopen(DataFileName,"r"); if(!pFpFrom){ printf("讀取數(shù)據(jù)失敗,返回\n"); return; } char*DataFileTestResultName="";//打開數(shù)據(jù)文件 pFpTo=fopen(DataFileTestResultName,"w+t"); if(!pFpTo){ printf("打開文件失敗,返回\n"); return; } fprintf(pFpTo,"-------對函數(shù)Score的單元測試結(jié)果------\n"); intid=0; intx; intScoreAnswer; intNewScoreAnswer;//執(zhí)行測試用例的返回值 char*infurAnwser; char*realiAnwser; printf("對函數(shù)展開單元測試\n"); while(!feof(pFpFrom)){//不斷讀取測試用例Id fscanf(pFpFrom,"%d",&id);//讀入測試用例的ID fscanf(pFpFrom,"%d",&x);//讀入測試用例的x fscanf(pFpFrom,"%d",&ScoreAnswer);//讀入測試用例的預(yù)期輸出 NewScoreAnswer=Score(x);//執(zhí)行測試用例 if(ScoreAnswer==0){ infurAnwser="成績錯(cuò)誤"; }elseif(ScoreAnswer==1) { infurAnwser="優(yōu)秀"; } elseif(ScoreAnswer==2) { infurAnwser="良好"; }elseif(ScoreAnswer==3) { infurAnwser="中等"; }elseif(ScoreAnswer==4) { infurAnwser="及格"; }elseif(ScoreAnswer==5) { infurAnwser="不及格"; } if(NewScoreAnswer==0){ realiAnwser="成績錯(cuò)誤"; }elseif(NewScoreAnswer==1) { realiAnwser="優(yōu)秀"; } elseif(NewScoreAnswer==2) { realiAnwser="良好"; }elseif(NewScoreAnswer==3) { realiAnwser="中等"; }elseif(NewScoreAnswer==4) { realiAnwser="及格"; }elseif(NewScoreAnswer==5) { realiAnwser="不及格"; } printf("測試用例%d:成績X:%d;預(yù)期輸出:%s,實(shí)際輸出:%s",id,x,infurAnwser,realiAnwser); if(ScoreAnswer==NewScoreAnswer) { PassNum++; printf("通過\n"); fprintf(pFpTo,"測試用例%d:Pass\n",id); }else { FailNum++; printf("失敗\n"); fprintf(pFpTo,"測試用例%d:Fail\n",id); } } fclose(pFpFrom);//關(guān)閉測試用例數(shù)據(jù)文件 printf("共執(zhí)行%d個(gè)測試用例,其中%d個(gè)通過,%d個(gè)失敗\n",PassNum+FailNum,PassNum,FailNum); fprintf(pFpTo,"共執(zhí)行%d個(gè)測試用例,其中%d個(gè)通過,%d個(gè)失敗\n",PassNum+FailNum,PassNum,FailNum); fclose(pFpTo);}voidmain(){ ScoreTest();}顯示測試用例的實(shí)際輸出并能與預(yù)期輸出進(jìn)行比較,給出判定結(jié)果由下圖的的單元測試結(jié)果圖來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石家莊市中醫(yī)院醫(yī)學(xué)倫理學(xué)在放射治療中應(yīng)用情景試題
- 張家口市人民醫(yī)院肺功能臨床意義考核
- 2025中心醫(yī)院科室副主任年度績效考核
- 2025河北唐山幼兒師范高等??茖W(xué)校選聘工作人員35人考前自測高頻考點(diǎn)模擬試題附答案詳解(黃金題型)
- 2025金華市教育局所屬金華教育學(xué)院公開招聘教師6人考前自測高頻考點(diǎn)模擬試題附答案詳解(考試直接用)
- 邯鄲市人民醫(yī)院巨乳縮小術(shù)技術(shù)專項(xiàng)考核
- 2025廣東韶關(guān)市新豐縣國有資產(chǎn)管理集團(tuán)有限公司第一批專業(yè)技術(shù)人員招聘有關(guān)事項(xiàng)考前自測高頻考點(diǎn)模擬試題附答案詳解(模擬題)
- 唐山市人民醫(yī)院角膜移植手術(shù)主刀資質(zhì)評審
- 大學(xué)財(cái)務(wù)課件
- 2025中心醫(yī)院皮膚撕裂傷處理考核
- 2022年宜昌市不動(dòng)產(chǎn)登記中心事業(yè)單位工作人員招聘筆試試題及答案
- LY/T 1332-1999濕地松松香
- GB/T 18391.1-2009信息技術(shù)元數(shù)據(jù)注冊系統(tǒng)(MDR)第1部分:框架
- 做新時(shí)代馬克思主義的信仰者與實(shí)踐者課件
- 「東北大板」怎么紅起來的
- midas分析設(shè)計(jì)原理
- 漢密爾頓抑郁量表漢密爾頓抑郁量表(HamiltonDepressionScale,HAMD)
- 保健食品安全知識(shí)培訓(xùn)
- 醫(yī)師多點(diǎn)執(zhí)業(yè)勞務(wù)協(xié)議書(參考格式)
- QC080000有害物質(zhì)管理評審報(bào)告
- 10000中國普通人名大全
評論
0/150
提交評論