• 12
  • 12
分享
  • 没有比这篇文章更详细的测试用例介绍了——软件测试圈
  • 曼倩诙谐 2020-12-22 14:04:19 字数 2950 阅读 1844 收藏 12

  1.什么是测试用例?

  测试用列(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

  2.测试用例的要素

  测试用例的标题、测试思路、预设条件、步骤、预期输出

  一个好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试。

  评价测试用例的标准:

  ·用例表达清楚,无二义性

  ·用例可操作性强

  ·永猎的输入与输出明确,一条用例只有一个预期结果

  ·用例的可维护性好

  ·用例对需求的覆盖率高

  ·暴露程序bug的能力强

  3.测试用例的好处

  ·它是测试执行者的依据

  ·它使得工作可重复,自动化测试的基础

  ·评估需求覆盖率

  ·用例的复用

  ·积累测试的方法思路以供后续借鉴

  4.测试用例的设计方法

  4.1 总体的设计方法 

  基于需求的设计 

  基于需求的测试方法RBT(Requirements-Based Testing)是基于需求的测试方法,会使得测试更加有效,它使测试专注于质量问题产生的根源,即需求。 

  基于需求的测试是一种最根本的软件测试,它关注以下问题:

  ·验证需求是否正确、完整、无二义性,并且逻辑一致

  ·要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合要求

  4.2具体的设计方法

  <1>等价类: 

  依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类找那个选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

  ·有效等价类 

  对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中所规定的功能和性能

  ·无效等价类 

  根据需求说明书,不满足需求的集合

  等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。 

  <2>边界值: 

  边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分的补充,这种情况下,其测试用例来自等价类的边界。

  例:针对6-15位长度设计测试用例。 

  有效等价类:6 < x < 15 

  无效等价类:x < 6 || x > 15 

  边界值:5,6,15,16 

  完整的测试用例:5,6,10,15,16

  在有效等价类中任选一个值代表这个等价类。 

  为什么6和15不能代表等价类? 

  边界值法要和等价类法结合使用,是互补的,边界值是等价类的一种补充。有效等价类的选取时,不选边界值,边界值单独写。 

  为什么不用3和4作为边界值? 

  3和4可以代表小于边界的类,但不能代表等于边界的类,5可以代表等于边界的类,也可以代表小于边界的类

  数据是有区间的:取边界值的时候要注意是否包含边界值,注意开区间和闭区间 

  [1,50] 边界值:0,1,50,51 

  (1,50) 边界值 :1,2,49,50 

  [1,50) 边界值:0,1,49,50

  <3>因果图 

  因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。

  ·恒等 

8-2.png   

  恒等:如果原因为真,那么结果必定为真

  ·与 

8-3.jpg

  与:只有两个原因都为真,结果才为真

  ·或 

 8-4.png  

  2个原因中有一个为真,结果就为真

  ·非 

8-5.png 

  只有原因为假,结果才为真 

  因果图设计测试用例的步骤:

  ·分析所有可能的输入和输出

  ·找出输入与输出之间的对应关系

  ·画出因果图

  ·把因果图转换成判定表

  ·把判定对应到每一个测试用例 

  因果法设计测试用例可以帮助测试人员理清输入和输出的关系,但对于比较复杂的输入和输出,会耗费大量的时间

  <4>正交排列 

  目的:正交法是为了减少用例数目,ongoing尽量少的用例覆盖输入的两两组合。 

  定义:正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合,正交试验设计是一种基于正交表的、高效率、快速、经济的是试验。

  正交表中的有关概念: 

  因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量) 

  水平(位级)(Level):在实验范围内,因素被考察的值称为水平(变量的取值) 

  行数(Runs):正交表中的行的个数,及试验的次数,用N表示 

  因素数(Factors):正交表中列的个数,用C代表 

  水平数(Levels):任何单个因素能够取得的值的最大个数。 

  正交表中包含的值为从0到“水平数-1”,或从1到“水平数”,用T代表 

  正交表的表示形式: 

  L=行数(水平数*因素数) 

  L=N(TC) 

  L 6(25):代表有6次试验,5代表有5列,有5个考察的因素,2代表每个因素有2种水平,也就是2种取值

  正交表的两条性质:

  ·每一列中各数字出现的次数都一样多

  ·任何两列所构成的各有序数对出现的次数都一样多

  <5>场景法 

  现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的场景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。 

  用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。

  <6>错误猜想法 

  错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法。基于经验和直觉,找出程序中你认为可能出现的错误,有针对性的设计测试用例。

  5.测试用例的有效性

  可以正常的发现有BUG的程序,或正常的验证程序是正确的。

  6.测试用例的粒度和评价

  测试用例的粒度:是指测试用例编写的详细程度。 

  测试用例可以写得和简单,也可以写的很复杂。最简单的测试用例是测试的纲要,仅仅指出要测试的内容,复杂的测试用例会指定输入的每项数,期待的结果及检验的方法,具体到界面元素的操作步骤,指定测试的方法和工具等。

  大多数的测试团队编写的测试用例的粒度介于两者之间,如何把握好粒度是测试用例设计的关键,也将影响测试用例设计的效率和效果,应该根据项目的时机情况、测试资源情况来决定设计出怎样粒度的测试用例。 

  可以考虑以下的内容:

  ·产品的质量要求

  ·项目对用例的要求

  ·测试时间和资源是否充分

  测试用例的评价: 

  评审分为正式和非正式评审。

  ·同行评审

  ·用户评审

  ·项目组的评审

  总结: 

  编写测试用例的时候,要分为正向、逆向、考虑边界条件、容错、性能、安全、兼容等方面考虑。



作者:Qiana_Wu   

来源:https://blog.csdn.net/Qiana_/article/details/81951392


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、测试流程1.软件开发流程:需求分析—>概要设计—>详细设计—>编码开发—>测试—>维护2.测试流程为:单元测试/集成测试—>系统测试/自动化测试—>性能测试—>验收测试3.目标:3.1 制定完整且具体的测试路线和流程,为快速、高效和高质量的软件测试提供基础流程框架。3.2 最终目标是实现软件测试规范化、标准化、自动化。4.测试流程说明:5.测试需求分析测试需求是整个测试过程的基础;确定测试对象以及测试工作的范围和作用。用来确定整个测试工作(如安排时间表、测试设计等)并作为测试覆盖的基础。而且被确定的测试需求项必须是可核实的。即,它们必须有一个...
            11 11 1268
            分享
          • 在前面几篇文章中,我阐述了我的纯测试理论,但是纯测试不是单独成立的,它也需要和现在已有的一些测试理论相结合。阴阳八卦论是我们老祖宗经过数千年总结出来的,虽然有些现象用现代理论无法解释,但是实践证明这些理论在实际的应用中是很有效果的。比如中医的理论,完全是建立在阴阳八卦理论之上的。  在纯测试中,我把测试归结成"测"与"试"两个方面,这就是测试阴阳论的两方面,我们可以把"测"认为是"阳"、"试"认为是"阴"。阴中有阳,阳中有阴说明在执行测试的时候,在运用"测"...
            0 0 1356
            分享
          •   前言  一般在面试的时候,经常会被问到关于什么是cookies、session、token,大多数面试官可以通过这几个概念基本上了解到你对接口请求方面是否了解或者工作中掌握的熟练程度。  看似很小的问题,但是背后却藏着大大的阴谋,今天跟着小编一起来了解下到底什么是cookies、session、token。  http无状态  我们都知道目前的http的协议是超文本传输协议,是属于服务器传世超文本到本地浏览器的传送协议,但是很多都不清楚http的无状态是什么意思。  其实无状态协议就是类似客户端发送一次http请求完成后,客户端再次发送一次http请求后,http协议不清楚第一次发送的和第...
            0 0 627
            分享
          •   想换工作的小伙伴们对于怎么投简历有什么想法?作为一个曾经在外包公司干了一整年的recruiter,作为走遍外包私企外企国企的测试人,作为换了7次工作的测试开发工程师,作为参加了无数面试且面试了无数人的小姐姐,我来跟大家聊点干货。  工作这个东西吧,除了养家糊口,还是需要一定的兴趣和热情的。首先要知道自己想干什么,然后是能干什么,最后才是怎么干。  TIPS:不喜欢的不要投,万一拿到offer那就是头疼的事情;自己用业余时间努力学习仍然干不了的不要投,很有可能过不了试用期,对简历不好。  想写代码的,直接去投开发岗就好,不要因为测试工作好找,先做测试以后转开发。市面上能转岗的公司不多,说可以...
            0 0 659
            分享
          • 市场上看到的数百种新的应用程序和产品,在向用户发布之前会进行大量测试。自动化测试可以加快流程,通常被视为手动测试的替代品。但是,手动测试在 QA 领域中仍然具有关键作用。如果将 QA 资源偏重其中一种方法,将错失许多提高质量的机会,而平衡手动和自动测试将带来更高质量、更稳定的产品。让我们来看看手动测试仍然很重要的一些原因。UE测试测试人员可以快速识别出什么时候看起来不对劲。自动化测试脚本不会发现这些视觉问题。当测试人员像用户一样与软件交互时,他们能够发现可用性问题和用户界面故障。自动化测试脚本很难对这些内容进行高效的测试。探索性测试自动化测试只执行预先设置的操作和流程。他们需要计划和准备编写,...
            0 0 619
            分享
      • 51testing软件测试圈微信