《功能性测试回顾》PPT课件.ppt

上传人:sh****n 文档编号:6787508 上传时间:2020-03-04 格式:PPT 页数:49 大小:1.39MB
返回 下载 相关 举报
《功能性测试回顾》PPT课件.ppt_第1页
第1页 / 共49页
《功能性测试回顾》PPT课件.ppt_第2页
第2页 / 共49页
《功能性测试回顾》PPT课件.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
功能性测试回顾 内容 测试工作量测试效率测试的有效性指南案例研究 功能性测试回顾 我们学习了很多测试技术 这些方法的共同之处就是将程序看作是将输入映射到输出的数学函数 根据研究输入值的属性演变成基于边界值的方法 等价类的方法和判定表的方法 因果图 正交测试等 四种有代表性的功能性测试方法 边界值分析等价类划分判定表因果图 边界值分析 基于边界的方法是通过标识输入程序输入变量的边界值域 确定四种技术 边界值分析 单缺陷 正常值健壮性测试 单缺陷 有异常情况最坏情况测试 多缺陷 正常值健壮最坏情况测试 多缺陷 有异常情况 等价类划分 相似的输入 输出和操作 我们定义了等价类 弱一般 单缺陷 正常值强一般 多缺陷 正常值弱健壮 单缺陷 异常值强健壮 多缺陷 异常值 判定 决策 表 判定表解决了程序函数的逻辑依赖关系判定表保证我们考虑了所有可能的条件值组合判定表的完备性能够保证一种完备的测试 因果图 根据需求规格说明书 分析因果关系有助于用一个系统的方法选择出高效的测试用例集额外的好处 就是可以指出规格说明的不完整性和不明确之处因果图是一种形式语言 实际上是一种数字逻辑电路 但没有使用标准的电子学符号 而是使用了稍微简单点的符号 每种测试方法的测试用例数曲线 每种测试方法的精细程度 边界值分析不识别数据或逻辑依赖关系 采用非常机械的方式生成测试用例 很容易被自动化等价类划分注意到数据依赖关系和函数本身使用这些手段需要更多的考虑 还需要更多的判断和技巧首先要考虑如何标识等价类 之后的处理也是机械的判定表要求测试人员既要考虑数据 又要考虑逻辑依赖关系通常通过一遍尝试可能不能得到决策表的条件 但是如果有了一个良好的条件集合 所得到的测试用例就是完备的 在一定意义上还是最少的 每种测试方法的测试用例标识工作量趋势线 测试标识工作量和测试执行工作量的折衷 容易使用的方法会生成大量测试用例 因此执行时间很长如果将工作量投入到更精细的测试方法 则执行时间就会缩短 每种测试方法的测试用例数趋势线 图8 3三角形问题的测试用例数趋势线 图8 4次日问题的测试用例数趋势线 图8 5佣金问题的测试用例数趋势线 图8 6三个问题的测试用例数趋势线 内容 测试工作量测试效率测试的有效性指南案例研究 功能性测试的基本局限 未测试的功能漏洞冗余测试降低测试的效率 efficiency 次日问题最坏情况边界值分析 page79表5 3中125个测试用例冗余测试用例1到5通过5个不同年份中的1月1日检查次日问题年对日历的这个部分没有关系 因此我们预期这种测试用例有一个就足够的如果大致估计有 10倍 的冗余 那么可以预期压缩到25个测试用例漏洞有多个2月测试 但是都没有涉及28和29日 并且与闰年也没有联系围绕2月底和闰年 测试还有严重漏洞 等价类划分和判定表方法对边界值分析方法的提高 page94次日问题的强等价类测试用例向正确的方向前进page110表7 16判定表方法的测试用例测试了强等价类测试用例遗漏的可能性所有这些分析支持两点结论功能性测试有漏洞使用更精细的手段能够缩小这些漏洞 内容 测试工作量测试效率测试的有效性指南案例研究 测试的有效性 效果 effectiveness 给定一个程序P 给定一种测试方法 用这种测试方法设计测试用例 研究所设计的测试用例能够怎样有效地找出程序P中的缺陷 研究测试有效性的困难 这要假定我们知道程序中的所有缺陷形成死循环的是 如果我们知道程序中的所有缺陷 就会采取有针对性的措施由于我们不知道程序中的所有缺陷 因此永远也不会知道给定方法所产生的测试用例是否能够发现这些缺陷 解决方法 根据不同类型的缺陷反向研究给出特定的一种缺陷 我们可以选择最有可能发现这种缺陷的测试方法 功能性测试和结构性测试 如果结合最可能出现的缺陷种类的知识 最终会得到可提高措施有效性的实用方法通过跟踪所开发软件中的缺陷的种类 和密度 还可以改进这种方法 内容 测试工作量测试效率测试的有效性指南案例研究 与软件测试有关的故事 有一个醉汉在路灯下的人行道上爬行 当警察问他在干嘛时 他说他在找汽车钥匙 你是在这里丢的吗 警察问 不 我是在停车场丢的 但这里光线更亮 刻舟求剑 故事对测试人员的重要启示 测试不大可能存在的缺陷是没有意义的很好地了解最有可能发生的缺陷 或损害 种类 然后选择最有可能发现这类缺陷的测试方法 要更有效得多 对可能存在的缺陷无法预知时的解决方法 利用程序的已知属性 选择处理这种属性的方法在选择功能性测试方法时很有用的属性包括 变量是否表示物理量或逻辑量 在变量之间是否存在依赖关系 是假设单缺陷 还是假设多缺陷 是否有大量异常处理 选择功能性测试方法的初步的 专家系统 如果变量引用的是物理量 可采用定义域测试和等价类测试如果变量是独立的 可采用定义域测试和等价类测试如果变量不是独立的 可采用判定表测试如果单缺陷假设可保证 可采用边界值分析和健壮性测试如果多缺陷假设可保证 可采用最坏情况测试 健壮最坏情况测试和判定表测试如果程序包含大量异常处理 可采用健壮性测试和判定表测试如果变量引用的是逻辑量 可采用等价类测试用例和判定表测试 选择功能性测试的判定表 内容 测试工作量测试效率测试的有效性指南案例研究 假想的保险金计算程序 根据两个因素计算半年保险金投保人的年龄驾驶历史记录保险金 基本保险费率 年龄系数 安全驾驶折扣年龄系数是投保人年龄的函数如果投保人驾驶执照上的当前点数 根据交通违规次数确定 低于与年龄有关的门限 则给予安全驾驶折扣驾驶人年龄范围为从16岁到100岁如果投保人有12点 则驾驶人的执照就会被吊销 因此不需要保险 基本保险费率随时间变化 对于这个例子 是每半年500美元 年龄系数 门限点数与安全驾驶折扣的对应关系 年龄和点数在最坏情况边界值测试下的取值 保险金计算程序的最坏情况边界值测试 图8 7 最坏情况边界值测试的缺点与改进 遗漏了太多的问题描述没有测试各种年龄门限也没有测试点数门限改进方法通过更仔细地考虑年龄范围和点数范围 可以改进测试用例集合 年龄和点数的集合 A1 年龄 16 年龄 25 A2 年龄 25 年龄 35 A3 年龄 35 年龄 45 A4 年龄 45 年龄 60 A5 年龄 60 年龄 100 P1 点数 0 1 P2 点数 2 3 P3 点数 4 5 P4 点数 6 7 P5 点数 8 9 10 11 12 表8 2最坏情况值 图8 8保险金计算程序的最坏情况边界值测试用例 每个竖向集合 其中 年龄变量保持不变 有13个点 年龄变量的每个值 共有21个值 都有这样的一列 因此共有273个最坏情况边界值测试用例这显然会存在严重冗余 因此需要引入等价类测试 图8 9保险金计算程序的弱和强等价类测试用例 年龄集合A1到A5和点数集合P1到P5 是等价类的自然选择相应的等价类测试用例如图8 9所示空心圆点对应强一般测试用例 多缺陷 实心圆点对应弱一般测试用例 单缺陷 等价类测试的改进 判定表 等价类测试明显可以缓解冗余问题 但是看起来仍然还有改进余地为什么要针对A1测试所有点数类P2到P5 一旦超过点数门限 安全驾驶折扣就没有了可以通过表8 3所示的扩展条目决策表解决这类依赖关系 表8 3保险金计算程序的判定表 图8 10保险金计算程序的判定表测试用例 比较图8 8和图8 10 一个过多 一个不足希望找到某种折衷 而这正是醉汉找钥匙故事的意义 思考 保险金计算程序容易出现错误的地方 年龄范围的端点可能是很好的切入点 而这又把我们带回边界值模式没有考虑16岁以下和100岁以上的年龄 这说明要考虑健壮边界值的一些元素可能还需要检查安全驾驶折扣被取消的值 可能还包括保险不起作用的大于12的点数请注意 对这些问题的回答没有出现在问题描述中 但是测试分析能够启发我们考虑这些问题的答案 图8 11保险金计算程序的最终 混合 测试用例 利用了通过应用程序的性质决定的所有三种形式测试的优点 回顾 测试工作量测试效率测试的有效性指南案例研究
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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