南昌航空大学实验报告2014年12月7日课程名称:软件质量保证与测试实验名称:功能性测试班级:12203125姓名:同组人:指导教师评定:签名:一、实验目的掌握边界值、等价类、决策表测试的基本功能性测试方法二、实验要求分别用健壮性测试(边界值方法)、弱健壮等价类测试(等价类方法)和决策表测试技术分别对三角形问题|、Nextdate问题和佣金问题设计测试用例,并分别对实验一所编写的三个程序进行测试。三、实验步骤1.运行VisualC++开发工具;2.在开发环境中完成程序设计,并进行调试;3.在程序没有语法错误的前提下重点检查程序的逻辑错误;4.对程序进行调试,并记录实验数据。四、实验内容1.三角形问题问题描述:输入三角形三条边a、b、c,三条边有效取值范围为[1,200],判断该三角形是什么三角形,输出内容具体包括:(1)等边三角形;(2)等腰三角形;(3)直角三角形;(4)等腰直角三角形;(5)一般三角形;(6)非三角形;(7)输入数据非法测试方法:边界值测试—健壮性测试,由于三角形三边边界较多,通过边界值测试能够更多地发现边界处的错误,缺陷测试用例的设计序号输入预期输出实际输出测试结果备注ABC10100110输入非法输入非法Passed218080等腰三角形等腰三角形Passed3290110非三角形无输出Failed截图141008090一般三角形一般三角形Passed519784114一般三角形一般三角形Passed6200100110一般三角形一般三角形Passed7201100110一般三角形一般三角形Passed81000110输入非法输入非法Passed980180等腰三角形等腰三角形Passed10902110非三角形无输出Failed截图21184197114一般三角形一般三角形Passed12100200110一般三角形一般三角形Passed13100201110一般三角形一般三角形Passed141001100输入非法输入非法Passed1580801等腰三角形等腰三角形Passed16901102非三角形无输出Failed截图31784114197一般三角形一般三角形Passed18100110200一般三角形一般三角形Passed19100110201一般三角形一般三角形Passed截图1截图2截图32.佣金问题问题描述:前亚利桑那洲境内的一位步枪销售商销售密苏里州制造商制造的步枪机(lock)、枪托(stock)和枪管(barrel)。枪机卖45美元,枪托卖30美元,枪管卖25美元。销售商每月至少要售出一支完整的步枪,且生产限额是大多数销售商在一个月内可销售70个枪机、80个枪托和90个枪管。根据当月的销售情况,并计算销售商的佣金如下:(1)不到(含)1000美元的部分为10%;(2)1000(不含)~1800(含)美元的部分为15%;(3)超过1800美元的部分为20%。佣金程序生成月份销售报告,汇总售出的枪机、枪托和枪管总数,销售商的总销售额以及佣金。测试方法:边界值测试—健壮性测试,此问题有较多的边界,采用边界值分析法能找出边界值方面的问题测试用例的设计序号输入预期输出实际输出测试结果备注枪机枪托枪管104045数据输入非法数据输入非法Passed214045售额2370,佣金419.5售额2370,佣金419.5Passed324045售额2415,佣金435.25售额2415,佣金435.25Passed4354045售额3900,佣金955.0售额3900,佣金955.0Passed5694045售额5430,佣金1490.50售额5430,佣金1490.50Passed6704045售额5475,佣金1506.25售额5475,佣金1506.25Passed7714045数据输入非法数据输入非法Passed835045数据输入非法数据输入非法Passed935145售额2730,佣金545.5售额2730,佣金545.5Passed1035245售额2760,佣金556.0售额2760,佣金556.0Passed11357945售额5070,佣金1364.5售额5070,佣金1364.5Passed12358045售额5100,佣金1375售额5100,佣金1375Passed13358145数据输入非法数据输入非法Passed1435400数据输入非法数据输入非法Passed1535401售额2800,佣金570售额2800,佣金570Passed1635402售额2825,佣金578.75售额2825,佣金578.75Passed17354089售额5000,佣金1340售额5000,佣金1340Passed18354090售额5025,佣金1348.75售额5025,佣金1348.75Passed19354091数据输入非法数据输入非法Passed20111售额100,佣金10售额100,佣金10Passed21101010售额1000,佣金100售额1000,佣金100Passed22181818售额1800,佣金220售额1800,佣金220Passed23708090售额7800,佣金2320售额7800,佣金2320Passed3.NextDate问题问题描述:输入年月日year、month、day,其中年份的有效取值范围为[1814,2014],请输出输入日期的下一天,例如输入2013年9月29日,输出为2013年9月30日。若输入日期非法,例如输入2013年2月30日,则输出“输入日期不存在”,若输入日期超出取值范围,例如输入2013年9月32日,则输出“输入日期超出范围”。测试方法:弱健壮性等价类,单缺陷假设,要考虑异常区域,覆盖问题的所有可能情况。等价类:年:○11814○22014○3平年○4闰年月:○51○612○72月○812月○9{1,3,5,7,8,10}○10{4,6,9,11}日:○111○1231○13[1,27]○14{28}○15{29}○16{30}○17{31}有效等价类:○3○4○7○8○9○10○13○14○15○16○17无效等价类:○1○2○5○6○11○12测试用例的设计序号输入预期输出实际输出覆盖等价类测试结果缺陷图号YearMonthDay11999231该日期不存在该日期不存在○3○7○17Passed21999229该日期不存在1999.2.30○3○7○15Failed图4320009302000.10.12000.10.1○4○10○16Passed420005282000.5.292000.6.1○4○9○14Failed图55200012202000.12.212000.12.21○4○8○13Passed61813217输入非法输入非法○1Passed72016217输入非法输入非法○2Passed82000017输入非法输入非法○5Passed920001317输入非法输入非法○6Passed10200020输入非法输入非法○11Passed112000232输入非法输入非法○12Passed截图4截图5测试方法二:决策表,决策表具有逻辑严格性,决策表一直被用来表示和分析复杂逻辑关系。决策表很适合描述不同条件集合下采取行动的若干组合的情况。等价类:M1={月份:每月有30天},M2={月份:每月有31天,12月除外}M3={月份:此月是12月}M4={月份:此月是2月}M5={1月}M6={12月}D1={日期:1≤日期≤27}D2={日期:日期=28}D3={日期:日期=29}D4={日期:日期=30}D5={日期:日期=31}D6={日期1}D7={日期31}Y1={年:年是闰年且在1814~2014范围内}Y2={年:年不是闰年且在1814~2014范围内}Y3={年份2014}Y4={年份1814}五、结果分析三角形问题中,从截图1,2,3中可看出:无结果输出,应该是程序不完备,没有说明非三角形的情况。佣金问题中,暂未发现缺陷下一天问题中,从截图4,5中看出:(1)1999年是平年,2月只有28天,不存在29号,所以有可能是程序中判断平年或闰年有问题(2)2000年5月28日下一天应该是5月29日,出现这种错误有可能是判断为闰年后,判断二月出现问题