ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

细说测试用例设计:从逻辑到数据的仔细考量

2022-01-06 20:03:16  阅读:205  来源: 互联网

标签:考量 用例 测试用例 测试 细说 设计 100 数据 软件测试


在这里插入图片描述
最近产品出现一个漏测问题,具体错误为查询展示界面,某指标结果的值为数字时正确,为空和字符时错误,数据库存储该数据字段类型为varchar且可以为空。

粗略思考

自己的用例中确实没考虑到该字符为空的情况,算是一个遗漏,细细反思以后发现自己对测试用例设计有了更深的理解,程序逻辑需要测试,但是数据也是需要全面设计的。

在做测试数据准备时,应该从测试数据有效性即开始考虑,包括但不限于字段类型所规定的所有值。如果字段为varchar,则至少包括数字、汉字、特殊字符。

首先保证数据全面覆盖测试,再根据此测试数据设计相应的逻辑用例,以此避免实际数据与测试数据差异导致的数据bug。

数据设计不是说任何数据都要进行设计,而是在理解业务基础上,结合数据库的字段类型进行设计,不切实际的数据不用考虑,但是业务可能出现的数据,都需要进行考虑。

细化用例

当掌握了基础的等价类边界值之后,其实可以解决很多基础的用例设计了,但是实际中会有很多不好设计的复杂场景,此时需要一些更高效的设计方案。

设计场景

先说一个简单的场景:

学生,成绩(边界值,等价类数据)

查询学生:姓名,成绩区间(边界值,等价类条件)

此场景下需要根绝学生成绩对学生进行筛选,测试这个功能,首先成绩区间的边界值进行设计,考虑实际情况是分数1-100,浮点数型,所以用例设计的入参会有-1 0 20 100 105五个边界值分数。

如果是区间也可以同样根据五个边界值设置区间,设置完这些之后就结束了吗?

不是的,这时候需要根据条件对数据进行设计,数据最少要有10,0,30,100四个分数。

至于为什么,其跟等价类的是一样的,0和100作为边界,而10和30作为20的左右点,20作为满足点。

同样,当设置0或者100时,也保证能够查出来数据以及有其他不满足的数据,保证每一个用例是从众多不同情况的值中正确筛选出了正确的值,这样设计的用例才满足了某条件下从不同数据中,筛选出对应的值,而某条件就包括用例设计的那些条件。

即从逻辑(条件)到数据的设计模式,数据和逻辑的关系是结合的,逻辑决定了数据的设计方法,而数据的丰富度验证了逻辑。

那么抛开数据和逻辑的角度来说,数据本身又要经过设计,比如50和50.5的区分,因为分数存在小数目,于是最后的成绩应该是10,0,30,50,50.5,100这么多分数,条件应该是= -1,0,20,50,50.5,100这么多情况,如此便验证了根据某分数查找的一基础查询。

增加条件

那么如果增加条件呢,根据姓名+成绩的方式去查询学生呢?

由于姓名又需要设计出等价类,假设姓名有五种情况,那么正常情况应该是刚才的组合*5,也就是30个情况,而数据设计也需要同样多的倍数。

这样就大大降低了测试效率,于是我引入了独立设计法。即假设各单元测试点之间是没有交叉关系的,姓名的查找不影响成绩的查找,即单纯使用姓名查找没问题,单纯使用成绩查找没问题,姓名的一种情况+成绩的一种情况查找没问题,那么我就认为成绩+姓名的所有组合查找都没有问题。

实际上这是不科学的,但是这样确实可以最大化保证最少的用例实现最高的保证。

即a的各种逻辑正确,b的各种逻辑正确,那么a且b的组合逻辑就不需要考虑a和b内部的详细情况了。

如果觉得不合理可以使用正交来解决这种情况也可以,自然是更科学一些,具体根据实际来决定,我个人很少用正交。

现在就有这么一个机会,我邀请你进入我们的软件测试学习交流群:914172719,备注“csdn”大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了!

最后也为大家准备了一份配套的学习资源,你能在 公众号:【伤心的辣条】免费获取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。


好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…

包装成1年工作经验的测试工程师,我给他的面试前的建议如下

“入职一年,那个被高薪挖来的自动化软件测试被劝退了。”

4个月自学软件测试面进阿里!如何从功能测试转成自动化…我经历了什么

6000元报了培训班,3个月后我成功“骗”进了腾讯大厂,月薪15000

在这里插入图片描述

标签:考量,用例,测试用例,测试,细说,设计,100,数据,软件测试
来源: https://blog.csdn.net/AI_Green/article/details/122351411

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有