- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件质量保证与测试课内实验指导书白盒测试黑盒测试
软件质量保证与测试
课内实验指导书
白盒测试
1.1白盒测试背景知识
结构性测试是知道产品内部工作过程,检测产品内部动作是否按照规格说明书的规定正常进行。结构性测试允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
1.1.2 逻辑覆盖
结构性测试力求提高测试覆盖率。逻辑覆盖是一系列测试过程的总称,它是在使用白盒测试法时,选用测试用例执行程序逻辑路径的方法。
逻辑覆盖按覆盖程度由低到高大致分为以下几类:
语句覆盖:设计若干测试用例,使程序中每一可执行语句至少执行一次;
判断覆盖:设计用例,使程序中的每个逻辑判断的取真取假分支至少经历一次;
条件覆盖:设计用例,使判断中的每个条件的可能取值至少满足一次;
判断/条件覆盖:设计用例,使得判断中的每个条件的所有可能结果至少出现一次,而且判断本身所有可能结果也至少出现一次;
条件组合覆盖:设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次;显然,满足⑤的测试用例也一定是满足②、③、④的测试用例。
路径覆盖。设计足够的测试用例,使程序的每条可能路径都至少执行一次。
如果把路径覆盖和条件组合覆盖结合起来,可以设计出检错能力更强的测试数据用例。
1.1.2 基本路径测试
如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。
① 程序的控制流图
控制流图是描述程序控制流的一种图示方法。符号○称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。
② 计算程序环路复杂性
进行程序的基本路径测试时,程序的环路复杂性给出了程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。
所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次,每个条件的取真分支和取假分支也能得到测试。
基本路径集不是唯一的,对于给定的控制流图,可以得到不同的基本路径集。
通常环路复杂性可用以下三种方法求得。
*将环路复杂性定义为控制流图中的区域数。
*设E 为控制流图的边数,N 为图的结点数,则定义环路复杂性为 V(G)=E-N+2。
*若设P 为控制流图中的简单判定结点数,则有 V(G)=P+1。
③ 导出测试用例
利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行
1.2 测试题目
1.2.1 三角形问题
三角形问题的描述
三角新问题接受三个整数a,b和c 作为输入,用作三角形的边。程序的输入是由这三条边确定的三角形类型:等边三角形、等腰三角形、不等边三角形或非三角形。
三角形问题描述的细化
三角形问题接受三个整数a,b和c作为输入,用作三角形的边。整数a,b,c必须满足以下条件:
c1. 1≤a≤200
c2. 1≤b≤200
c3. 1≤c≤200
c4.ab+c
c5.ba+c
c6. ca+b
程序的输出是有着三条边确定的三角形类型:
等边三角形、等腰三角形、不等边三角形或非三角形。
如果输入值没有满足这些条件中的任何一个,则程序会通过输出消息来进行通知。
如果a,b 和c 的取值满足c1,c2和c3,则给出以下四种相互排斥输出中的一个:
如果三条边相等,则程序的输出是等边三角形;
如果恰好有两条边相等,则程序的输出是等腰三角形;
如果没有两条边想相等,则程序输出的是不等边三角形。
如果c4,c5和c6中有一个条件不满足,则程序输出的是非三角形。
主要代码
见附件中Project
要求
根据以上的C++代码画出该程序的流程图;
根据流程图,用白盒测试的用例设计方法设计测试用例实现:语句覆盖、判定覆盖、条件覆盖、条件判定覆盖以及条件组合覆盖;
根据代码画出程序的流图,根据流图计算图的复杂度,计算出基本路径的条数,并给出基本路径;
根据基本路径覆盖法设计测试用例,覆盖3中得到的基本路径;
1.2.2 NextDate问题
NextDate问题的描述
NextDate是一个有三个变量(月份、日期和年)的函数。函数返回输入日期后面的那个日期。变量月份、日期和年都具有整型值
您可能关注的文档
- 软件人才职业素质教育模式的探索与实践.doc
- 软件代码开发技术实验报告.doc
- 软件仿真技术教学研究.doc
- 软件企业研发实习人员协议模板.doc
- 软件企业研发管理模式的对比与分析.doc
- 软件体系结构原理方法与实践总结.doc
- 软件体系结构实验指导书.doc
- 软件体系结构论文一种面向方面软件体系结构模型.doc
- 软件公司员工保密协议.doc
- 软件分析实验电子档.doc
- 新解读《GB_T 16656.55-2010工业自动化系统与集成 产品数据表达与交换 第55部分:集成通用资源:过程与混合表达》最新解读.docx
- 2023年陕西省公务员考试行测试卷历年真题含答案详解.docx
- 2023年陕西省公务员考试行测试卷历年真题有完整答案详解.docx
- 2023年随州市公务员考试行测试卷历年真题及1套参考答案详解.docx
- 2021-2022学年安徽合肥瑶海区七年级下册语文期中试卷及答案.pdf
- 2023年随州市公务员考试行测试卷历年真题及一套参考答案详解.docx
- 医用超声设备在肝胆疾病诊断中的应用.pptx
- 新解读《GB_T 16477.2 - 2010稀土硅铁合金及镁硅铁合金化学分析方法 第2部分:钙、镁、锰量的测定 电感耦合等离子体发射光谱法》最新解读.docx
- 2023年陕西省公务员考试行测试卷历年真题(含答案详解).docx
- 新解读《GB_T 16477.3 - 2010稀土硅铁合金及镁硅铁合金化学分析方法 第3部分:氧化镁含量的测定 电感耦合等离子体发射光谱法》最新解读.docx
文档评论(0)