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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 没错,我,本人,就是那种卷心菜,就是那种想卷但卷不过别人的, 我每天吭哧吭哧写代码,写到办公区里空荡荡地只剩下我一个人,但我们组里,就我需求写得最慢,bug写得最多,我弟常问我:“哥,别的同事加班都没你多你绩效一定不错吧?”但、其实是因为我写不过别人,尤其公司里那个卷王,代码写得好,还写得快,改bug测试小姐姐一提他立马响应改好。 搞得测试组那边买奶茶常常会给他捎一杯,从来不带我。我真的、写bug写得好慢啊。 这天,卷王关掉关掉显示器,拎起电脑包甩到肩膀上就要走,经过我的工位凑过来瞄了一眼,意味深长地说“其实代码没必要自己写。”“我很多代码都复制粘贴的”他神秘一笑。我眼睛都瞪大了:“不是吧!没...
            0 0 1151
            分享
          •   总体情况  功能实现:  (1)文件类型正确、大小合适。  (2)文件类型正确,大小不合适。  (3)文件类型错误,大小合适。  (4)文件类型和大小都合适,上传一个正在使用中的图片。  (5)文件类型大小都合适,手动输入存在的图片地址来上传。  (6)文件类型和大小都合适,输入不存在的图片地址来上传。  (7)文件类型和大小都合适,输入图片名称来上传。  (8)不选择文件直接点击上传,查看是否给出提示。  (9)连续多次选择不同的文件,查看是否上传最后一次选择的文件。  文件上传  文件上传功能测试的测试点  1.选择符合要求的文件,上传,上传成功。  2.查看下载上传成功的文件,上传的...
            0 0 108
            分享
          •   软件测试岗位具体是做什么的?软件测试就是在测试这个软件是不是能够完全按照需求运行。软件测试岗再简单点说就是找BUG。检查软件产品是否符合用户的需求,检查程序的业务逻辑和代码逻辑,提高产品的易用性。  检查软件产品是否符合用户的需求。如果用户提出的各种功能和需求,产品没有满足的话,也就根本提不上交付产品了,因为根本达不到交付程度,所以测试人员的工作非常必要。  检查程序的业务逻辑和代码逻辑。每个人对一件事的理解不同,同理不同人员对需求的理解可能会存在差异,所以适当的时候要检查下代码是否有业务逻辑错误和代码逻辑错误,当然达不到检测程序的,可以通过手工测试来做。  提高产品的易用性。若是一个软件...
            0 0 1550
            分享
          •   工作以来,大大小小参与的项目也有十几个了,涵盖财务类、保险类、OA办公类软件,从测试流程上看,基本也都大同小异,这里将常见的测试流程做一些梳理,供刚入行的朋友学习参考,也欢迎大家完善补充。  一、需求答疑评审  参与人员:  产品、开发、测试、需求提出人、其它相关人员。  主要内容:  对需求文档进行评审,对于有疑问或者有错误的地方,进行讨论沟通,来保证对需求理解的准确性和一致性。需求文档中最好有业务流程图,能够较好的帮助相关人员快速的了解业务需求。  目标达成:  通过此次会议了解到各模块对应开发人员,以此来确定测试时间  二、罗列测试点  主要内容:  需求评审通过后,测试根据定版的需...
            0 0 921
            分享
          •   通过“测试左移”,提前与开发人员一起制定测试计划。推动代码评审、代码审计、单元测试、自动化冒烟测试、测试精准化分析以及研发自测等来保证研发阶段的质量;另外,参与配置部署,将自动化测试用例配置到持续交付链中,并通过“测试右移”,全流程监控发布后的应用质量。  具体提升为:  一、熟悉基层的测试业务  对于功能测试工程师来讲,提前了解开发的框架、开发的业务设计流程以及数据库的底层结构,对熟悉业务和在测试过程中遇到问题进行问题定位,都能给予很大的帮助。所以建议大家都尽量积极的去参加开发设计评审、数据库评审,而且在参加开发设计评审和数据库评审时还能提前发现问题(BUG)。举个很简单的例子,假如开...
            0 0 752
            分享
      • 51testing软件测试圈微信