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


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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、前言618期间上线一个活动项目。但上线不顺利,当天就出现了性能问题,接口超时,用户无法打开网页,最后不得的临时下线。花了三天两夜,重构了后台核心代码,才让活动进行下去。回头看了一下自己的时间记录,从5月31号那天晚上8点25分开始准备上线,发现异常,分析原因,重构代码,离开公司时已经是6月2号的23点54,经历51小时29分,中间的睡眠时间不到5个小时,这已经是爆发小宇宙了。这一波刚过去了,一波未平另一波又起,由于活动的奖励丰厚,大批羊毛党闻风而至,某宝上公开卖脚本的都有了,严重影响了正常用户薅羊毛。某客户反馈说:我们别说薅羊毛了,现在是整头羊都被他们牵走了!接下来的几天,又得和薅羊毛的脚...
            14 14 1107
            分享
          •   受博为峰邀请,我简单分享下,从大学毕业设计实习起至今的个人职业发展历程、工作经验和主要面试经历,希望能给大家带来一些启迪和帮助。  职业发展规划  考虑清楚自己想要什么?  如同很多刚进入职场的新人,我在一开始也没有特别清晰的个人职业规划。如果你在校有很好的课题研究机会,好好把握,大都能通过专业领域的导师或教授们,拿到一份名企的实习机会。  就在临近毕业前夕,我仍然不知道,或者说不敢去主动寻找企业、公司,选择向往的地方去实习。万幸的是,我大专毕业后进入了国有单位实习,最后有幸能够留下来开展职业生涯的第一份工作,对于当时的条件和市场来说绝对是香饽饽,至今也是很多人梦寐以求的。  当时设定好的...
            0 0 1919
            分享
          • 突变测试突变测试是一种白盒测试,其中一个程序的源代码被更改并验证现有的测试用例是否可以识别系统中的这些缺陷。程序源代码的变化很小,不会影响整个应用程序,只有有影响的特定区域和相关的测试用例才能识别出系统中的那些错误。负面测试测试人员的心态是“打破系统/应用程序”,它是通过负面测试来实现的。使用不正确的数据、无效数据或输入执行否定测试技术。它验证系统是否抛出无效输入错误并按预期运行。加载任何页面或系统不应花费太多时间,并且应在峰值负载期间持续。不同的性能和负载工具用于执行此测试。恢复测试这是一种测试,用于验证应用程序或系统从崩溃或灾难中恢复的程度。恢复测试确定系统在灾难后是否可以继续运行。假设应...
            0 0 1432
            分享
          • 工作久了发现,在互联网这个圈子里,软件测试工程师和产品经理是两个"水分"较大的岗位,在招人的时候如果不擦亮眼睛,稍有不慎就可能会踩雷。前不久面试了两位同学,面试过程有点让我大跌眼镜,为了让大家能避免相同的误区,所以才写一篇文章,分享一些我个人的经验。面试经历之前面试的一位同学简历相当漂亮,看完之后我觉得能力绝对在我之上,大致信息如下:工作时间8年 。在一家做AI的公司,从事算法测试。对持续集成及其工具比较熟悉。自己开发了测试工具平台。面试之前,我还特地的准备了几道算法题,总之是觉得碰上大牛的心态。面试过程大致如下:问:"介绍工作情况,及都做了哪些事情"。...
            0 1 3135
            分享
          •   当地时间周二,硅谷银行新任首席执行官Tim Mayopoulos对客户表示,硅谷银行已经恢复开门,准备接收和持有客户的存款。此番言论是在呼吁风投公司和其他科技客户重新回到该银行。  Tim表示:“如果你、你的投资组合公司或你公司在过去一周内转移了资金,请考虑将其中一些资金转移回来,作为安全存款多样化战略的一部分。”  Tim对客户群表示:“储户可以完全接触到他们的资金。”并补充说,新流入的资金和现有的存款都受到联邦存款保险公司的全面保护。  上周,硅谷银行刚发布的季度显示其亏损出售了价值210亿美元的证券,导致创企和VC基金纷纷逃离,超过420亿美元的存款被撤出硅谷银行。硅谷银行倒闭是美国...
            0 0 899
            分享
      • 51testing软件测试圈微信