• 0
  • 0
分享
  • 写出测试用例就完了?总得会优化吧!——软件测试圈
  • 曼倩诙谐 2021-12-08 10:51:07 字数 1233 阅读 1375 收藏 0

  测试用例编写完之后,我们在测试过程中往往会发现,有一些用例其实是重复的,造成很多重复工作,那么我们应当如何去除这些重复用例呢?

  尤其使用等价类划分和边界值分析编写用例时,很容易造成用例重复。

  举例

  下面我们通过一个例子来具体分析一下。

  首先选择一个场景,后台维护前台账号,主要有以下几个字段(字段太多,这里只列举三个字段进行分析)。

  账号:4~8位字母和数字组合

  密码:8~16位字母数字组合

  姓名:字母、数字、特殊字符和汉字组合,长度4~20

  下面我们对他们的等价类和边界值进行分析。

  账号

  有效等价类:6位数字和字母组合,5位纯数字组合,7位纯字母组合。

  无效等价类:3位字符,9位字符,汉字,空。

  边界值:4位字符,8位字符。

  密码

  有效等价类:9位数字和字母组合,10位纯数字组合,11位纯字母组合。

  无效等价类:7位字符,17位字符,汉字,空。

  边界值:8位字符,16位字符。

  姓名

  有效等价类:字母、数字特殊字符和汉字组合,长度10;纯字母,长度11;纯数字,长度12;纯特殊字符,长度13;纯汉字,长度14。

  无效等价类:长度3,长度21,空。

  边界值:长度4,长度10。

  如果我们只是通过等价类划分边界值分析,我们可以来统计一下共有多少条用例——共28条。

  但是测试的过程中我们就会发现,有好多重复的,比如说:我们先测试账号这个输入框,输入6位纯数字,然后其他两个输入框都需要输入有效等价类。

  其实我们一条用例里,账号、密码和姓名是都覆盖了一条测试用例的,当再测试密码这个输入框时,这条用例是重复执行的,那么我们怎么去避免这种情况呢?

  首先将所有的输入都列到一列,如下图:

1.png

  我们用例组合的原则就是,一条用例里可以包含多条有效等价类,且必须都是有效等价类。

  一条用例里只能包含一条无效等价类,且这条用例里的有效等价类不能作为验证条件,比如说:账号输入了汉字,密码和姓名都输入正确,这个时候提示了账号输入错误,这条用例是通过的,只能说明无效等价类的这个条件通过了,并不说明这条用例里的其他两个有效等价类是通过的。

  所以验证有效等价类时,不能跟无效等价类一起验证。

  接下来我们在上边的表格里标注一下哪些等价类可以组合到一起,数字相同的表示可在一条用例里覆盖。

  我们可以发现,用例1、2、3、4、5都可以在一条用例里覆盖多条有效等价类,用例6和7是比其他两个输入框多出来的有效等价类。

  因为其他两个输入框的有效等价类已经覆盖完了,那么执行这两条用例时,可以从其他两个输入框任意选取有效等价类来测试,用例8~18都是无效等价类,只能单独验证。

  这样分析下来,用例只有18条,比起原先的28条少了10条,这样我们的用例才能更加精简,在保证用例全部覆盖的情况下避免了用例冗余。



作者:CICI   

来源:http://www.51testing.com/html/59/n-4480259.html


2021 问卷礼物图.png

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言首先,请不要奢望有多么简单的办法,学习没有捷径,这里只是让你明白这一点,顺便根据个人经验帮你理一下学习的过程。其实有文章是说怎么学习以及学习什么的,但是可能还是有些抽象,或者内容有点多、有点杂,以至于不少朋友仍然觉得不知道如何下手。大家可以去打听打听,现在软件测试培训要多久,脱产学习也要三四个月,还不能保证熟练。所以说要学的东西确实很多,你如果想十天半个月就想学完找工作,那几乎不可能,所以先想想要不要干这行。当然也不是说你一定要学习三四个月甚至更长时间,毕竟培训时是让你尽可能多的掌握一些知识,以适应不同公司的要求,但是往往很多公司并不是有那么多要求的,比如培训会讲开发知识,数据库,测试工具...
            0 0 805
            分享
          • 我们使用一个电商项目进行演示,在调用登录接口完成登录之后,通过查看购物车接口获取该用户购物车中的信息。也就是说如果需要查看到购物车中的信息,则我们先要是登陆状态,这样的情况下,就需要有Cookie信息的存在了。提示:要获取购物车接口中的信息,需要使用登录后的Cookie保持登录状态。1、在HTTP信息头管理器组件中添加Cookie信息实现步骤:前提我们手动登陆电商网站,地址:http://www.testingedu.com.cn:8000/index.php/Home/user/login.html。然后通过工具获取到登陆后的Cookie数据。把Cookie数据存储到HTTP信息头管理器组件...
            9 9 3837
            分享
          • 本文实现一个WebDriver测试脚本,介绍WebDrive的常用命令、UI元素定位的策略以及在脚本中的使用,还有Get命令。你将学到:· 脚本创建· 代码走查· 测试执行· 定位Web元素· 定位符类型及其语法· 总结一、脚本创建脚本创建部分仍然使用之前创建的“Learning Selenium”项目和“gmail.com”作为被测试应用程序(AUT)。场景:启动浏览器,打开“Gmail.com”。验证页面标题并打印验证结果。输入用户名和密码。单击登录按钮。关闭web浏览器。步骤1:在“Learning Selenium”...
            1 2 3016
            分享
          •   据报道,知情人士透露,苹果(146.71,-2.69,-1.80%)的混合现实头显很可能不需要配合iPhone使用,该公司可能还在开发新机型。  知情人士表示,与第一代AppleWatch不同,苹果的首款混合现实头显可能不需要借助iPhone就能设置和使用。据悉,这款设备的最新版本及其内置的xrOS操作系统可以单独配置,而且能够直接从云端下载用户的内容和iCloud数据,从而完全脱离iPhone。  但用户仍然可以将数据从iPhone或iPad迁移到这款头显中。之前还有报道称,这款头显没有配备遥控器,用户可以直接使用眼球运动和手势来操纵其界面。  知情人士表示,作为其中一项关键的文字输入功...
            0 0 524
            分享
          •   需求  后台  o001 :超级管理员可以建立BBS分论坛  o002:超级管理员可以建立,修改,删除每个BBS分论坛版主信息,包括登录名与密码,每个BBS分论坛可以有一到多个版主;  o003:版主登录后可以修改用户名及密码;  o004:版主查看本分论坛未审批的帖子进行审批或退回.对于其他分论坛信息,本论坛版主权限与普通用户相同。  前台  o005:普通用户注册用户信息,查询密码和用户名;  o006:普通用户登录后可以修改自己的用户信息;  o007:普通用户登录后可以建立,修改,删除自己书写的帖子;  o008:普通用户登录后可以查询,查看别人发表的审核通过的帖子;  o009:...
            1 1 2693
            分享
      • 51testing软件测试圈微信