测试用例分析与设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析该函数,指出其中的语句。 在函数体内的所有语句都属于可执行语句,当然空行不属于可执行语句。但是在统计程序总行数时一般把空行也计算在内。 语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次; 测试过程:首先设计测试用例、加载测试用例,执行程序,查看执行情况,看有无没有执行到的语句,针对该语句,再设计测试用例,目的使该语句被执行到,也设计测试用例时,加载运行时可能执行了原来已经执行过的语句,在统计覆盖率时计算为已经覆盖。有时可能记录执行次数,依次来判断哪些语句是经常被执行到的,在优化程序时,这些语句可能是进行优化的对象。 一般的公司都要求语句覆盖率达到100%,当然了有些语句在测试过程中无法执行到,但是要给出说明,为什么没有执行到?例如:申请内存不成功时,某些异常处理等。 有的设计中有模块的流程图,但是一般都不会太详细,所以为了设计测试用例,有时需要自己画出模块的流程图,其实绘制流程图的过程本身就是分析程序的过程,有时在画流程的时候,就能找出一些错误来。绘制流程图,这对于比较的模块的测试尤其重要。 说明对流程图中的关键部分编号。 该测试用例虽然覆盖了可执行语句,但并不能检查判断逻辑是否有问题,例如在第一个判断中把错误的写成了||,则上面的测试用例仍可以覆盖所有的执行语句。可以说语句覆盖率是最弱的逻辑覆盖准则。 虽然说语句覆盖是最弱的逻辑覆盖准则,但是在测试中往往要求语句覆盖率很高,一般要求90%以上。 对于程序中不能执行的语句要进行说明。 很容易在前面做语句覆盖的测试用例基础添加测试用例达到判定覆盖。 对于上面的程序,如果设计两个测试用例则可以满足判定覆盖的要求。 两个测试用例虽然能够满足条件覆盖的要求,但是也不能对判断条件进行检查,例如把第二个条件y5错误的写成y5,、上面的测试用例同样满足了分支覆盖。 对例子中的所有条件取值加以标记。例如: 对于第一个判断: 条件x3 取真值为T1,取假值为-T1 条件z10 取真值为T2,取假值为-T2 对于第二个判断: 条件x=4 取真值为T3,取假值为-T3 条件y5 取真值为T4,取假值为-T4 很容易在前面做语句覆盖的测试用例基础添加测试用例达到判定覆盖。 对于上面的程序,如果设计两个测试用例则可以满足判定覆盖的要求。 两个测试用例虽然能够满足条件覆盖的要求,但是也不能对判断条件进行检查,例如把第二个条件y5错误的写成y5,、上面的测试用例同样满足了分支覆盖。 上面的测试用例不但覆盖了所有分支的真假两个分支,而且覆盖了判断中的所有条件的可能值。 但是如果设计了上面的测试用例,则虽然满足了条件覆盖,但只覆盖了第一个条件的取假分支和第二个条件的取真分支,不满足分支覆盖的要求。 分支条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行。 条件组合覆盖就是设计足够的测试用例,运行被测试对象,使得每一个判断的所有可能的条件取值组合至少执行一次。 时间分配:10分钟 分析原因(输入)和结果(输出) a1,a2,a3和a4是输入,b1,b2,b3和b4是输出 普通a3 严重a4 年薪制a1 2%(b1) 4%(b2) 月薪制a2 4%(b3) 8%(b4) 内容讲解:在讲解这个例子的时候一定要注意,讲例子扣到前面的理论来讲,通过实例分析来理解在上一个PPT中涉及的条件桩,动作桩等概念 时间:10分钟 如何发现这类问题 测试人员必须具有关于被测试软件的业务方面的知识,具备各种程序文档,可以明确一个输入可以产生何种输出。我们可以据此列出关于程序输入与输出的一个列表,然后进行测试。 测试方法小结 应用场合:同一输入对应多个输出的情况。 测试方法:测试输入对应的每一个输出。 测试知识储备:全面理解需求规格说明书中,找出输入与输出之间的关系。 时间:5分钟 如何发现这类问题 测试刷新问题的方法是增加、删除和移动屏幕上的对象。这样会使某些对象重新显示。如果不能正确地、及时地进行重新显示,就产生了软件缺陷。我们可以通过以下几个方法来检验刷新: 1.???????? 从起始位置移动对象。先移动一点,然后增加移动幅度;先移动一次或两次,然后多次移动,确保覆盖了所有区域。 2.???????? 从覆盖对象的边界开始,一点点覆盖到其中一个对象遮住另一个对象。 3.???????? 使用不同类型的对象。如果应用程序支持多种类型的对象,如文本对象,图形对象等,就把这些不同对象混在一起使用。 如果一个对象包含在另一个对象中,把被包含对象的边界设定在包含对象之外。拖动被包含对象,可能出现刷新问题。 测试方法小

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档