接口参数的数据获取:
接口文档:接口文档通常会包含接口需要的请求参数和返回结果的格式、类型等信息;
Python接口自动化测试:https://www.bilibili.com/video/BV16G411x76E/
测试用例设计:根据测试用例设计的需求,可以确定需要哪些请求参数以及期望的响应结果;
业务数据:从实际业务场景中获取数据,以确保测试数据的真实性和代表性;
数据库:从数据库中获取数据,作为接口测试的输入参数;
随机数据生成器:通过随机数据生成器生成测试数据,以增加测试用例的多样性和覆盖率。
在选择数据来源时,需要根据具体情况进行选择。如果有可靠的接口文档,可以直接从文档中获取请求参数和预期结果;
如果测试用例设计已经明确了需要测试的功能和边界条件,可以根据需求设计测试数据;如果需要模拟实际业务场景,可以从业务数据或者数据库中获取数据。最后,为了提高测试用例的多样性和覆盖率,可以使用随机数据生成器。
在做接口自动化测试的过程中,接口参数的数据应该从哪里来比较好呢?
是写死、从业务流中生成动态数据、还是从数据库获取。
如果是写死,那么一旦切换环境,测试数据可能就无法使用;
如果是从业务流中获取,万一上一个接口出了问题,那么下一个接口不就会跟着出错呢?
如果是从数据库获取,数据库中可能存在脏数据,是否会造成测试接口返回的信息不准确呢?
接口数据生成
1、手动录入
通过手动创建测试数据,包括各种不同的输入、参数组合。
这种方式比较耗费时间和人力成本,适用于数据量较少的情况,不适合大规模的测试,且切换环境后可能就无法使用。
2、动态数据
从用例中生成,或使用数据生成工具生成需要的测试数据。
接口返回数据
在测试用例执行过程中,从接口返回的数据中提取需要的数据,再将这些数据用于下一个接口的测试。这种方法适用于接口之间有依赖关系的情况。比如:上一个接口查询商品,下一个接口添加购物车。
接口之间有依赖关系的场景,可能出现上一个接口报错,导致下一个接口也失败。对于这种情况,照常传参即可,因为多接口串联的用例,本身就是必须要保证每个接口都是正确的。上游控制不稳定,下游自然也会有问题,这个解决的下手点不在于接口如何传参,而是确定前置条件是否满足。
数据生成工具
使用数据生成工具自动生成符合要求的测试数据,例如:Faker、Mock、Mockito 等,可以根据数据类型、长度、规则等条件来生成数据,这些数据可能是时间戳、随机数字、随机字符串等。
这种方式适用于需要大量随机数据的情况,可以加快测试速度,同时提高测试的可复用性。
3、静态数据
静态数据是指一些不变的数据,这些数据可以被硬编码到测试脚本中。
4、配置数据
对于接口地址、端口号、数据库信息等环境相关配置,通常存储在专门的配置文件中,供全局调用。
5、从数据库中获取
在测试用例执行前,通过 SQL 语句查询数据库获取需要的测试数据,再将数据导入测试用例中。
这种方法适用于需要大量数据的情况。
在实际测试中,可能会组合使用以上几种数据来源来生成接口自动化测试数据。
无论使用哪种方式获取测试数据,都需要保证数据的准确性和完整性,以及数据的一致性和合理性。
同时,还需要根据接口的不同情况,设计不同的测试数据,包括正常数据、异常数据、边界数据等。应遵循测试用例之间保持独立性,各个用例不会关联影响的原则。
为避免测试环境出现大量测试数据以及脏数据,可将用例形成闭环,例如在后置操作中进行删除。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
只有拼尽全力,才能看到最美的风景。奋斗吧,即使路上会有坎坷和挫折,但只要不放弃,就一定能够达到心中所想!
路漫漫其修远兮,吾将上下而求索。每一步都是向着梦想的跨越,每一次努力都是为了更好的自己。只要不放弃,成功就在前方等待着你!
不经历风雨,怎能见彩虹;不经历挫折,怎能成就伟业。让每一次跌倒都成为迈向成功的脚步,坚定前行,奋斗不止!