• 14
  • 15
分享
  • 史上最详细的测试用例的设计方法及案例——软件测试圈
  • 曼倩诙谐 2021-02-09 11:09:50 字数 2676 阅读 4712 收藏 15

  测试用例的设计方法

  等价类

  因材施教的例子:

  原则上讲,老师都应该根据每个学生的学习情况制定相应符合的学习方案,但是实际上学生太多,老师管不过来,只能讲学生分为三六九等,优等生强调知识面的扩展和综合能力的提升,中等生强调夯实基础,查缺补漏,差等生强调优先掌握重点,暂时逃过难点.......

  思路:输入的集合是无穷的,不能全部都覆盖到。

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

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

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

  · 无效等价类:根据需求说明书,不满足需求的集合。

  超市买水果
  有效等价类:苹果,香蕉,桃子...
  无效等价类:青菜,大米,饮料...

  边界值

  日常语言的漏洞:
  考完试发成绩了,老师布置寒假作业:超过60分的,所有题目抄写一遍,低于60分的,所有题目抄写三遍。
  于是小明就没有作业~~~,因为他刚好60分

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

  1. 输入框长度为1-11,边界值取值:0,1,11,12。

  2. 运动员参赛项目为1-3项,边界值取值:0项,1项,3项,4项。

  3. 查询面页面有999行,每50行为一页,边界值取值:0行,1行,50行,51行,999行。 

  因果图

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

  因果图需要掌握的基本知识:

  · 恒等

14-1.png

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

  · 与

14-2.png

  与:只有当两个原因都为真的时候结果才为真。  

  · 或 

14-3.png

  或:两个原因中有一个为真,那么结果就为真。 

  · 非 

14-4.png  

  非:只有原因为假,结果才为真。 

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

  1.分析所有可能的输入和可能的输出

  2.找出输入与输出之间的关系

  3.画出因果图

  4.把因果图转化成判定表

  5.把判定表对应到每一个测试用例  

  案例:

  淘宝在双十一退出打折优惠活动,订单已提交,订单金额大于300或有红包,则优惠。

  1. 对于这条业务规则,首先通过分析所有可能的输入和可能的输出,可以得到如下结果:

  · 输入:订单已提交,订单金额大于300,有红包

  · 输出:优惠,不优惠

  2. 然后进行第二步,找出输入域输出之间的关系,通过分析得出以下对应关系:

  · 订单已提交,订单金额大于300,则优惠

  · 订单已提交,订单金额小于等于300,无红包,不优惠

  · 订单已提交,订单金额小于等于300,有红包,优惠

  · 订单已提交,有红包,优惠

  · 订单未提交,不优惠

  3. 为了方便画出因果图和判定图,对所有输入和输出编号,编号如下:

  · 订单已提交

  · 订单金额大于300

  · 有红包

  · 优惠

  · 不优惠 

  4. 画因果图

14-5.png               

  5. 画判定表

14-6.png

  6. 最终的测试用例

  1,2,3,4,5(包括6,7,8)

  正交排列

  因果图法测试用例太多怎么办?

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

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

  因素(Factor):在一项试验中,凡是考虑的变量都称为因素(变量)。

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

  正交表的构成:

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

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

  · 水平数(Levels): 任何单个因素能够取到的值的最大个数,正交表中包含的值为从0到数"水平数-1"或者从1到"水平数",用T表示:

正交表的表示形式: L=行数(水平数*因素数)  L=N(TC)

  正交表的两条性质:

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

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

  正交法设计测试用例的步骤: 

  1、有哪些因素(变量)

  2、每个因素有哪几个水平(变量的取值)

  3、选择一个合适的正交表

  4、把变量的值映射到表中

  5、把每一行的各因素水平的组合作为一个测试用例

  6、加上你认为可疑且没有在表中出现的用例组合 

  案例

  以注册为例:

  1.因素:姓名,邮箱,密码,确认密码,验证码

  2.水平: 填写,不填写

14-7.png

  3.表中的因素数:5

  表中至每个因素数的水平数=2

  行数取最少的一个,即试验次数最少的一个

  L=N(TC)=(2-1)*5+1=6(25)     N试验次数   T水平数   C因素数

  4.生成测试用例

14-8.png

  场景设计法

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

  案例

  以注册为例:

14-9.png

  错误猜测法

  错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法。

  基于经验和直觉,找出程序中你认为会出现的错误,有针对性地设计测试用例,经验可能来自于对某项业务的测试较多,也可以来自售后用户的反馈意见,或者从故障管理库中整理出bug,整理出产品越往哪些地方越容易出现问题,问题越多的地方,潜在的bug越多。

  案例

  以注册为例

  1、校验中特殊字符空格的处理?

  2、密码校验中的大小写?

  3、姓名中的特殊字符?

  4、密码发送是否明文?



作者:#define微光   

来源:CSDN

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、性能指标在性能测试的作用?  性能指标在性能测试中起着非常重要的作用,它们帮助我们评估和了解系统的性能表现。下面用通俗易懂的话来解释性能指标的作用和意义:  1.帮助我们了解系统的处理能力:性能指标可以告诉我们系统在给定负载下能够处理多少请求。就像一个快递小哥,他每天能够送多少个包裹,这个数字就是他的处理能力。对于系统来说,性能指标可以告诉我们它能够处理多少个请求,这样我们就可以知道系统的处理能力是否满足我们的需求。  2.帮助我们评估系统的稳定性:性能指标还可以帮助我们评估系统在高负载情况下的稳定性。就像一辆车,我们要知道它在高速行驶时是否稳定,需要了解它的最高速度和操控性能。对于系...
            0 0 958
            分享
          • postman 测试工具很多时候只用于简单的get或post请求,普通的请求只要加入适当的参数点击send就可以正常请求并得到相应的响应结果。当涉及到文件下载时,需要把点击send改为点击send and download(默认send处下拉选择)。如果请求参数很长要怎么复制完全:首选谷歌浏览器,在浏览器控制台指定请求地址处鼠标右击选择store as global variable,游览器会自动在控制台建立含参数信息的临时变量,此时用控制器函数JSON.stringfy(临时变量名称)展开所有参数信息方便复制。1、请求参数:2、浏览器控制台获取参数信息3、加全局参数,如加当前登入入或登入机构...
            0 0 4926
            分享
          •   最近我接触到了一种我之前没有接触过的产品,那就是物联网平台。说物联网平台之前,让咱们先来了解一下什么是物联网。物联网,简单来说,就是把各种各样的设备通过网络连接在一起,通过网络连接去管理和操控设备,获取设备采集的数据等等。  物联网其实在我们的日常生活中已经应用得非常广泛了,包括制造业、智慧城市、智慧医疗、物流、农业、智能家居等行业都有涉及。像咱们平常生活中使用手机扫码骑共享单车、无人快递柜取快递、手机连接空调设置温度等等都属于物联网的实际应用。  我目前所涉及的行业其实就属于智慧城市产业下的一个分支:水环境监测方面。  物联网平台,就是将物联网设备远程连接、管理操控、设备采集数据的获取、...
            0 0 443
            分享
          • 1.性能测试技能树(1)测试工具:loadrunner jmeter:工具+手工程序自动化脚本功能自动化回归,API 。 ui测试难点:用户和业务模型分析搭建,根据用户和业务模型开发合适的脚本,合适的需求分析转化为场景设计,大容量系统的数据生成和使用,大型系统的性能压力负载和实施,云计算的负载生产和实施(2)测试基础:同样的脚本,不同的人员执行,不同的针对点,测试结果会大相庭径。需要对系统进行需求分析,性能测试计划和设计才开始测试计划-N次回归找到瓶颈的具体原因并优化难点:评估需求,负载建模(用户和业务模型),性能生成的原理和并发之间的关系,性能测试用例,新系统需求分析,容量规划,性能测试策略...
            0 0 2793
            分享
          •   前言  相信做了测试一段时间的小伙伴都会开始意识到抓包对于测试的重要性,它涉及到功能测试、性能测试、自动化测试、安全测试和数据库测试等等。可以说我们要想做好测试就必须和抓包打交道,脱离抓包的测试是不合格的。人们都说黑客利用Wireshark等抓包工具监视别人,但是你同时会发现,监视也是测试的重要组成部分。你会通过监视来判断pass或是fail,你会通过监视来定位bug,你会通过监视来分析性能测试的结果……  1、什么是抓包   我们一般所指的“监视”,其实有个专业名称——抓包。抓包是指在计算机网络中,通过使用抓包工具截获(捕获)和分析网络数据包的过程。网络数据包是在计算机网络上传输的基本单...
            0 1 536
            分享
      • 51testing软件测试圈微信