• 0
  • 0
分享
  • 关于测试用例——软件测试圈
  • quinn 2022-07-21 11:43:52 字数 2445 阅读 1835 收藏 0

一.测试用例的基本要素

1.什么是测试用例

这个在前面其实已经说过了,具体可以看软件测试的基本概念 这篇博客,这里就简单介绍一下:测试用例是向被测试系统发起的一组集合,包括测试环境,测试步骤,测试数据,预期结果!

2.为什么软件测试人员要写测试用例?

这里有如下几个原因:

  • 测试用例是测试执行的依据;

  • 测试用例可以复用,在进行回归测试的时候就不用再重新编写了;

  • 测试用例可以衡量需求的覆盖率;

  • 后人可以借鉴;

  • 手工测试用例是自动化测试的依据

二.测试用例的设计方法

1.基于需求设计测试用例

需求是测试人员进行测试的依据,测试人员分析需求,验证需求的合理性和正确性,无二义性,从需求当中提取出测试项,根据测试项进行进一步的细分,提取出测试点,来编写测试用例,可以有以下方面的考虑:

  • 从界面开始进行测试(符合UI设计稿);

  • 验证软件的功能,把业务相关的功能穿起来进行测试(有相关性的功能),而不能只关注某一个孤立的功能;

  • 一个功能的不同的输入和相应的不同的输出;

  • 功能之间的交互性(同一个系统不同角色之间的交互类似于卖家和买家);

  • 异常功能的测试;

  • 功能用到的算法的验证(这个就需要去看代码层面了);

  • 从易用性,兼容性性能等几个方面去考虑.

  • 非功能性测试:非功能测试就是测试在软件本身有的功能之上做一些限制,非功能测试主要有易用性,兼容性,性能,安全性,可移植性,可靠性,可维护性;另外不同应用的软件对于这些非功能性的要求还是不太一样的:

假设是面向客户端的软件,类似于Word,对于性能,安全性要求一般都不太高,而对于兼容性,可移植性,稳定性就会比较高;

假设是面向企业内部的软件,类似于飞书,其对兼容性,性能要求就不是很高,但是对于功能性,可靠性要求就会很高;

假设是大型商用软件,类似于微信,QQ,其对性能,兼容性,可靠性,可移植性,安全性要求就会很高!

因此针对不同的软件,其非功能性上也是不一样的!

2.具体设计测试用例的方法

2.1.等价类

我们可以根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,然后从每一个等价类中选择一个或多个测试用例来进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价类测试通过!通过这样的方法,我们就可以解决测试用例无法穷举的情况!

另外等价类也可以分成有效等价类(符合用户需求数据规格说明的数据集合)和无效等价类(不符合用户需求数据规格说明的数据集合),而如果进行测试的话,有效等价类和无效等价类都是需要进行测试的,保证"万无一失"!

做一个简单的练习:假设一个用户名是必填的6-15个其字符类型为A-Z不区分大小写:
有效等价类:6~15个大写字符,6 ~15个小写字母.6 ~ 15个大小写混合
无效等价类:小于6个字符,大于15个字符,6 ~ 15个其他字符,数字+字母,数字+特殊字符,特殊字符+字母

2.2.边界值

针对输入和输出的边界进行测试用例的设计,假设是6 ~ 15位,5不合格,6,7合格,14,15合格,16不合格;因此边界值不仅要区边界上的值,而且要取边界两边的值,看另外边界值和等价类是结合在一起进行测试用的设计的!

2.3.错误猜测法

这个方法主要是根据测试人员的经验,以及知识的积累,猜测某一块功能是否存在问题,有针对性的进行测试用例的编写,这是一个探测性测试,针对性比较强,比较依赖测试人员的个人水平,例如搜索框中的空格问题,就需要测试人员来进行猜测测试!

2.4. 场景法

很多软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流,而不同的功能点串起来形成一个场景,不同的功能点又有不同的输出,不同的输出导致不同的测试场景,这里可以模拟一个ATM的取款场景: 插卡 – 输入密码 – 输入取款钱数 – 取款 – 退卡,然后根据每一个功能就可以有很多的测试用例:

  • 插卡:插错卡(各种其他的卡,非银行卡),卡插反了,非本银行的银行卡,银行卡的磁条无法识别,卡损坏了,卡号冻结,账户锁死了,网络不好,无法识别…

  • 输入密码:不输密码直接确认,输入错误的密码,输入错误的密码,密码输入错误超过三次,账户锁定,密码输入框是否支持删除输入操作,测试密码是否加密…

  • 输入取款钱数:输入小于卡余额的钱数,输入大于卡余额的钱数,输入等于卡余额的钱数,不输入取钱按钮是否可以执行…

  • 取款:输入小于等于卡余额的钱数取款成功,输入大于卡余额的钱数取款失败并显示余额不足,超过每日取款余额的上限,超过每日取款次数的上限…

  • 退卡:取钱后正常退卡,操作超时吞卡…

  • ATM机:ATM一切正常,ATM机出现异常(ATM余额不足,ATM机断电,断网,硬件故障,软件系统崩溃)无法执行上面功能,发生异常情况ATM机是否支持事务回滚…

上面都只是一些简单的测试点,不是具体的测试用例,如果测试用例的话,需要更加具体,而这个就是场景法的具体用处!

2.5.因果图法

因果图法是一种逻辑图,恒等,与,或,非,用因果图来设计测试用例,叫做因果图法,其的使用场景:当我们有很多输入,不同的输入或者不同的输入组合针对有不同的输出,此时我们就可以用因果图法来进行测试用例的设计,下面来看一下各种因果图:

恒等:

1.png

与:多个不同的输入为真的时候,输出才为真(类似于有车有房->结婚其他情况都是不可以的,但是其他的情况也需要考虑到):

2.png

或:多个输入其中一个为真,输出为真(类似于有车有房其中一个为真就能结婚,但是其他的情况也需要考虑)

3.png

非:

4.png

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

  1. 分析出所有的输入和输出;

  2. 找出输入和输出之间的关系;

  3. 根据关系图画出因果图;

  4. 根据因果图画出判定图;

  5. 根据判定图写出测试用例~

2.6.正交法

根据正交法来设计测试用例,就是从大量的试验数据(测试数据)来根据正交原则取出最优的数据的组合,根据最优的数据组合试验的结果,来分析整个测试的结果,这个使用的不多,因此就不过多介绍了!


作者:栋zzzz

原文链接:https://blog.csdn.net/qq_58266033/article/details/125567348

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   北京时间12月27日早间消息,据报道,美国亿万富豪埃隆·马斯克(ElonMusk)收购社交媒体Twitter后,进行了大规模裁员。Twitter员工不服,将公司告上了法庭。而该公司也开始采取措施,希望法庭能够驳回员工的集体诉讼。  当地时间周五,Twitter公司要求加州的一家联邦地方法庭,要么驳回员工集体诉讼,要么把诉讼转移到了特拉华州的另外一家法庭。根据马斯克收购Twitter公司的协议,有关的法律争议必须在特拉华州法庭审理。  Twitter方面表示,针对裁员计划提交诉讼的Twitter员工,各自的情况各不相同,另外原告并未针对集体诉讼提出代表更多Twitter员工的诉求和指控。  ...
            0 0 858
            分享
          •   免费的性能测试框架搭建课程快来领啊,成功提交问卷后还有精选好课任你挑选,数量有限,先填先得~链接:http://vote.51testing.com/  早些时候,京东家电出了一个事故。  部分用户在领取京东的无门槛优惠券之后,可以用极低的价格(几十块几块甚至0元)购买数百元的小家电,主要是烤箱及微波炉类产品。  吸引了不少羊毛党,前来薅羊毛。  传闻在极短的时间里,出现了24万笔低价订单,涉及商品金额数千万。  关于此次事故,引发了圈子的热烈探讨。  影响面无疑是巨大的,甚至有传闻说,小家电组全部开除!但其实传言难辨真假,我们作为吃瓜群众,并非内部人士,也不清楚后续的处理情况。  假如抛...
            2 4 7037
            分享
          • 原文地址(手机阅读体验更佳):https://mp.weixin.qq.com/s/cMqkkZhBF0DWEyxG745nWg送走最后一车货,最后三个工人,老王吃力的关上大铁门。左手从口袋摸出一盒烟,轻轻一颠,滑落一根,右手娴熟的夹住。掏出打火机,点燃,一丝青烟腾起,萦绕在指头。夕阳穿过玻璃,照射在伤痕累累的旧机器上,空旷而寂静。面对空无一人的厂房,老王想起父亲带他来厂房的那个清晨:阳光明媚,厂房异常热闹,忙忙碌碌的嘈杂声格外喜庆。转眼几十年过去了,厂子从织布到纺丝,从生产手套到加工衣服,终究还是走到了关闭的地步。他听说这是低端制造,利润少、污染大。老王不懂这些,但是他心里清楚东西不好卖了,...
            1 1 1334
            分享
          •  一、前言工欲善其事,必先利其器最近对 API 接口协作的软件研究了好久,市面上的软件都下载用了一轮,下面给大家介绍其中的最强「神器」 Apifox。Apifox 官网:apifox.cn在介绍它之前,先说几个场景。如果你是后端、前端或测试,那一定遇到过这些场景。1.1. 场景一、后端视角:我是个 后端 ,遇到过的问题:1、接口定好,团队里的前端、测试小伙伴找我 要文档 。代码注释好给个 Swagger 还容易被吐槽界面丑、功能弱,不能做到 开发阶段即可并行联调 ,一开始是对接不了、调试不起来的,甚至有时候还会出现前端开发完界面,只能等后端联调。2、接口联调对接过程中,总会有些接口没...
            0 0 681
            分享
          •   据路透社报道,来自日本、韩国、欧洲和北美的七家汽车巨头今日宣布正组建一家新公司,在美国提供电动汽车充电服务,以挑战特斯拉主导的北美充电标准 NACS,并试图利用美国政府的补贴。  这七家公司包括通用汽车、Stellantis、现代、起亚、本田、宝马和梅赛德斯-奔驰,这些品牌占美国市场汽车销量的一半左右,但在特斯拉主导的电动汽车市场份额较小。  这个不同寻常的竞争对手联盟表示,新合资公司的目标是成为北美领先的快速充电服务提供商,目标是沿着主要高速公路和美国城市推出 3 万个充电装置。  这些汽车巨头没有具体说明他们将单独或集体投资多少钱,但表示他们将对其他公司的额外投资或参与持开放态度,包括...
            0 0 1938
            分享
      • 51testing软件测试圈微信