测试思维催化单元测试.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测试思维催化单元测试

一、常用测试方法说单元测试之前,先给大家看张图片:上面这张图片叫做自动化分层测试金字塔,是最近曝光度比较高的一个概念。意思,真的不用解释,一目了然。有一本书,之前我们前公司质保老大极力推荐阅读的,叫《Google测试之道》,这本书里讲述Google产品,其70%的投入为单元测试,20%为集成、接口测试,仅10%?为UI层的自动化测试。当然项目不同,实际投入肯定也是不同的,纯API接口 的项目就没有UI测试,但不管怎样,无疑单元测试时最重要的。单元测试时如何写用例?一般在编写测试用例时我们大致会考虑到这些常用的方法:划分等价类法、边界值分析法、错误推测法、场景法、因果图法、语句覆盖法、判定覆盖、条件覆盖、条件组合测试、路径测试等等等,首先我们先来梳理下这些测试方法的概念。1、划分等价类法等价类又分为有效等价类和无效等价类,所谓有效等价类,是指对于程序的规格说明来说是合理的,有意义的输入数据,通常我们开发的同学喜欢用一个test来验证某功能是否正常,这就是有效等价类,无效等价类则往反方向理解即可,举个例子,我们平时的成绩单其最低分为0分,最高分100分,那么0~100的数据则为有效等价类,小于0或者大于100即为无效等价类。2、边界值分析法边界值也即条件的临界值,积累的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此需要针对各种边界情况设计测试用例,查出更多的错误。3、错误推测法错误猜测大多基于经验,需要从边界值分析等其他技术获得帮助。这种技术猜测特定软件类型可能发生的错误类型,并且设计测试用例查出这些错误。对有经验的工程师来说,错误猜测有时是唯一最有效发现BUG的测试设计方法。为了最好地利用现成的经验,可以列出一个错误类型的检查列表,帮助猜测错误可能发现的问题场景法场景法是黑盒测试中最重要的测试方法,主要在与业务测试,对每个场景生成相应的测试用例因果图法用图解的方法表示输入的各种组合关系,写出判定表,从而设计相应的测试用例。语句覆盖法顾名思义,设计的用例需要使得可执行语句至少被执行一次判定覆盖法判定覆盖又称为分支覆盖,它要求设计足够多的测试用例,使得程序中每个判定(整体结果)至少有一次为真值,有一次为假值,即:程序中的每个分支至少执行一次。每个判断的取真、取假至少执行一次。条件覆盖法设计的用例需要使得每个条件至少有一次是真值,一次是假值。条件组合测试即设计的用例为条件的各种可能的组合路径测试设计足够的测试用例,覆盖程序中所有可能的路径。以上是黑白盒测试过程中常用的测试方法。二、测试工具与单元测试用例设计单元测试的工具比较多,每种语言均有各自的测试框架,比如Java有junit,C++有cppunit,python有unittest框架,spring也都有自己的单元测试框架。在此不加赘述。若假设有这样一个小单元,需求为:充值金额小于等于1000,不赠送,大赠送120,最多能充5000。这用例咋个设计呢?首先选取其中合适的方法进行用例设计。因错误推测和场景法与测试人员经验以及业务相关,这里不好举例,先排开这两种方法。白盒测试方法里路径测试其用例设计覆盖面相对比较全,需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),我们可选取路径测试方法。对以上小单元,我们分别以等价类、边界值、路径覆盖设计用例。等价类从传入的参数来看,a被定义为int型且大于0,那传递一个正常的参数,如:900 就属于有效等价类啦,若设计一个小于0的数据即为无效等价类:用例1:a = 100;用例2:a = -100在界面用例设计中无效等价类我们还会考虑参数的异常传入类型,如:String、float等,但在单元测试中程序肯定会报错的。边界值分析边界值也即条件的临界值,积累的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此需要针对各种边界情况设计测试用例,查出更多的错误。比如上面的例子,0、1000、5000就分别是两个边界值,对于边界值,我们通常采取大于、等于、小于的方式选值。如上图,我们可以将用例设计为:用例1:a = 999;用例2:a = 1000;用例3:a = 1001;用例4:a = 4999;用例5:a = 5000;用例6:a = 5001用例7:a = -1用例8:a = 0用例9:a = 1;路径覆盖为了更直观,先画个流程图:路径覆盖即为覆盖所有路径,从流程图可以看出有三条路径,分别为FAE、FBCE、FBDE,我们可以设计如下用例:那以上这些用例都是这一个小小的单元在功能测试上需要考虑到的,结尾废话就不说了,其实现在还有一种比较火的概念,叫测试驱动开发(TDD),大家有空可以踩踩研发三组殷绍昕童鞋的博客:/

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档