本文章转载于搜狗测试
首先
什么是测试数据?
测试数据是为手动测试脚本中的变量提供现实数据值的相关数据记录的集合。哎呀,本宝好帅回答问题好标准,来来来亲一个。(会不会掉粉?)
好了,明确了什么是测试数据,咋们再来看,测试数据有哪些?
测试数据的来源有哪些?
途径一
数据来源:直接复用开发使用的测试数据
获取方法:取的开发数据库的地址,直接拷贝数据库表数据,并将数据导入到自己的测试数据库
途径二
数据来源:直接复用线上的真实数据
获取方法:寻求开发协助,拷贝线上数据到测试数据库
注意:涉及到一些用户数据,可能会拒绝我们获取线上数据
途径三
数据来源:直接使用线上数据
获取方法:数据库连接的线上数据库
注意:该情况出现的原因可能是开发给测试人员提供的环境使用的就是线上的数据,也可能是线上直接验证。当项目不涉及修改操作时,也可能允许测试数据库连接线上的数据库。这种情况下要特别注意不要随意更改不相干的内容。
途径四
数据来源:自行手动造数据
获取方法:第一,对于没有特殊要求的可以在测试数据库中手动批量插入数据;第二,在管理后台手动填数据
途径五
数据来源:请产品或运营为我们提供数据
获取方法:请产品或运营为我们提供数据
注意:这种情况针对的是我们不能获取真实数据但数据必须真实的项目
好了,做了铺垫之后,下面可是正儿八经的纯干货,给本宝夫张大你的big eyes看好了。
选择什么样的测试数据?
在谈论到怎样选择测试数据,首先我们需要明确的一个问题是,你如何进行测试某个功能或模块.该模块的输入数据是什么?这样咱们才能确定测试数据,So,问题来了,在测试的某个模块的时候,如何测试?请看下文。
1.选择怎样的测试手段?
数据准备是接口测试过程中不可或缺的一步,也是花费时间很长的工作,因为程序的功能就是处理数据,一个接口往往会从数据某一个阶段开始处理的,测试这个接口前就必须准备好它要处理的数据,而数据又有可能依赖其他的数据,这就提高了准备数据的复杂度与难度,下面为数据准备的两种策略,以及各自的优缺点。
形式
方法
优点
缺点
适用
调用程序的API
程序提供了准备数据的API接口,通过一系列的调用得到我们想要的过程数据
1、保证准备数据正确性。
2、保证接口组合调用的正确性,起到集成测试的作用,保证业务的正确性。
3、灵活,重用性强。1、测试与开发如果是并行的话,基础的接口的开发,如果前面的接口出问题,会引起后续阶段的接口测试的失败。
2、准备异常数据时,要写大量的SQL手工就更改字段。
3、当接口出现错误时,不能清楚地定位是要测试接口的问题还是准备的数据接口的问题,依赖性太强。倾向于集成测试中使用
直接准备数据
直接准备需要的数据
1、测试数据与脚本分开,结构清晰。
2、解决了前一种方式引发的三个问题。
3、数据直观,可读性强。1、需要对各个阶段数据的合法值,非常清楚,测试过程中经常会引测试数据的问题,导致执行不通过。
2、当出现大的变动时,数据更改的工作量比较大,灵活性较差,重用性差。单个接口的测试
2.需要准备哪些数据?
明确了测试手段就自然知道了测试数据需要哪些了,咋们再结合用例来进行数据的准备,数据覆盖用例即可。
例如:
如果使用调用api方式,按照业务逻辑,准备入口数据即可。
如果是直接准备数据,需要将sql等数据提前准备好。(sql数据的准备是因为中间的各种数据业务逻辑处理过后,新的入口数据需要依赖库中的数据,比如说:退款接口的测试,在调用退款接口之前库中必须先有付款数据,如果进行单独的退款接口调用,就需要先将付款信息插入的相应的各个表中)
3.注意事项
对于测试数据的来源和创建,要求符合真实环境。同时数据来源和输出不影响其他模块或环境。例如:将不真实的测试环境的数据引入到线上环境。
好了,今天的干货就到此结束了,希望看文章的你,能在欢乐一笑的同时也能学到更多的专业知识。