• 0
  • 0
分享
  • 写出测试用例就完了?总得会优化吧!——软件测试圈
  • 曼倩诙谐 2022-09-26 11:17:48 字数 1316 阅读 931 收藏 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条,这样我们的用例才能更加精简,在保证用例全部覆盖的情况下避免了用例冗余。

  软件测试行业调查报告是什么,点击下方链接了解详情。带你发现更多的测试类型和工具,更有免费课程等你拿~

  链接:http://vote.51testing.com/

课程.jpg



作者:CICI    

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

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言:本篇讲堂是紧接【安全测试工具-进阶篇[访问控制漏洞(下)]】的内容。例牌,先说下安全测试工具的更新情况【工具地址:https://gitee.com/samllpig/SafeTool-51testing】1. 服务平台模拟网站服务新增XSS测试页面正文:漏洞讲解:所属模块: (A7) Cross-Site Scripting (XSS) [跨站脚本漏洞]8.1 菜单项: Cross Site Scripting [跨站脚本漏洞],本章共12个小节8.1.1 第一节主题:XSS介绍内容:1. 什么是XSS?XSS 全称是 Cross Site Scripting,翻译...
            0 0 60
            分享
          •   以支付宝支付流程为例:  支付宝和微信的支付流程说明:  支付功能一般涉及:  下单接口:调取下单  支付接口:调取第三方支付  回调接口:反馈订单号,用户信息,订单状态。  一、功能性测试  1.订单支付超时(15分钟内支付)  2.取消支付(支付)。  这里我在网上找了一张图,挺全的:  二、兼容性测试  网络切换测试(4G/5G/wifi)  不同端的兼容性测试(Android/iOS不同设备,不同Web浏览器)。  不同客户端版本兼容(覆盖安装、升级安装、卸载安装)  三、安全性测试  支付金额和扣款金额是否一致。  修改接口数据,比如修改支付金额,不允许抓包,或者数据是加密的无法...
            0 0 1617
            分享
          • Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中。旨在简化测试和开发中的API工作流。Postman 工具有 Chrome 扩展和独立客户端,推荐安装独立客户端。Postman 有个 workspace 的概念,workspace 分 personal 和 team 类型。Personal workspace 只能自己查看的 API,Team workspace 可添加成员和设置成员权限,成员之间可共同管理 API。当然我个人使用一般是不登录的,因为登录之后会自动将你的测试历史数据保存到账户里,你可以登陆网页端进行查看。 因为API的很多数据是很敏感的,...
            13 14 2480
            分享
          •   一直在51Testing网站上学习别人的测试之路,现在也想分享一下自己的经历。  结缘测试  和大家不同的地方在于,作为一名生物医学工程专业毕业生,我都是在医疗行业打转。  我的软件测试之旅分为两段,第一段是一份实习,从2019年9月到2020年1月,第二段是毕业后的第一份工作,从2020年4月到今天。  实习之路  虽然从时间上来看,我的软件测试之旅接近两年,尤其是第一份实习,虽然时间跨度有四个月,但因为当时学校导师给的压力很大,而且又赶上写论文,经常请假,因此我真正的到岗日期只有41天。  虽然时间短,但这份实习经历让我了解到什么是软件测试,算是迈入软件测试领域的第一步。  在后来的秋...
            0 0 1306
            分享
          •   最近在看单元测试的东西,想跟大家聊聊我的感受。单元测试这块说实在的,我并不太熟悉,我几乎不写单元测试,也不太爱写单元测试。  当我推广消息推送平台austin的时候,有过批评我整个项目没有单元测试,也有过让我补上单元测试的。  01、单元测试(UNIT TEST)  我有个前同事进了外企,他说进了外企以后学习了很多新名词,刚进去时都不知道他们讲的是什么...  他问我:UT你知道是什么意思吗?  我说:不知道啊。  他说:UT是Unit Test,单元测试  我说:你们现在都要写单元测试吗?  他说:是啊  后来,我在群里闲聊的时候,发现有个企鹅上班的大哥也不知道UT是什么意思,那我就放心...
            0 0 1311
            分享
      • 51testing软件测试圈微信