具体得看链接架构,然后尽量不要侵入被测的服务代码。从看到标题是 slb 和 nginx,我理解链路是 A 服务 请求到 B 服务,A-->B 加一层代理,即 A 请求到 slb/nginx 后,反向代理到 mock 服务或者 nginx 应答即可。至于采用那种,看具体协议。
mock 服务关键输入输出的控制,有时间可以自研。美团这个文章不错 https://tech.meituan.com/2015/10/19/mock-server-in-action.html
刚需的,何必折腾呢。租房也要交付。后面再买,又要重新麻烦 ,搬家 2 次,装修 1 次。真的 emmm。
如果单独到一个接口的变化,如果有全量的接口自动化,那么这个接口变化,是否可以自动触发全量接口的回归测试?成本在哪里? 为什么还需要额外进行精准测试?
我之前也是有同样的疑问,精准测试推出来的用例,本质就是部分用例与全量用例执行的区别,为什么还要费时费力做精准测试系统,除非全量用例执行需要很长时间,但接口测试正常情况下能跑一个小时,已经到了几千个用例级别。
建议加精,很有共鸣,点赞点赞
1,格式记混,写 golang 时,写成 python 格式,写 python 时,写成 golang 格式
2,内置函数记混
3,语法记混,比如 golang 不支持三元运算。。
等 ide 提示或者运行报错解决
做自动化测试的目的是什么?其核心是回归测试,没有自动化测试,回归测试的人力成本是多少,有自动化测试后,回归测试的人力成本又是多少,这不就有数据了吗?再往细说,自动化用例的覆盖率是多少,这些都有数据可说啊。
测试日常工作也有数据支持,接了多少需求,bug 数,bug 等级,需求与 bug 比等等
我之前的方案,自动化环境中每次运行测试,创建新的 docker 数据库,将建表等初始化语句从 QA 环境同步后,将基础数据写入到数据库中,业务数据则具体维护,如低频改动的,也可以放到基础数据中。
这块其实没啥好办法,用例失败只能及时维护。能做到最好的情况,则根据表的数据结构,将变动的字段,做相应处理后再写入到数据库中。
1w 并发,指的是 jmeter 会创建 1w 个线程 (keeplive) 并循环 发送请求到目标服务器,集合点则是 当空闲线程数达到了配置阈值,则开始发送请求。
压测过程,需要看实际情况,以及目标服务器的处理能力,追求并发数据意义不是很大 (除非是长链接)。应更多关注服务端的 QPS/TPS。将并发数作为加大压力的理解会更好点。
另外,不断增加并发数,会加大施压端的资源消耗,如内存,CPU,IO,网络带宽等到达瓶颈,应视实际情况来调整并发。
请看上一个回复。
这个应该 locust python 客户端有关系,后面换了 boomer。
我遇到过,但具体是怎么解决忘记了,但印象中方法如下:
1,是依赖 gevent,greenlet 模块的版本问题
以下是我的版本
gevent 22.10.2
geventhttpclient 2.0.8
greenlet 2.0.1
locust 2.13.2
2,环境变量问题,DDL 的路径是与安装库的路径不一致
对,是这个原因,但具体配置忘记了。太久没使用了,仅仅是以前配置过一次
通过日志显示,master 下发的任务,已经被 worker 接收了。但还有一个点,就是 worker 上报测试进度和性能数据到 master,好似是在配置文件中设定 master 的 ip
可以参考一下 https://zhuanlan.zhihu.com/p/445266362
master 和 worker 的网络连通,端口也需要开放出来,最好先配置下 host 和防火墙
redis 还可以当 MQ 用
游戏发行商,不是关注 sdk 内容即可?
我以前的实践:https://testerhome.com/topics/8984
这样太苦了。可以这样做:
第一种,根据业务场景,找出核心的场景和用户使用率高的场景,即这个场景如果因为性能问题,导致用户不爽的。根据场景的接口,造场景压测脚本。
第二种,统计周期内或者高峰时各接口的 PV,将 PV 高的接口,做单接口压测。
当核心场景、PV 高接口压测优化完成,再去做优先级低的,往往优先级低的不是太差,估计也不会专项优化了。个人推荐第一种
可以的。我的做法本地启动 selenium grid 将浏览器和移动设备接入,然后本地启动执行框架,在平台开始任务界面提交本地的 selenium grid master ip 和需要的浏览器后和调式环境标识后,服务端再发布 MQ 消息,本地框架收到 MQ 消息,就可以本地执行了。
自己搭一个,基于 locust 或者 jmeter 就可以,再写个 web 平台,开发脚本编写 (或者本地写好脚本,上传上来),任务调度,性能数据收集,报告收集等等。
我项目里有用到。
是 vue-i18n 的问题,已通过 https://github.com/kazupon/vue-i18n/issues/306 解决
after delete this line : Vue.locale = () => {}; it works fine for me
数据是项目里的 vue-testcase-minder-editor/examples/App.vue 里的 initJson
渲染脑图报错。
webpagetest
def test1():
print(1)
def test2():
print(2)
function_dict = {
"test1": test1,
"test2": test2
}
for function in function_dict.values():
function()
#或者
function_list = ["test1","test2"]
for function in function_list:
function_dict[function]()
#又或者
for function in function_list:
exec(function+'()')
#又或者
for function in function_list:
eval(function)()