欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    软件测试实验(一二三)-答案.doc

    • 资源ID:712154       资源大小:760KB        全文页数:17页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试实验(一二三)-答案.doc

    1、黑盒测试(一)和白盒测试(二)实验背景知识 结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 一、 逻辑覆盖 结构性测试力求提高测试覆盖率。逻辑覆盖是一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。 逻辑覆盖按覆盖程度由低到高大致分为以下几类: (1) 语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次; (2) 判断覆盖:设计用例,使程序中的每个

    2、逻辑判断的取真取假分支至少经历一次; (3) 条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次; (4) 判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次; (5) 条件组合覆盖。设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足的测试用例也一定是满足、的测试用例。 (6) 路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。 如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。 二、 基本路径测试 如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只

    3、执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。 程序的控制流图 控制流图是描述程序控制流的一种图示方法。符号称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 计算程序环路复杂性 进行程序的基本路径测试时,程序的环路复杂性给出了

    4、程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,每个条件的取真分支和取假分支也能得到测试。基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。 通常环路复杂性可用以下三种方法求得。 *将环路复杂性定义为控制流图中的区域数。 *设E 为控制流图的边数,N 为图的结点数,则定义环路复杂性为 V(G)EN2。 *若设P 为控制流图中的简单判定结点数,则有 V(G)P1。 导出

    5、测试用例 利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。测试用例格式(参考)表1-2测试用例表测试项目名称测试人员编制日期测试覆盖标准测试用例名称编号测试数据预期输出实际输出测试路径12测试结果分析题目:A上图是某银行历史明细帐的查询界面。历史明细帐功能可以查询查询2年内的存折明细(不包括当天)。帐号是一个16位的数字,但是后四位的和除以5总是余3。请根据所学测试用例设计方法给该功能设计测试用例输入数据有效等价类无效等价类帐号1. 全部为数字,16位字符,最后四位数字的和除以5总是32. 有非数字存在3. 为空4. 16位字符5. 最后四位数字的和除以5不一定等于5日期1. 起

    6、始日期与截止日期均为数字且截止日期小于20160418 为8位数字 起始日期=20140418且截止日期=2016MM=1.3.5.7.8.10.12&1=DD=31Or MM=4,6,9,11&1=DD=30Or MM=2&1=DD=282. 有非数字存在3. 为空4. 8位字符5. 起始日期201604186MM=1.3.5.7.8.10.12&DD31Or MM=4,6,9,11&DD30Or MM=2&DD28验证码1.为12742. 除1274以外其他字符密码1. 6-12位字符,不能有特殊符号,不能有空格2. 12位字符3. 存在特殊符号4. 为空5. 存在空格帐号13274836

    7、58111112输入有效147127348ifufh233输入无效2输入无效376876875输入无效43423432345660006输入无效5日期2015041820160305输入有效12016oi-42015okij输入无效2输入无效3201655201699999输入无效42014031820170505输入无效52016033120141302输入无效6验证码1274输入有效17657输入无效 2密码Zhangtao1906输入有效 1#$%#&!输入无效 2输入无效3Zhnagtao 33输入无效 4B问题描述如下:1 程序读入三个正整数,这三个正整数代表同一三角形三条边的长度,

    8、程序根据这三个值判断三角形属于不等边,等腰,等边三角形中的一种,假定输入的三个正整数的值都是0100。2. 一元二次方程式 AX2+BX+C=0 的求根程序有以下功能:输入A、B、C三个系数;输出根的性质的信息,包括两个相等或不相等的实根,或无实根 打印根的值(如有实根)提示:时,方程的解:或x = 。要求:1 根据问题1、2的说明,画出对应的程序流程图2 根据边界值分析法,等价类划分法给问题1、2设计测试用例输入数据有效等价类无效等价类三角形三边分别为,x,y,z1.x+yz & x+zy & y+zx3.0x100&0y100&0z1005.x=y or y=z or x=z6.x=y=z

    9、2.x+y=z or x+z=y or y+z100or y100or z100x=3 y=4 z=5输入有效1,3x=101 y=90 z=33输入无效4x=1 y=1 z=3输入无效 2x=2 y=2 z=3输入有效1,3,5x=2 y=2 z=2输入有效1,3,5,6输入数据有效等价类无效等价类输入三个系数a,b,c1. a,b,c均为有理数3. b*b-4*a*c04. b*b-4*a*c=06. a0 & a02. a,b,c均为无理数5. b*b-4*a*c07. a=0a=2,b=5,c=2输入有效值1,3,6a=1,b=2,c=1输入有效值 1,4,6a=2, b=2,c=1输

    10、入无效值2a=2 ,b=3 ,c=2输入无效值 5a=0输入无效值 73 写程序完成问题1、2的功能(语言任选)问题1:#include void main()float a,b,c;printf(请输入三角形的三条边长x,y,z:n);scanf(%f,&a);scanf(%f,&b);scanf(%f,&c);if(a=1&a=1&b=1&c=100)if(a+bc|a+cb|b+ca) /*判断是否能构成三角形*/printf(不能构成三角形!n);else if(a=b&(a!=c)|(a=c&(b!=c)|(b=c&(a!=c) /*判断是否为等腰三角形*/printf(构成等腰三角

    11、形n);else if(a=c & a=b) /*判断是否为等边三角形*/printf(构成等边三角形n);elseprintf(构成一般三角形!n);else printf(请输入1-100之间的数!n);问题2:#include#includeint main(void) double a, b, c, result, root1, root2; scanf(%lf%lf%lf, &a, &b, &c); result = b * b - 4 * a * c; if (result = 0) if (result = 0) root1 = (-b) / (2 * a); printf(有两

    12、个相同的实根%.4lfn, root1); else root1 = (-b + sqrt(result) / (2 * a); root2 = (-b - sqrt(result) / (2 * a); printf(有两个不同的实根%.4lf和%.4lfn, root1, root2); else printf(无实根n); 4 对问题1、2用白盒测试用例的设计方法(语句覆盖、判定覆盖、条件覆盖、条件组合覆盖)设计测试用例5 语句覆盖:a) x=2 y=4 z=3, b) x=1 y=1 z=3, c) x=101 y=90 z=33, d) x=2 y=2 z=3 , e) x=2 y=

    13、2 z=26 判定覆盖a) x=2 y=4 z=3, b) x=1 y=1 z=3, c) x=101 y=90 z=33, d) x=2 y=2 z=3 , e) x=2 y=2 z=27 条件覆盖a) x=2 y=4 z=3, b) x=1 y=1 z=3, c) x=101 y=90 z=33, d) x=2 y=2 z=3 , e) x=2 y=2 z=28 条件组合覆盖a) x=2 y=4 z=3, b) x=1 y=1 z=3, c) x=101 y=90 z=33, d) x=2 y=2 z=3 , e) x=2 y=2 z=29 语句覆盖:a) a=2,b=5,c=2b) a=

    14、1,b=2,c=1c) a=2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=010 判定覆盖a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=011 条件覆盖a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=012 条件组合覆盖a) a=2,b=5,c=2b) a=1,b=2,c=1c) a=2, b=2,c=1d) a=2 ,b=3 ,c=2e) a=013 利用设计的程序和测试用例,使用这些测试用例进行测试,给出测试的情况

    15、。1.1.x = 3 y = 4 z = 52.x = 1 y = 1 z = 33.x = 101 y = 55 z = 254. x = 5 y = 5 z = 75 x = 6 y = 6 z = 62.1. a = 2 b = 5 c = 22.a = 1 b = 2 c = 13.a=2 b = 3 c = 24. a = 0 b = 2 c = 3C下面是冒泡排序的程序,其中 array: 存放一组整数, n: 没 存放数组的长度。(1) 试计算此程序段的环形复杂性; (2) 用基本路径覆盖法给出测试路径; 1.Array为空2.Array 非空, N = 13.Array 非空,

    16、 N 1, 全升序4.Array 非空, N 1, 全降序5. Array 非空, N 1, 部分升序,部分降序(3) 考虑循环嵌套,为各测试路径设计测试用例;(4) 添加驱动程序,执行测试用例,分析结果。bool Bubble( int* array, int n )int i, j, temp; if( !array )return false; for( i = 0; i n-1; i +) for( j = 0; j arrayj+1 )/ 将较小的元素放在前面 temp = arrayj; arrayj = arrayj+1;arrayj+1 = temp; return true;

    17、实验步骤、要求 (1)根据题目编写程序,并调试通过。(2)根据结构性测试技术设计测试用例1.语句覆盖array10 = ; n = 0;array1 = 1; n = 1;array5 = 5, 4, 3, 2, 1; n = 5;array5 = 1, 2, 3, 4, 5; n = 5;array5 = 1, 3, 5, 4, 2; n = 5;2.判定覆盖array10 = ; n = 0;array1 = 1; n = 1;array5 = 5, 4, 3, 2, 1; n = 5;array5 = 1, 2, 3, 4, 5; n = 5;array5 = 1, 3, 5, 4, 2

    18、; n = 5; 3.条件覆盖array10 = ; n = 0;array1 = 1; n = 1;array5 = 5, 4, 3, 2, 1; n = 5;array5 = 1, 2, 3, 4, 5; n = 5;array5 = 1, 3, 5, 4, 2; n = 5; 4.条件组合覆盖 array10 = ; n = 0;array1 = 1; n = 1;array5 = 5, 4, 3, 2, 1; n = 5;array5 = 1, 2, 3, 4, 5; n = 5;array5 = 1, 3, 5, 4, 2; n = 5; (3) 根据设计的测试用例集进行测试,计算测

    19、试用例的分支覆盖率、条件覆盖率和语句覆盖率int array10; n = 0; array1 = 1; n = 1 array5 = 5, 4, 3, 2, 1; n = 5; array5 = 1, 2, 3, 4, 5; n = 5;array5 = 1, 3, 5, 4, 2; n = 5; 小工具的实现实验(三)1 以某种语言(如C语言)的一个方法为例,试编写小工具实现一下功能a 分析程序自动生成控制流图b 计算出环形复杂度c 根据基本路径法生成测试用例。2以某种语言的为例,编写自动获得程序测试覆盖率小工具(利用程序插装等原理)。如对于某个程序,运行了测试用例以后能给出测试覆盖率等情况。


    注意事项

    本文(软件测试实验(一二三)-答案.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开