课件02-嵌入式软件测试.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式软件测试第二部分测试类型测试类型—提要代码类测试类型规格说明类测试类型质量特性类测试类型代码类测试类型代码审查(Code inspections) 代码走查(Code walkthroughs)静态分析逻辑覆盖测试(Logic-Coverage Testing)数据流测试变元测试(mutation test)代码审查—内容与方法主要测试内容检查代码和设计的一致性检查代码执行标准的情况检查代码逻辑表达的正确性检查代码结构的合理性检查代码的可读性方法审查会依据代码审查单逐项审查代码审查—过程计划介绍准备审查会返工后续跟踪代码审查—审查会评审组长SQA人员系统维护人员产品开发人员评审人员记录人员用户代表代码审查—准入条件一组技术上有能力且经过培训的审查人员一个受过培训的审查组长正确的计划和材料的分发良好的专业态度在审查会召开之前的全面准备已完成的设计文档和源代码已确认的检查单或编码标准代码审查—需要解决的实际问题审查工作流于形式,缺乏操作性参与审查工作的人员缺乏相应的培训,审查过程中得不到适当的指导、监督对审查工作的重要性和严肃性认识不足,没有合理的计划,审查前准备不充分,审查工作变成一种临时性的即兴活动审查人员的审查技能或专业知识不足代码审查—需要解决的实际问题审查会偏离主题,演变成解决方案研讨或技术攻关会,审查效率低下没有对审查中发现的问题进行跟踪,使审查工作功亏一篑,前功尽弃没有建立测量数据收集机制,不分析审查工作的有效性,管理人员和技术人员体会不到审查带来的效益和效果,不利于全员参与代码审查—工作指南审查作为项目计划的一部分考虑,分配资源和时间为每个要审查的工作产品建立一个检查表限制参与人数, 3–5名成员最佳制定议程,并且遵守议程审查会的时间不要超过两个小时以建设性的方式讨论问题,不要针对被审查产品的设计者代码类—代码审查工作指南将注意力集中在验证和确认参与者提出的意见,避免探讨解决方案限制争论和辩驳,对提出的问题有不同意见时,通过记下问题并另行专题讨论来结束争论将讨论的意见及其验证和确认的结果形成文档建立跟踪机制,确保返工活动具有满意的性能代码走查—内容与方法主要测试内容代码执行逻辑的正确性代码数据操作的正确性代码的健壮性方法人工执行测试用例采用会议形式,关键在于用例执行过程中的讨论静态分析—内容与方法主要测试内容控制流分析数据流分析接口分析表达式分析质量度量最差情况分析方法自动测试工具辅助静态分析—复杂性度量使用McCabe复杂度度量作为指标对循环嵌套进行计算对控制流图进行直观检查对数据流图进行直观检查静态分析—关注点未定义但被引用的变量必须从代码中消除全局变量异常(局部覆盖全局)必须从代码中消除消除不使用的内容不可达的代码 (包括过程)声明但未使用的变量定义的变量但未在作用域中使用应在代码中文档化说明静态分析—关注点变量定义后未使用又被重新定义应在代码中文档化说明可疑的抛投(信息丢失, 不匹配)如果不可避免, 使用显示抛投应在代码中文档化说明设计架构问题对控制流图进行直观检查过程参数异常(仅引用, 仅定义, 未使用)静态分析—关注点被零除范围检查错栈溢出错堆溢出错无效指针操作浮点上溢出浮点下溢出无效浮点运算对象未初始化逻辑覆盖测试—覆盖要求语句覆盖分支覆盖条件覆盖条件分支覆盖修正条件分支覆盖(MC/DC)条件组合覆盖基本路径覆盖逻辑覆盖测试—控制流图一个段是一个或多个无条件连续执行的语句一个段在控制流图中用一个结点表示,结点可以用任何方便的形式命名一个控制条件转移是一个分支,一个分支段在控制流图中用一个输出边表示一个程序的入口点用入口结点表示,它是一个没有输入边的结点,一个程序的出口点用出口结点表示,它是一个没有输出边的结点逻辑覆盖测试—程序实例void DoWork(int x,int y,int z){ int k=0,j=0; if((x3)(z10)) { k=x*y-1; j=sqrt(k); } if((x= =4)||(y5)) { j=x*y+10; } j=j%3; }逻辑覆盖测试—控制流图例AA: 1,2,3B: 4C: 5, 6, 7, 8D: 9E: 10, 11, 12F: 13, 14BCDEF逻辑覆盖测试—复杂度度量圈复杂度V(G)计算1V(G) = e – n + 2e表示控制流图中边的数量,n表示控制流图中节点的数量计算2V(G)=区域数计算3V(G)=判定节点数+1逻辑覆盖测试—语句覆盖程序中每条语句至少被执行一次 C1覆盖、行覆盖、段覆盖、基本块覆盖语句覆盖的盲点(循环; 条件)语句覆盖是最起码的测试要求逻辑覆盖测试—语句覆盖用例 { x=4、y=5、z=5}执行路径ABCDEFABCDE判定1:(x3)(z10)判定2: (x= =4)||(y5)F逻辑覆盖测试—

文档评论(0)

cc880559 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档