emp[1,9],:temp[2,9],:temp[1,10],:temp[2,10]
FROMscore,
paper,
student
WHERE(score.semester=paper.semester)and
(paper.spec_code=student.spec_code)and
(score.stu_id=student.stu_id)and
((score.semester=:VAR_SEMESTER)AND
(score.absent=0)
);
intstu_nums
stu_nums=there_paper[2,var_questions+1]//thenumberofstudents
inti
fori=1tovar_questions
there_paper[2,i]=round(there_paper[2,1]/stu_nums,2)
next
iftemp[2,var_questions]=0then
there_paper[2,var_questions]=0
else
there_paper[2,var_questions]=round(temp[1,var_questions]/temp[2,var_questions],2)
endif
realdata_trans[8]
fori=1tovar_questions
choosecasethere_paper[2,i]
case0to0.30
data_trans[1]+=1
case0.31to0.50
data_trans[2]+=1
case0.51to0.70
data_trans[3]+=1
case0.71to1
data_trans[4]+=1
endchoose
next
fori=1to4
data_trans[i]=round(100*data_trans[i]/var_questions,2)
next
dwc_section1.SetTransObject(SQLCA)
dwc_section1.Retrieve()
//dwc_section2.SetTransObject(sqlca)
//dwc_section2.retrieve(var_semester,var_spec)
ifdwc_section1.rowCount()=0then
dwc_section1.insertRow(0)
endif
dwc_section1.setItem(1,"difficult30",data_Trans[1])
dwc_section1.setItem(1,"difficult50",data_Trans[2])
dwc_section1.setItem(1,"difficult70",data_Trans[3])
dwc_section1.setItem(1,"difficult100",data_Trans[4])
//calculatepartition
datastoreds_difficult
ds_difficult=createdataStore
ds_difficult.dataObject="dw_analysis_top25"
ds_difficult.setTransObject(sqlca)
ds_difficult.retrieve(var_semester,var_spec)
stu_nums=ds_difficult.getItemdecimal(1,"compute_stu_num")
fori=1tovar_questions
there_paper[1,i]=ds_difficult.getItemdecimal(1,"compute_"+trim(string(i)))
next
fori=1tovar_questions
there_paper[2,i]=ds_difficult.getItemdecimal(1,"compute_"+trim(string(i+10)))
next
ds_difficult.dataObject="dw_analysis_end25"
ds_difficult.setTransObject(sqlca)
ds_difficult.retrieve(var_semester,var_spec)
fori=1tovar_questions
there_paper[3,i]=ds_difficult.getItemdecimal(1,"compute_"+trim(string(i)))
next
fori=1tovar_questions
there_paper[4,i]=ds_difficult.getItemdecimal(1,"compute_"+trim(string(i+10)))
next
destroyds_difficult
SELECTmax(score.score1),max(score.score2),max(score.score3),max(score.score4),
max(score.score5),max(score.score6),max(score.score7),max(score.score8),
max(score.score9),max(score.score10),
min(score.score1),min(score.score2),min(score.score3),min(score.score4),
min(score.score5),min(score.score6),min(score.score7),min(score.score8),
min(score.score9),min(score.score10)
INTO:there_paper[5,1],:there_paper[5,2],:there_paper[5,3],:there_paper[5,4],
:there_paper[5,5],:there_paper[5,6],:there_paper[5,7],:there_paper[5,8],
:there_paper[5,9],:there_paper[5,10],
:there_paper[6,1],:there_paper[6,2],:there_paper[6,3],:there_paper[6,4],
:there_paper[6,5],:there_paper[6,6],:there_paper[6,7],:there_paper[6,8],
:there_paper[6,9],:there_paper[6,10]
FROMscore,
paper,
student
WHERE(score.semester=paper.semester)and
(paper.spec_code=student.spec_code)and
(score.stu_id=student.stu_id)and
((score.semester=:VAR_SEMESTER)AND
(score.absent=0)
);
fori=1tovar_questions
temp[1,i]=round((there_paper[1,i]-there_paper[3,i])/stu_nums,2)
next
ifthere_paper[5,var_questions]-there_paper[6,var_questions]<>0then
temp[1,var_questions]=round((there_paper[2,var_questions]-there_paper[4,var_questions])/((there_paper[5,var_questions]-there_paper[6,var_questions])*stu_nums),2)
else
temp[1,var_questions]=0
endif
fori=1tovar_questions
choosecasetemp[1,i]
caseis<=0.19
data_trans[5]+=1
case0.20to0.29
data_trans[6]+=1
case0.30to0.39
data_trans[7]+=1
caseis>=0.40
data_trans[8]+=1
endchoose
next
fori=5to8
data_trans[i]=round(100*data_trans[i]/var_questions,2)
next
dwc_section1.setItem(1,"part19",data_Trans[5])
dwc_section1.setItem(1,"part29",data_Trans[6])
dwc_section1.setItem(1,"part39",data_Trans[7])
dwc_section1.setItem(1,"part40",data_Trans[8])
else
dwc_section1.SetTransObject(SQLCA)
dwc_section1.Retrieve()
//dwc_section2.SetTransObject(sqlca)
//dwc_section2.retrieve("","")
endif
第六章测试
测试在开发软件过程中是一个不可缺少的部分。因为在开发软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,在软件生命周期的各个阶段都不可避免地产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正错误;但是,经验表明审查并不能发现所有的差错,此外在编码过程中还不可避免地会引入一些新的错误。如果在软件生产性运行之前,没有发现并纠正软件中的大部分差错,则这些错误迟早在生产过程中暴露出来,那时不仅仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产运行之前,尽可能多地发现并纠正软件中的错误。基于上述的原因,我在编码过程中进行了模块测试,编码结束进行了系统测试和验收测试。下面将介绍测试方案,测试过程和测试结果。
一模块测试
1测试方案
采用了白盒测试,即按照程序内部的逻辑结构,检验程序中的每条通路是否都按预定要求正常工作。
2测试过程
检验模块之间的接口。
A每个被调用模块是否正确接受参数。
B每个调用模块是否能调用每个自己想要调用的模块。
3测试结果
测试结果表明,每个模块之间的接口都吻合,即被调用模块都能正确接受参数,调用模块能调用自己想要调用的每个模块。
二
1测试方法
采用了黑盒测试,即检查程序功能是否能按照规格说明书的规定正常使用,程序是否适当地接受数据产生正确的输出信息,并且保持外部信息的完整性。
2测试过程:主要检验是否能正确实现每个功能。
A每个功能时候按照规格说明书的要求正常使用。
B数据库里的记录是否符合要求。
C用户界面是否友好
3测试结果
结果表明,每个功能都能按照规格说明书里的要求正常使用且速度达到了预期的标准。数据库里的记录符合要求,用户界面友好。
当然,整个系统在测试过程中仍发现了不少的错误,但在知道老师的指导下改正并完善了所发现的错误和不足之处,达到了测试要求。
第
上一篇:
PB客房管理信息系统(论文和程序)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施