软件测试——实验1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

淮海工学院(计算机工程学院)课内实验报告实验名称:黑盒测试专业名称:软件工程班级:Z软件161姓名:陈真杰学号:2018140539指导教师:陈艳艳实验日期:2019年3月13《软件测试》实验报告-1-一、实验目的与环境1.实验目的:(1)理解黑盒测试的含义以及基本的测试方法。(2)采用等价类划分法设计测试用例。(3)掌握用等价类划分法设计测试用例的方法。(4)掌握用因果图设计测试用例的方法。(5)掌握用边界值分析法设计测试用例的方法。2.实验环境:C语言、Java语言、Python语言等。二、实验内容1.三角形问题:输入3个整数a、b、c,分别作为三角形的3条边,通过程序判断由3条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形或者3条边不构成三角形。2.现有一个学生标准化考试批阅试卷、产生成绩报告的程序。其规格说明为:程序的输入文件有80个字符的记录组成,分为试题部分和学生答卷部分,具体内容如图所示。标题试题数标准答案(第1~50题)2试题数标准答案(第51~100题)2学号1学生答案(第1~50题)3学号2学生答案(第51~100题)3(试题部分)13491080596059601349109109105960596080808080(学生答卷部分)试题部分包括如下内容:(1)标题。这一组只有一个记录,其内容为输出成绩报告的名字。(2)标准答案。每个记录在第80个字符处标以数字2。第一个记录的第1~3个字符为“试题数”,用于标示题目编号;第10~59个字符给出第1~50题的答案,以此类推。学生答卷部分包括内容:每个记录的第80个字符均为数字3。第1~9个字符给出学号,第10~59字符给出第1至第50题的答案,以此类推。程序的输出有4个报告:(1)按学号排列的成绩单,列出每个学生的成绩、名次。(2)按学生成绩排序的成绩单。(3)平均分数及标准偏差的报告。(4)试题分析报告。按试题号排序,列出各题学生答对的百分比。3.售货机软件若投入1.5元硬币,按“可乐”“雪碧”或“红茶”按钮,送出相应的饮《软件测试》实验报告-2-料;若投入的是2元硬币,在送出饮料的同时退还5角硬币。请用因果图设计测试用例。三、方案设计1.等价类划分输入3条边a、b、c必须满足以下条件:条件11≤a≤100条件4ab+c条件21≤b≤100条件5ba+c条件31≤c≤100条件6ca+b如果输入值a、b、c满足条件1、条件2和条件3,则输出下列4种情况之一:(1)如果不同时满足条件4、条件5和条件6.则程序输出为“不构成三角形”。(2)如果3条边相等,则程序输出为“等边三角形”。(3)如果恰好有两条边相等则程序输出为“等腰三角形”。(4)如果3条边都不相等则程序输出为“一般三角形”。2.边界值分析法输入条件和输出条件详见测试用例设计部分。3.因果图执行以下操作:投入硬币。按按钮。如果执行了以上两个操作中的一个或两个,则会出现以下3种情况之一:(1)给出提示信息(2)送出商品(3)找零并送出商品四、测试数据及运行结果1.等价类划分等价类划分如表1所示。表1等价类划分表输入条件有效等价类无效等价类是否是三角形的3条边(0a101)(1)(0b101)(2)(0c101)(3)(a+bc)(4)(b+ca)(5)(c+ab)(6)(a=0||a100)(7)(b=0||b100)(8)(c=0||c100)(9)(a+b=c)(10)(b+c=a)(11)(c+a=b)(12)是否是等腰三角形(a=b)(13)(b=c)(14)(a=c)(15)(a≠b&&b≠c&&a≠c)(16)是否是等边三角形(a=b&&b=c&&a=c)(17)(a≠b)(18)(b≠c)(19)(a≠c)(20)《软件测试》实验报告-3-根据等价类划分设计测试用例,如表2所示。表2等价类测试用例用例(a,b,c)覆盖等价类预期输出实际输出Test1(4,5,6)(1)~(6)一般三角形nullTest2(0,1,2)(7)不构成三角形不构成三角形Test3(2,0,3)(8)不构成三角形Test4(0,3,4)(9)不构成三角形Test5(2,3,6)(10)一般三角形Test6(6,2,3)(11)一般三角形Test7(2,3,6)(12)一般三角形Test8(4,4,5)(1)~(6),(13)等腰三角形等腰三角形Test9(6,5,5)(1)~(6),(14)等腰三角形等腰三角形Test10(6,7,6)(1)~(6),(15)等腰三角形等腰三角形Test11(3,4,5)(1)~(6),(16)一般三角形一般三角形Test12(4,4,4)(1)~(6),(17)等边三角形等边三角形Test13(4,5,4)(1)~(6),(18)等边三角形等腰三角形Test14(5,5,4)(1)~(6),(19)等边三角形等腰三角形Test15(4,5,5)(1)~(6),(20)等边三角形等腰三角形测试结果如图1所示。图1测试用例测试结果2.边界值分析法表为输入条件及相应的测试用例。输入条件测试用例输入文件空输入文件标题没有标题标题只有一个字符《软件测试》实验报告-4-标题有80个字符试题数试题数为1试题数为50试题数为51试题数为100试题数为0试题数含有非数字字符标准答案记录没有标准答案记录,有标题标准答案记录多于一个标准答案记录少于一个学生人数0个学生1个学生200个学生201个学生学生答题某学生只有一一个回答记录,但有两个标准答案记录该学生是文件中的第一个学生该学生是文件中最后一-个学生(记录数出错的学生)学生答题某学生有两个回答记录,但只有一个标准答案记录该学生是文件中的第一个学生(记录数出错的学生)该学生是文件中最后一个学生学生成绩所有学生的成绩都相同所有学生的成绩各不相同部分学生的成绩相同(检查是否能按成绩正确排名次)有一个学生得0分有一个学生得100分输出条件及相应的测试用例如表所示。输出条件测试用例输出第(1)、(2)个报告有一个学生的学号最小(检查按学号排序是否正确)有一个学生的学号最大(检查按学号排序是否正确)适当的学生人数,使产生的报告刚好打满一页(检查打印页数)学生人数比上一用例多出1人(检查打印换页)输出第(3)个报告平均成绩100平均成绩0标准偏差为最大值(有一半为0分,其他为100分)标准偏差为0(所有成绩相同)输出第(4)个报告所有学生都答对了第一题所有学生都答错了第一题所有学生都答对了最后一题所有学生都答错了最后一题选择适当的试题数,使第(4)个报告刚好打满一页试题数比上一用例多1,使报告打满一页后,刚好剩下一题未打3.因果图《软件测试》实验报告-5-步骤1:原因和结果分析。原因(输入):(1)投入1.5元硬币。(2)投入2元硬币。(3)按“可乐”按钮。(4)按“雪碧”按钮。(5)按“红茶”按钮。中间状态:(11)已投币。(12)已按钮。结果(输出):(21)退还5角硬币。(22)送出可乐。(23)送出雪碧。(24)送出红茶。步骤2:画出因果图,如图所示。输入条件(原因)输出条件(结果)投入1元5角硬币投入2元硬币按可乐按钮按雪碧按钮按红茶按钮E(1)(2)(3)(4)(5)(11)(12)E(21)(22)(23)(24)退还5角硬币送出可乐送出雪碧送出红茶^^^^图2因果图步骤3:设计决策表。根据因果图设计决策表,如表所示,这里只有11个,而不是2=32个,这是因为图中有很多限制条件导致某些情况不可能出现。表1.1决策表条件桩动作桩1234567891011输入投入1.5元硬币(1)11110000000投入2元硬币(2)00001111000《软件测试》实验报告-6-按“可乐”按钮(3)10001000100按“雪碧”按钮(4)01000100010按“红茶”按钮(5)00100010001中间节点已投币(11)11111111000已按钮(12)11101110111输出退还5角硬币(21)00001110000送出可乐(22)10001000000步骤4:设计测试用例。根据决策表设计测试用例,如表所示。并执行了相关测试,得到的结果如表所示。编号用例说明输入数据预期结果实际结果01投入硬币,按下按钮1.5元,按“可乐”按钮送出可乐送出可乐02投入硬币,按下按钮1.5元,按“雪碧”按钮送出雪碧送出雪碧03投入硬币,按下按钮1.5元,按“红茶”按钮送出红茶送出红茶04投入硬币1.5元给出提示信息给出提示信息05投入硬币,按下按钮2元,按“可乐”按钮退还5角,送出可乐退还5角,送出可乐06投入硬币,按下按钮2元,按“雪碧”按钮退还5角,送出雪碧退还5角,送出雪碧07投入硬币,按下按钮2元,按“红茶”按钮退还5角,送出红茶退还5角,送出红茶08投入硬币2元给出提示信息给出提示信息09按下按钮按“可乐”按钮给出提示信息给出提示信息10按下按钮按“雪碧”按钮给出提示信息给出提示信息11按下按钮按“红茶”按钮给出提示信息给出提示信息五、总结通过本次软件测试我学到了很多东西,也有了很多的体会,使我想到有一句话说的是“从已知现象解决未知问题!”这句话很好的概括了黑盒测试。我对黑盒测试的理解是:站在用户的角度去思考使用程序的所有情况,完全摒弃代码部分的逻辑结构。这样测试,通过结果去推断出现问题的原因,这个过程是程序员对自己代码的重新梳理,还可以对代码的逻辑结构进行优化。是一个很好的测试方法,但这只是黑盒测试中的一个小部分,我还会继续学习其它的黑盒测试方法,并去思考和总结的。六、附录:源代码importjava.util.Scanner;publicclassTriangle_test{publicstaticvoidmain(String[]args){Scannerss=newScanner(System.in);floata=1,b=1,c=1;while(a!=1000||b!=1000||c!=1000){System.out.println(请输入三角形的三边a,b,c的值:);a=ss.nextFloat();b=ss.nextFloat();c=ss.nextFloat();System.out.println(test(a,b,c));}《软件测试》实验报告-7-}publicstaticStringtest(floatx,floaty,floatz){Stringk=null;if(x0&&x101&&y0&&y101&&z0&&z101){if(x+yz&&x+zy&&y+zx){if(x==y&&y==z){k=是等边三角形;}elseif(x==y||x==z||y==z)//调整并列关系{k=是等腰三角形;}else{k=是一般三角形;//调整并列关系}}else{k=不构成三角形;//添加补充条件}}else{k=不构成三角形;}returnk;}}

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功