《《软件质量保证与测试》实验报告1.docx》由会员分享,可在线阅读,更多相关《《软件质量保证与测试》实验报告1.docx(8页珍藏版)》请在第一文库网上搜索。
1、软件质量保证与测试实验报告姓名朱怀良班级软件IIO1班学号1105290137时间2014年4月25曲安财经号施信息学院软件质量保证与测试实验报告姓名朱怀良学号一1105290137班级一软件O1班年级一软件11级指导教师冯居易实验名称ParasoftC+TeSt实验室408实验日期一、实验目的及要求1掌握单元测试的目的和任务。2.掌握使用ParasoftC+Test进行单元测试的方法。二、实验环境WindowsXP,ParasoftC+Test9.2三、实验内容使用ParaSOftC+TeSt进行静态测试、动态测试、覆盖率分析等,以及形成测试报告。四、实验步骤一、静态测试1)主要学习和熟悉P
2、araSoft静态代码检测规范。2)根据选定的规则进行静态代码检测。3)审查测试结果与发现问题的修正。二、动态测试1)主要了解和熟悉自动化单元测试配置2)自动化生成并执行测试用例3)查看测试报告与审查测试结果三、覆盖率分析1)启动c+test,通过新建立c+test项目,导入VC6测试例程Exp5.1Ca1cu1ateCa1cu1ate,dspTestConfigurationsw在执行静态测试之前,查看并选定测试配置,弹出如下对话框,可以看到“User-definedw、uBui1tinwrtTeamw等三大列表。其中“User-definedw下列出的是用户设定的测试配置和规则,“Bui1
3、tin”里是Parasoft工具自带的测试规则和配置;“Team”下是开发/测试团队公用的测试规则和配置.rWS1创建,管理和运行测试配置仃即E装处戊EXampieCOnftgUratiOn,MT内建仿+AppicationMonitoringCodeReviewEmbeddedSystems,JStabcAna1ysts屈BugDetective(1icenseReqBugDetediveAggressive(I直HRK阿SK赳KCRdesEffectiveC+EffectiveST1E11emte1GJB5369HISSourceCodeMetricsISO26262Recommended
4、JointStrikeFighterMISRACMISRAC2004MISRAC+2008OWASPTop10SecurityVU请选探查看一2 .复制并建立了一个叫做ParasoftRecommendedRU1eS-test”的规范系列。根据选定的规则进行静态代码检测。并自定义测试规则。sZ用户自定义BExVteConfigurationPrMft*sRecommendedRdes田内建HAppkabonMonioringQCodeReviewQEmbeddedSystemsASMiCAnassUntTestingUtftiesBDetnoConfigurationS团队名thPardsof
5、fsRecommendedRufes/范雷静态生成执行中代码南;&i1用If目标I启用静态分析邮限制俗条规划报付的任务最大数量是:IOOo3不应用KWI分析解析楂识的文件圾费网ugDetctvi&Jj(查找:堀避M,601合计;33E用;。隐流(使用*作为通圮苻)BQ代码格式FORMAT(0P8启用)E1Q中华人民共和国S1至军用行惟GJBS369-(0/126JB用)A初妫化口N-(2/M旧用) 4如果引用所指向的对象地址Ie移改麦,不要初始化该引用IN-O5-1n名在何逢国数中初始化所有成员要费口N061 ,W初始生为械力成员支星INIT-09-I 0361H州麦m04-2 W使用=彼作符
6、来鼠值所有数IB成员W-11-2 0头文件中不能包含任何包珀化IN013)Cd不能用召苻号常盘初始化无符号整形变量INIT-02-3 4初始化所有变景(W-03-3B4通过用户自定义的构迨函数显式初购化突成员UNn073)BH用户自定义的构造函数必须初柏化动右分配球对象INIT-0-3 Jt7Wa.RfrtBta.fiffWiw*tieff-initio-31根据配置好的规则对代码进行测试。这里用上面的配置好的的规则对全部代码进行测试(用户可以选择要测试的代码)。点击菜单“C+test”-“TestUsing-Userdefined,-iiParasoftRecommendedRUIeS-te
7、st”,ParasoftC+test将会自动化进行代码静态测试。测试结束。3 .在工具菜单中选择rtC+testw-“ShowView”-“C+test”视图,可以查看到更具体的测试结果:依次展开列表框,如下图,根据选定的测试规则,执行测试后发现,代码中有1个地方违背r规范“所有的成员变量必需在构造函数中初始化INIT-06-1”。双击下图中的蓝色条处,可以自动定位到代码中的违规处,并改正。动态测试:1 .点击菜单C+testw-TestConfigurations*w,在执行自动化单元测试之前,首先查看并选定测试配置,弹出如下对话框,可以看到“User-defined”、rtBui1tinw
8、x“Team”等三大列表。其中“User-definedw下列出的是用户设定的测试配置和规则,“Bui1tin”里是Parasoft工具自带的测试规则和配置;“Team”下是开发测试团队公用的测试规则和配置。并自动化生成并执行测试用例。gATM.ocx/itinc1udewATM.hx,rHinc1udewBaseD1sp1ay.h,fATM:ATM(Bank*bank,BaseDisp1ay*disp1ay)myBank=bank;BiyDisp1aydisp1ay;voidATM:viewAccount(intaccountNunberzstringpassword)if(I(myCurr
9、entAcCoUnt=H1yBank-gecAccoUnt(accouncNuxnber,PaSSWord)myDisp1ay-show1nf0T0User(nInva1idaccount,);voidATM:Zfi1iUserRequest(UserRequestrequest,doub1eamount)if(InyCurrentAccoimt)sritch(request)pub1ic:enumUserRequestcaseREQUEST_EShowBa1ancREQUESTINVA1ID=O,TbCTTbGErREQUEST_BA1ANCE:REQUST二DEPOS1T,REQUESTW
10、ITHDRAW*质量任务CMi1CoverageWSupp测试结果,O代码审查技F2”以ctiveAggressive(1icense1)TestCaseEx上11ATM.cxx2 .查看测试报告与审查测试结果.在工具菜单中选择C+testJkShowView-“C+test(质量任务)”视图,可以查看到更具体的测试结果,下面将测试用例的执行结果都给予报告,方便开发/测试人员分析以及后续的回归测试。WttmctsewOMORf11WU(K)W)Qj1(MGMMMKaUUATM,少kdudME=ATMq*-rx11e9一*U&CCQeo,ATMxxx9适BariGB WBaseOtsctoroo
11、i .TestCbfKtFKtonrxxM,AYM3ATM. YeSM-gAceor-2.cpp ,YES3as4UyX3 YWut,Oount.cjwCpP .FgJte-AYM-EBP .e-jr*,-cB4P ,stSutejBMC*soUy.ocxspi107130。,U2MX23)ATM(OOOO/OKIjATM(OOOO/On1)CD01Moooo0e*estCMattGucco(*,皿13。,S*叫Sm戈a)at*Z.0WS,O代壹*fc1*4*cppct.b*to丽.O1瞥crrsec;qCFPTt3T*yrST30XTZXNC1(rTO(-/Am/XTBBoMp1y.CXX-
12、I3c1aTCSu1CaaBp1yshxxntr25tfn:FMte1tcCpPTt.Tet3satVwiiaaciCFrrESTMTKSTMS0XTE(TMCSvtc_BM&19p1aywhxxwff25ffnJ“PTEST二TrST73。JRMeDXSMe?_!,CPrTT3T二TE3TQX1/7e3eD-jJf:crns2rswsxiEm:AcCOUnt.cxx:OCf#inc1uderrAccount.hxx,fdoub1eAccount:deposit(doub1eamoI,myBa1ance+=amount;return(getBa1ance();0ParasoffsRecomme
13、ndedRu1es-test.区OmB令结束1/1BD已检查文件没有报告出任务危Ii1范围中静/电doub1eAccount:debit(doub1eamount(myBa1ance-amount;return(getBa1ance();文件巳检查(编码标续):1/1文件已跳过(用同标准):O文件已检查(BugDetective):1/1文件巳跳过(BugDetectIve):O运行失败:O查找到的违规:O被抑制的建规:O违反规则的条数:O0:00:06覆盖率分析:#inc1ude,cpptest.hr,c1assTestSuite_Account_cxx_cd154a26:pub1ic:CPPTEST_TEST_SUITE(TestSuite_AcCPPTEST_TEST(test_debit_1);CPPTESiT二TEST(tesJdebit二IO);