《软件工程与软件测试技术》案例分析PPT课件.ppt

上传人:优*** 文档编号:128170238 上传时间:2020-04-08 格式:PPT 页数:80 大小:7.21MB
返回 下载 相关 举报
《软件工程与软件测试技术》案例分析PPT课件.ppt_第1页
第1页 / 共80页
《软件工程与软件测试技术》案例分析PPT课件.ppt_第2页
第2页 / 共80页
《软件工程与软件测试技术》案例分析PPT课件.ppt_第3页
第3页 / 共80页
《软件工程与软件测试技术》案例分析PPT课件.ppt_第4页
第4页 / 共80页
《软件工程与软件测试技术》案例分析PPT课件.ppt_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《《软件工程与软件测试技术》案例分析PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程与软件测试技术》案例分析PPT课件.ppt(80页珍藏版)》请在金锄头文库上搜索。

1、1 2 软件工程与软件测试技术 韩智 3 第6章测试案例分析 6 1功能测试案例分析6 2白盒测试案例分析6 3性能测试案例分析 4 6 1功能测试案例分析 本节以 122接处警 系统为案例 深入介绍功能测试的各种方法 比如等价类划分法 因果图法 错误推测法 场景法等 如何在测试过程中选择与应用此类方法 需要根据测试项目的特点 结合测试经验灵活使用 5 6 1 1 122接处警 系统简介 122接处警 系统采用指挥中心统一接警 支队 执勤队分级处警的方式 能够受理事故 拥堵 路况信息 咨询服务 投诉 反映等各类情况 实现接警 处警 指挥调度 监督管理 语音咨询 监察投诉等功能 具有对接处警信息

2、统计 查询和深层次分析及智能化系统管理功能 同时具有系统全程数字录音和提高中英文语音服务功能 该系统是一种对业务流程的准确性要求高 功能点多且关联性强的系统 由于其业务更看重流程顺畅的要求 因此要将测试重点放在流程正确性和功能正确性的验证工作上 6 6 1 2前期分析 这个案例模拟了指挥中心统一接警 支队 执勤队分级处警的业务流程 在流程测试过程中穿插了功能点的测试 进行用例设计时首先使用场景法 对系统运行流程进行分析 可以从整体考虑用例应包括的基本流和备选流 然后通过用例场景并结合各路径的触发条件来确定用例应遵从的流程其次在设计功能点测试时要结合等价类划分 边界值分析 因果图等方法进行具体功

3、能点的设计进行用例设计时 需要强调的是必须依据软件设计说明书和用户使用手册进行操作 7 1 业务流程图 8 各路径的触发条件对照表 9 2 基本流与备选流关系图 10 场景路径表 11 路径触发条件与场景关系表 12 路径触发条件与场景关系表 续 13 测试用例选择 从以上表格可以看出 第6组条件组合覆盖了全部流程分支 因此可以按照实际测试需求 根据这个条件组合循环执行案例 达到所要求的场景覆盖率 14 6 1 3用例设计方法的分析 用错误推测法设计代码表管理的测试用例错误推测法的基本思想是列举出程序中所有可能的错误和容易发生错误的特殊情况 并根据它们选择测试用例 在本案例中 添加的代码只能为

4、数字 依据错误推测法的基本思想来设计的测试用例 15 添加代码的测试用例 16 6 1 3用例设计方法的分析 用等价类划分法和边界值分析法设计添加黑名单的测试用例首先用等价类划分法对122接处警系统中添加黑名单的限制的起止时间输入用例进行设计等价类划分是把程序的输入域划分成若干部分 然后从每个部分选取少数代表性数据作为测试用例 每一类的代表性数据在测试中的作用等价于这一类中的其他值 限制起止时间的要求和特点如下 不能有无效的日期 比如 2008 2 29必须按日期格式录入 比如 yyyy mm dd不能包含非法字符 yyyy mm dd均为大于0的整数 比如 负数 字母 特殊字符等 起始日期或

5、终止日期不能为空 不能存在无效的时间段 比如 起始时间为2008 1 31 终止日期为2008 1 1 17 等价类列表 18 限制起止时间测试用例 19 限制起止时间测试用例 续 20 边界值分析法设计测试用例 这个测试用例已覆盖了全部等价类 但对具体输入数据的测试还不够完善 在此引入边界值分析法 边界值分析法不是选择等价类的任意元素 而是选择等价类边界构建测试用例 是对等价类划分很好的补充 实践证明 在设计测试用例时 对边界附近的处理必须给予足够的重视 为检验边界附近的处理而专门设计测试用例 常常能够取得良好的测试效果 这里用边界值分析法来检查存在的边界值本案例中 主要是日期的边界值 如2

6、009 01 01 2009 01 31 2009 02 29 21 22 3 用因果图法设计接处警流程的测试用例 因果图法的思路是 从用自然语言书写的软件设计说明书中描述中找出因 输入条件 和果 输出或程序状态的变化 并将因果图转换为判定表 首先分析接处警流程中的原因和结果原因指挥中心下发接警单到支队支队下发接警单到执勤队指挥中心下发接警单到执勤队支队未下发接警单结果执勤队处警支队处警 23 3 用因果图法设计接处警流程的测试用例 因果图 24 3 用因果图法设计接处警流程的测试用例 由此可以确定122接处警系统的正向流程只有3种情况 且输出均为单一条件 因此在实际测试时要将3种情况进行一一

7、测试 25 6 1 4测试用例编写策略的应用 测试用例从测试内容角度可以分为流程用例和功能用例本案例中 对业务总流程的设计采用的是场景法 用事件触发来控制流程 而业务正向流程采用的是因果图法 功能点用例是针对具体功能点编写的测试用例 如代码管理表的测试用例 添加黑名单的测试用例等测试用例根据测试的策略可以分为通过测试用例和失败测试用例通过测试用例主要为了检验需求是否可以实现 在本案例中 用等价类划分法设计添加黑名单的测试用例时 有效等价类的测试用例即为通过测试用例失败测试用例的编写主要是为了尽可能多地发现缺陷 如无效等价类的测试用例即为失败测试用例 26 6 2白盒测试案例分析 根据白盒测试的

8、特点 一般在单元测试与集成测试阶段使用白盒测试的各种方法 与其他测试相类似 白盒测试的流程也由测试计划 测试设计 测试实施 测试结果分析等阶段组成 这里将通过2个实例详细说明在白盒测试中如何使用静态测试和动态测试方法 以及使用这两种方法进行测试时相应的测试内容和测试用例的设计过程 27 6 2 1静态测试 汽车车身控制软件用C语言编写 是用于汽车控制的软件 主要包括电动车窗 遥控中央门锁与防盗 外车灯 车内灯 后窗与后视镜加热延时以及手动雨刮控制6个模块 28 6 2 1静态测试 测试的硬件环境普通PC机CPU PIII600Hz内存 128MB硬盘 10GB测试的软件环境操作系统 Windo

9、ws2000Professional中文版编译系统 VisualStudio6 0测试工具 Telelogic公司的Logiscope5 1 29 1 静态结构分析 首先使用测试工具Logiscope对上述汽车车身控制软件进行静态结构分析 可以得到3种主要的图形 函数调用关系图文件调用关系图模块控制流图 30 1 函数调用关系图 函数调用关系图 以直观的图形方式描述了一个应用程序中各个函数的调用和被调用关系 图中每一个方块代表一个函数 数字代表函数的编号 该应用程序从上到下分为7层 包括44个函数 31 1 函数调用关系图 44个函数中18 19 37 40 42的函数被调用次数比较高 其他函

10、数功能的正确实现严重依赖于这些函数 其质量好坏对系统的影响明显高于其他函数 因此认为它们属于重要函数 需要加强对它们的测试 可以采用较高的代码覆盖率要求 32 2 文件调用关系图 文件调用关系图以图形描述了应用程序中各个文件间的调用和被调用关系 它与函数调用关系图类似 体现了文件之间的依赖关系 本案例中软件包括6个源文件 按结构分为5层 结构较为简单 33 3 模块控制图 模块控制图用于显示一个函数的内部逻辑结构 下图显示了被测汽车车身控制软件中函数n Pulse Counter的模块控制流图 该函数有1个入口和1个出口 有3个不嵌套的判断节点 结构比较简单 易于实现和理解 属于非常好的结构

11、34 2 静态质量度量 质量度量模型静态质量度量法通过使用质量度量模型分析程序的复杂性 引用复杂度参数来度量软件是否易于理解 是否可读 是否方便维护 是否可靠 建立的质量度量模型遵循ISO9126 DO 178B SEI CMM标准 描述了Halstead McCabe的度量方法学 质量因素和质量准则 使用多种参数因此 质量度量模型可以用于全面而系统的评价整个软件系统的质量在静态质量度量中 质量度量模型是我们的测试用例 35 2 静态质量度量 测试结果本案例中的汽车车身控制软件的静态质量度量结果有 MetricsKiviat图CriteriaKiviat图Criteria分布图 按照质量模型将

12、软件的所有模块的Criteria进行取值分级后 统计各级别模块的比例 并用直方图表示Factors分布图 按照质量模块将软件所有模块的Factors进行取值分级后 用饼图表示各级别模块的比例 36 MetricsKiviat图 MetricsKiviat图即对程序中的每个函数或方法 测量出其所有的metrics参数 并使用一个多轴极坐标来表示所得到的图以函数EXT LMP的MetricsKiviat图为例 每一根极轴代表一个Metrics参数 将所有参数的归一化最小值和最大值组成两个同心圆 当参数的取值位于这两个同心圆之间时表示满足质量度量模型要求 否则参数不符合要求 37 MetricsKi

13、viat图 从图中可以看出EXT LMP的VOCF LVAR和STMT参数值超过标准VOCF值过高意味着该函数包含着太近似的或者重复的语句 这样在维护时 由于许多改动可以在每处重复的代码中进行 从而引入错误的风险增大 这样的缺陷可以通过将原代码重复语句分解成可多处调用的子函数来改进 LVAR值过高也不利于维护 因为维护人员不得不花大量精力来理解这些变量 当对变量理解有误时会带来风险 存在这样的缺陷时 首先要确认局部变量已全部被使用 如果变量数仍过多 应该将函数分解成子函数来处理 STMT值过高表示函数内可执行语句较多 经验表明可执行语句越多代表着可执行的操作越多 也就意味着要花更多精力来理解该

14、函数 因此一个函数内的可执行语句应有所限制 解决这种缺陷的方法是 将函数分解 提供更好的层次性 提供可维护性 38 CriteriaKiviat图 CriteriaKiviat图 按照各Metrics参数所属的Criteria划分后所得到的Kiviat图 39 Criteria分布图 Criteria分布图 按照质量模型将软件的所有模块的Criteria进行取值分级后 统计各级别模块的比例 并用直方图表示在本案例中 使用7个图表示Criteria层的7个分类标准function TESTABILITY function STABILITY function CHANGEABILITY func

15、tion ANALYZABILITY relativeCall TESTABILITY relativeCall STABILITY relativeCall ANALYZABILITY中各等级模块的分布比例图 40 function TESTABILITY 41 function STABILITY 42 function CHANGEABILITY 43 function ANALYZABILITY 44 relativeCall TESTABILITY 45 relativeCall STABILITY 46 relativeCall ANALYZABILITY 47 Criteria分

16、布图 从以上的Criteria分布图看 除了relativeCall Stability参数外 其他参数中属于优良等级的模块均超过80 符合要求 48 Factors分布图 Factors分布图 按照质量模块将软件所有模块的Factors进行取值分级后 用饼图表示各级别模块的比例 对于一般的应用软件来说 其Factors层属于优良等级的模块应超过80 否则需要根据度量结果进行修改 49 6 2 2覆盖率测试 在覆盖率测试中将使用一个计算器的程序示例 该程序是用C 语言编写的 实现整数与浮点数的四则运算功能 50 6 2 2覆盖率测试 测试的硬件环境普通PC机CPU PIII600Hz内存 128MB硬盘 10GB测试的软件环境操作系统 Windows2000Professional中文版编译系统 VisualStudio6 0测试工具 AppliedMicrosystemsCorporation公司的CodeTest3 5 51 1 测试用例设计 导出控制流图以源代码为基础 导出程序的控制流图 52 1 测试用例设计 计算环路复杂性计算得到的控制流图G的环路复杂性V G V G 22

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号