欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件结构性测试.ppt

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

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

    软件结构性测试.ppt

    国家应用软件产品质量监督检验中心国家应用软件产品质量监督检验中心软件测试工程师培训软件结构性测试概览在本章中,我们将学习:结构性测试概述 程序结构分析 逻辑覆盖 结构性测试案例 目标完成此课程之后,学员将具备以下能力:了解结构性测试的含义进行程序结构分析使用逻辑覆盖的方法进行白盒测试 使用Devpartner进行白盒测试课程目录结构测试结构测试概述概述 程序结构分析 逻辑覆盖 结构测试案例分析结构测试工具使用结构测试定义 把测试对象看做一个透明的盒子白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法白盒测试或逻辑驱动测试基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件结构测试特点可以构成测试数据使特定程序部分得到测试有一定的充分性度量手段可获得较多工具支持通常只用于单元测试结构测试的方法程序结构分析代码走查代码审查控制流分析数据流分析信息流分析逻辑覆盖语句覆盖分支覆盖条件覆盖分支-条件覆盖路径覆盖结构测试的局限不可能查出程序是否违反了设计规范不可能查出程序中因遗漏路径而出错可能发现不了一些与数据有关的错误不易生成测试数据代码覆盖率采用白盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些课程目录结构测试概述 程序结构分析程序结构分析 逻辑覆盖 结构测试案例分析结构测试工具使用程序结构分析代码走查代码审查控制流分析数据流分析信息流分析代码走查含义代码走查是由一组程序和错误检查技术组成,并以代码审查组方式进行人员组长(有威信的资深程序员担任):负责分配资料、安排计划、主持会议、记录并保存被发现的错误资深程序员测试人员程序开发员(可做会议主持)代码走查原因功能性测试很难实现有太多的条件有太多的测试用例代码审查内容检查代码和设计的一致性检查代码对标准的遵循、可读性检查代码的逻辑表达的正确性检查代码结构的合理性代码审查步骤准备程序阅读审查会跟踪及报告控制流分析 非结构化程序会给测试、排错、和程序的维护带来许多困难要求写出的程序结构良好检查程序的控制结构成为十分有意义的工作程序流程图 1325控制流图12435abcdef控制流图节点标有编号的圆圈 程序流程图中矩形框所表示的处理 菱形表示的两个甚至多个出口判断 多条流线相交的汇合点 控制流图控制流线或弧 箭头 与程序流程图中的流线一致,表明了控制的顺序 控制流线通常标有名字控制流图矩阵 acbdef1234512345控制流图矩阵便于机器表示和处理控制流图 连接弧的节点的号码决定了矩阵中元素的位置注意控制流的方向两个节点没有弧线,所对应的位置也就没有元素程序结构的基本要求 写出的程序不应包含:转向并不存在的标号 没有用的语句标号 从程序入口进入后无法达到的语句 不能达到停机语句的语句 数据流分析 查找引用未定义变量等程序错误 查找对以前未曾使用的变量再次赋值等数据流异常的情况 常见的错误表现形式错拼名字名字混淆语句丢失数据流如果程序中某一语句执行时能改变某程序变量V的值,则称V被该语句定义如果一语句的执行引用了内存中变量V的值,则称V被该语句引用例如:X=Y+Z;if YZ then return;控制流图与数据流表1234106758911节点被定义变量被引用变量1X,Y,Z2XW,X3X,Y4Y,Z5YV,Y6ZV,Z7VX8WY9ZV10ZZ11Z信息流分析通过对输入数据、输出数据、语句之间的关系的分析来检查程序错误整除算法例子输入:in_m是被除数,in_n是除数输出:out_q是商,out_r是余数整除算法例子1out_q=0;2out_r=in_m;3While(out_r=in_n)4 out_q+;5 out_r=out_r in_n;信息流关系图in_min_n12345out_q out_r12345out_q out_rin_mIn_n(1)(2)(3)信息流分析能够列出对输入变量的所有可能的引用在程序的任何指定点检查其执行可能影响某一输出变量值的语句输入输出关系提供一种检查,看每个输出值是否由相关的输入值,而不是其他值导出课程目录白盒测试概述 程序结构分析 逻辑覆盖逻辑覆盖 结构测试案例分析结构测试工具使用覆盖准则 测试到什么地步可以结束测试?覆盖准则被测小程序 if(A 1&B=0)X=X/A;if(A=2|X 1)X=X+1;被测程序段流程图A 1&B=0aA=2|X 1X=X/AFTbcX=X+1TeFd逻辑覆盖测试方法 语句覆盖 分支覆盖 条件覆盖 分支-条件覆盖 路径覆盖 语句覆盖 原理:如果语句中有错误,仅靠观察不执行可能发现不了在测试时,首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次 若干个-尽量少 语句覆盖、程序段覆盖、程序块覆盖语句覆盖率语句覆盖率已执行的可执行语句占程序中可执行语句总数的百分比复杂的程序不可能达到语句的完全覆盖语句覆盖率越高越好语句覆盖测试用例 达到语句覆盖100%的测试用例(路径ace)A=2 B=0 X=3未达到语句覆盖100%的测试用例(路径abe)A=2 B=1 X=3语句覆盖的优点检查所有语句结构简单的代码的测试效果较好容易实现自动测试代码覆盖率高 如果是程序块覆盖,则不涉及程序块中的源代码 语句覆盖不能检查出的错误条件语句错误“A 1&B=0”-“A 0&B=0”逻辑运算(&、|)错误“A 1&B=0”-“A 1|B=0”“U=A2”-“U=A1”语句覆盖不能检查出的错误循环语句错误循环次数错误跳出循环条件错误语句覆盖不能检查出的错误循环语句例子for(i=0;i3)statement;for(i=0;i=10;i+)for(i=0;i3&x3&x 1,记为T1 A 1,记为T4 X 1,B=0,记为T1,T2(2)A 1,B!=0,记为T1,F2(3)A=1,B=0,记为F1,T2(4)A 1,记为T3,T4(6)A=2,X 1,记为F3,T4(8)A!=2,X,=,=,=)B,测试时应选择AB的情况分别测试一次对于分支A(,C时,选择A=C小正数当AC时,选择A=C小正数对于测试用例取值,在每个测试用例中尽量不同的值或符号覆盖率要求对单元测试来说,语句覆盖和分支覆盖是最基本的要求由于程序中错误(异常)处理工作的重要性以及其结构相对简单,要求错误处理要做到路径覆盖对质量要求高的软件单元,可根据情况提出条件覆盖、分支-条件覆盖以及路径覆盖要求课程目录结构测试概述 程序结构分析 逻辑覆盖 结构测试案例分析结构测试案例分析结构测试工具使用结构测试案例求最小值 求数组中的最小值 k=i;for(j=i+1;j=n;j+)if(Aj Ak)k=j;程序流程图 k=i;j=i+1j=n?Aj Ak?k=jj+acbdef最少测试用例数 3测试用例(最少)用例编号输入输出循环in AiAi+1路径k10111ac1211212abefc1311221abdfc2疑问 测试用例是否足够?循环测试是否足够?在结构复杂,测试用例数非常多的情况下,这些测试用例已经可以满足测试,但并不具有充分性如何达到充分性?测试2次循环 测试用例(充分)用例编号输入输出循环 i nAiAi+1Ai+2路径k101 11ac1211 212abefc1311 221abdfc2421 3123abefbefc1521 3213abdfbefc2621 3231abefbdfc3721 3321abdfbdfc3课程目录结构测试概述 程序结构分析 逻辑覆盖 结构测试案例分析结构测试工具使用结构测试工具使用目前的白盒测试工具DevPartner(Compuware)PURE(Rational)NUnitJUnitCppUnitDevpartner的使用 演示 本课总结结构性测试包含程序结构分析和代码覆盖测试衡量结构性测试的优劣的标准是代码覆盖率使用工具将提高结构性测试的质量和加快测试的时间Thanks!

    注意事项

    本文(软件结构性测试.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开