Java教程

关联 参数化

本文主要是介绍关联 参数化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、参数化--只针对入参

1,可能需要用到参数化的场景

1)数据库做了唯一约束。 unique

2)业务层做唯一性校验。比如 单点登录 比如qq只能在一个台Windows上登录

3)避免查询操作时,由于查询已经在缓存中的东西(查询相同的数据),响应时间变小,导致性能测试结果失真

2,参数化的方式

1)可使用jmeter提供的一些 函数 比如,time/uuid等来产生一些理论上不会重复的数据

但可能要注意几点:入参是否有位数限制/最好在入参前加固定前缀(便于之后的check)--lml${__time(,)}

2)可使用 用户参数,多个用户+多个变量

3)csv data set config

什么情况下必须使用?

比如查询的请求,测试数据不能自己随便造,必须依靠数据库中的数据。

 

二、关联

1,定义

将某个请求的response中的某个动态变化的值,把它保存成一个变量,供后面需要用到该变量值的请求使用

response中-动态变化-别人会使用

2,为什么使用关联

服务器 或者数据库 会校验该值的正确性和逻辑性

3,哪些值需要关联

1)数据库设计思想

范式设计  反范式涉及

2)关系型数据库 和 非关系型数据库的特点

3)哪些值要关联

跟数据库交互-读写操作

insert   需要关联的是 建立关系的那几个字段--这条数据属于谁,谁操作的(信息一般会登录后存储在cookie中),啥时候干的(这个数据库校验不了,顶多业务层校验)

insert into table (字段1,字段2,..)  value (变量1,变量2,...)

update 需要关联的是 where后面的条件id(谁操作的uid,啥时候干的update_time,操作的哪条数据 xxid)

update table set xxx=??? where xxid=?? and/or

delete 需要关联的是 where后面的条件id(谁操作的uid,啥时候干的update_time,操作的哪条数据 xxid)

delete from table where xxid=?? and/or

select 需要关联的是 where后面的条件

select xxx,xxx from table where xxid=?? and/or

其他情况-典型使用场景

时间戳 ---变化的,数据库不能校验

验证码(图片/手机短信/邮箱验证码)---变化的,来源于对应的比如发短信的服务

APP中的token (包含了用户和时间等信息),浏览器中的session ---变化的,不存在于数据库中

-特征

奇奇怪怪。没有任何规律。相反数据库中要关联的字段有规律 key一般为int类型xxid

4、从哪里取要关联的值--哪个请求返回 要关联的值  综上 一般都是 要找id

1)离该请求最近的查询操作--会返回需要的字段id

2)插入操作insert后会跟一个select操作(比如注册完返回uid,新增一条帖子返回tid)

 

这篇关于关联 参数化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!