51Testing软件测试论坛

标题: 一个超难的问题。求大神指点 [打印本页]

作者: zhao500    时间: 2014-11-17 09:04
标题: 一个超难的问题。求大神指点
问大神一个问题          我们项目是这样的。        项目一个只能保证一个账户登录(不同IP,另外地方一个地方登录。把之前用户踢下线)  
现在只能用这个账户坐性能测试。    LR 怎么绕过


作者: greedygod    时间: 2014-11-17 10:34
只谈LR web方式实现(绕过登陆直接压接口等不讨论)
如果存在这种情况:
1.想想实际的并发场景是什么样的?
是测试限制只能用1个账户,还是实际上就只允许1个用户在线?
2.如果是测试限制。那肯定需要构造多个可用账户,你可以找开发了解为何测试环境只能用1个账户,如何突破

3.构造多个可用账户后,接下来要保证的就是并发时多个Vuser分别取不同的账户,由于LR并没有直接提供vuser之间的信息共享,可以借助:
——在本地文件保存可用的账户,每当vuser占用一个时,文件里删除该账户;(或者相反,建立黑名单文件记录已占用账户)
——利用数据库参数设置可用账户,你可以给用户表增加一列是否被占用来做判断
——人工预分配各vuser使用的账户参数列表



作者: zhao500    时间: 2014-11-17 10:52
本帖最后由 zhao500 于 2014-11-17 11:18 编辑
greedygod 发表于 2014-11-17 10:34
只谈LR web方式实现(绕过登陆直接压接口等不讨论)
如果存在这种情况:
1.想想实际的并发场景是什么样的 ...

是业务要求。
作者: greedygod    时间: 2014-11-17 11:10
本帖最后由 greedygod 于 2014-11-17 11:15 编辑
zhao500 发表于 2014-11-17 10:52
是业务要求。结合数据库。查询有 用户并发操作  导致我们生成金币有问题。  
我们系统加了同一账户 另 ...

倒底是想模拟”后来的用户把之前的用户踢下线“还是想绕过这个??
这更像是个功能测试场景,虽然也可能附带一些性能因素。
那直接用同一个账户并发不就好了,后面登录的自然会把前面的踢掉

——至于怎么实现的,请去学习用户session相关知识。
只要应用为每次会话都更新session标识,旧的session失效判定返回登录界面。
这也是一种常见的会话保护安全机制。
作者: zhysync    时间: 2014-11-17 18:50
如果业务上要求同一时刻只允许一个用户登录,那就模拟一个用户进行加压就行了,没有什么好纠结的!
作者: zhao500    时间: 2014-11-18 10:31
zhysync 发表于 2014-11-17 18:50
如果业务上要求同一时刻只允许一个用户登录,那就模拟一个用户进行加压就行了,没有什么好纠结的!

关键是    一个用户加压            一个虚拟用户踢另一个虚拟用户下线     怎么模拟
作者: zhysync    时间: 2014-11-18 11:34
不会呀,一个用户一直在线加压他踢谁呀?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2