接口测试用例设计问题小结
2015-09-22 21:28
246 查看
1、关于“账号”
不同的测试用例,如果可能涉及到对相同数据进行处理,尽量使用不同的账号。因为测试用例达到一定量的时候,为了效率会并行执行,如果使用相同的账号,可能会对同样的数据进行处理,互相影响,造成用例的执行失败。
假如系统只有一个账号,如后台系统等,不能做到账号的不同,那就要做到数据分离。即每个测试用例,都对不同的数据如商品进行处理,这样并行执行时,测试用例操作的是不同数据,保证不会出现问题。
设计测试用例时,如果业务逻辑要求用例每执行一次,就需要一个新的账号,这种需要考虑一下是否有必要设计为自动化测试用例。
2、关于“修改”
本人设计接口测试用例时,涉及的是电商系统,其中包括很多修改,如商品、商家、店铺等等,针对这些数据的修改,会涉及到很多参数。如商品的名称,商品的尺码,商品的颜色等等。那在设计实现“修改”接口时,如何确定要传哪些参数?是只需要传我要修改的参数,还是全部参数都要传?
答案:看后台逻辑实现。
举例:User有两个属性username,password
后台逻辑实现:update User set username=? where id=xxx;
那,如果你只想更新username的时候,可以不传password,其值是保持不变的。
后台逻辑实现:udpate User set username=?,password=? where id=xxx;
这种情况下,即使你只想更新username,也需要传password的值给后台,不然password就会被更新为空。
此外,还有一些数据如id等,如果sql中没有写,那即使传递了本字段的参数,数据库也不会更新。因此,在写关于“修改”的接口时,需要考虑一下,后台的逻辑是怎么实现的,然后确认要传递哪些参数。
不同的测试用例,如果可能涉及到对相同数据进行处理,尽量使用不同的账号。因为测试用例达到一定量的时候,为了效率会并行执行,如果使用相同的账号,可能会对同样的数据进行处理,互相影响,造成用例的执行失败。
假如系统只有一个账号,如后台系统等,不能做到账号的不同,那就要做到数据分离。即每个测试用例,都对不同的数据如商品进行处理,这样并行执行时,测试用例操作的是不同数据,保证不会出现问题。
设计测试用例时,如果业务逻辑要求用例每执行一次,就需要一个新的账号,这种需要考虑一下是否有必要设计为自动化测试用例。
2、关于“修改”
本人设计接口测试用例时,涉及的是电商系统,其中包括很多修改,如商品、商家、店铺等等,针对这些数据的修改,会涉及到很多参数。如商品的名称,商品的尺码,商品的颜色等等。那在设计实现“修改”接口时,如何确定要传哪些参数?是只需要传我要修改的参数,还是全部参数都要传?
答案:看后台逻辑实现。
举例:User有两个属性username,password
后台逻辑实现:update User set username=? where id=xxx;
那,如果你只想更新username的时候,可以不传password,其值是保持不变的。
后台逻辑实现:udpate User set username=?,password=? where id=xxx;
这种情况下,即使你只想更新username,也需要传password的值给后台,不然password就会被更新为空。
此外,还有一些数据如id等,如果sql中没有写,那即使传递了本字段的参数,数据库也不会更新。因此,在写关于“修改”的接口时,需要考虑一下,后台的逻辑是怎么实现的,然后确认要传递哪些参数。
相关文章推荐
- 程序员的十层楼
- 高通发力中低端处理器市场 联发科需要慌吗?
- git暂存区和工作区详解
- exit()和_exit()区别
- react的入门讲解
- (一)、Struts第一天
- JavaScript学习总结(四)function函数部分
- [转]Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段
- android图像缓存问题
- redis
- struts2国际化标准配置
- matlab截取图像
- Redis
- promise第一篇-简介
- 《2015年秋季个人阅读计划》
- maven 学习总结(五)——聚合与继承
- Codevs 2981 查字典 1
- 最近,ACM
- 专业实训题目需求分析
- 二叉树遍历(前中后)