Jmeter做功能接口测试测试用例设计方法思路【建议收藏】
所谓接口测试,最重要的无非就是要知道测什么、怎么测这两个问题。(当然什么时候测)测什么的问题由接口清单来解决,而怎么测的问题由测试用例设计和用工具执行测试用例来解决。有关于接口清单和用工具执行测试用例,我们已经在下面的这篇文章中介绍过了,这篇文章来介绍一下测试用例设计方法。
其实说的很玄乎,叫什么测试用例设计,这名词拽的一溜一溜的,但其实不要觉得它很难,不要觉得这个东西很神秘。干就完了,别怂。相信每一个学习到Jmeter的人,都是学完了一些基础测试理论的,比如说,测试用例设计方法中的等价类法、边界值法、正交表法等等。
那么到了Jmeter里面功能接口测试用例设计的时候,用到的方法和前面学的等价类法和边界值法是一毛一样的。用就完了。别觉得他们有什么不同,其实无非就是把前面的几种方法给有机组合了一下,就形成了功能接口测试用例方法。
首先,设计测试用例时可以分为正向和逆向两种思路。其实说白了就是等价类法里面的有效类和无效类。其次,需要覆盖所有的必选参数和组合可选参数。这和等价类法也很相似,比如我们在注册账号时常会遇到的必填项和选填项。
所以,我觉得,直接用功能测试的设计思路来设计就可以了,不需要拘泥于某一套方法。而在综合运用设计方法设计测试用例的时候,前辈们帮我们根据测试用例设计方法总结了几个需要注意的点,这倒是可以牢记。然后仔细一看,你就会发现,还是一些功能测试的点。
比如说:需要覆盖所有的必选参数;对于一些可以选择的参数,在综合考虑人力和时间成本的前提下,采用组合的方式来覆盖;考虑参数的边界值,这就是边界值法的应用;考虑枚举变量的所有值,比如性别只有男女;考虑是否为空;是否为空格;考虑是否包含特殊的字符,如表情包、加减乘除等;考虑输出的长度是否合乎规范,如输入密码时最少6位最长16位;考虑数据的正确性,比如说手机号一般是以1开头的等等。
所以怎么说呢,功能接口测试的单接口测试的测试用例设计方法,我觉得直接按照功能测试的方法就可以了,因为实际上,接口测试主要测的还是功能。从某种角度上来说,接口测试就是功能测试。
在设计测试用例的时候,我的建议是以等价类法为框架,然后综合使用边界值法、正交表法等方法。综合以考虑,必填字段必须全部覆盖、可选字段组合覆盖、是否为空、是否为空格、是否是特殊符号、是否符合某项数据的一般特征、是否越界等。
当然,这些方法的使用只不过来辅助我们设计用例的,是一种辅助性的手段。如果不用方法,也能够设计出比较全面的用例出来,也是完全ok的。但是对于普通人来讲,我的建议是最好还是掌握功能测试的用例设计方法,并且形成自己的框架。
比如说,在excel表格中,分别填入需要输入的参数,然后按照前述方法,一行列举一种情况,等所有的情况列举完成以后。再根据所列出的情况给出测试用例的具体数据,将测试用例设计这样一个问题分成情况分析、数据填充两个步骤,可以有效地提升用例设计的完善程度。
当然,最后设计完的用例所呈现出来的样子一定是按照具体数据来呈现的,但每一条数据所对应的都是一种情况。根据每一种情况,是需要列出每一种具体数据输入以后返回的预期结果的,然后根据实际返回的数据与预期结果进行对比,看看是否一致。若一致则不是bug,若不一致则是bug。
做一个小总结,所谓在用Jmeter做功能接口测试的过程中,测试用例设计其实和功能测试用例设计方法是一致的,都是综合考虑等价类法、边界值法等方法的一个有机组合。我的建议是要形成自己的框架,且框架最好是以等价类法(正向、逆向)为框架的,优先设计有效等价类(正向),然后再考虑是否为空、是否为空值等等来设计无效等价类。在设计时,将用例设计拆分为所有可能情况列举、每种情况下数据填充两个阶段。
总之一句话,别怂,干就完了。软件测试就是看着烦,但其实并不难。最重要的是要有自己的框架和理解。
那么等价类法、边界值法等等测试方法,常用的有哪些呢?又应该怎么使用呢?我们将在下一篇介绍基本测试理论的文章中介绍。
记得点赞收藏关注偶~后续更多精彩~
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)
可以自助拿走,群号:310357728群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦
如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见
🌻好文推荐
在小公司“混”了2年,我只认真做了5件事,如今顺利拿到字节 Offe
北京35岁程序员失业,感叹:编程估计没戏了,想去卖点煎饼果子养家~
相关文章
- zTree -- jQuery 树插件 使用方法与例子
- 恶意代码上机排查思路与方法
- java基础知识回顾之---java String final类普通方法
- Pandas 查询示例 Pandas .query() 方法过滤数据 数据帧中类似 SQL 的查询
- java实现遍历树形菜单方法——设计思路【含源代码】
- Discuz!自动获取标签实现方法
- PHP代码审计之简单思路方法
- 阿里DataV可视化大屏设计思路及方法
- Atitit aop spring5.2 demo与流程总结 目录 1.1. 定义切面MyAllAspect1 1.2. 定义普通类型userservice1 1.3. 设置切面到某个方法上ex
- Atitit 常见项目角色与职责 目录 1.1. 常见项目角色与职责1 1.2. 解决问题思路:一般百度,问同事,问上一级1 1.3. 解决问题时限:与跳过法1 1.4. 解决方法,一般实
- 从零开始学_JavaScript_系列(22)——dojo(9)(表单、JsonRest的post方法,widget的使用思路)
- 编程笔试(解析及代码实现):字符串反转(字符串逆序输出)代码实现十多种方法对比(解析思路及其耗费时间)详细攻略
- TF学习——Tensorflow框架之基础概念、设计思路、常用方法之详细攻略
- Qt QDockWidget 重叠方法
- leetCode 82.Remove Duplicates from Sorted List II (删除排序链表的反复II) 解题思路和方法
- junit结合spring-test里的MockMvc来测试SpringMvc接口方法
- 全网多种方法解决You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
- Java泛型:泛型类、泛型接口和泛型方法
- leetCode 57.Insert Interval (插入区间) 解题思路和方法
- leetCode 60.Permutation Sequence (排列序列) 解题思路和方法
- 排查C++软件异常的常见思路与方法(实战经验总结)
- 恶意代码上机排查思路与方法
- CentOS7安装CDH(三):CDH中的问题和解决方法