没真正的学习过 java,之前引入 agiletc 时,由于是没有权限控制,以及获取用户信息等等功能,被逼营业,通过 web 的 react 代码,理解一遍功能,再通过 web 上所用的接口,慢慢去理解,过程大概 1-2 天的样子,然后添加了这部分功能,学习与拷贝现成的代码。
目前,能够写写 python,golang,nodejs,vue,react,java。除了 python 是深入学习过,其他基本上临时上马,当我第一次看到开发的 golang 代码时,卧槽,原来看得懂,并没 c++ 那样难以理解,以及各种符号,然后慢慢学习了,并在 locust 压测中,使用 golang 来开发压测脚本,当然最重要的是 boomer 开源。哈哈哈
我认为,需要掌握到什么程度的话,除了看得懂外,还可以使用该语言做一些事情,这里面又涉及到,为什么要用这个语言 (说明充分理解了)。
好详细,感谢分享。个人认为全链路压测,还是由 CTO 自上而下推动效果好;测试推动太难。
另外,还支持接口自动化测试的调度和报告展示。
用例页:
用例详情:
封装的操作关键字:["点击","坐标点击","输入","清除","双击","长按","前往","睡眠","上滑","下滑","左滑","右滑","android 按键操作","ios 键盘操作","切到 webview","切到 NATIVE","切到新 window","切到旧 window","登录","登出"]
开始测试页:
调试地址即 selenium grid master 的地址。
调试环境即 本地执行框架的标识
报告页:
m1 在图片 1 中的位置坐标,是一个绝对坐标来的。可以通过计算相对坐标。这样会准确点
可以详细说说夸网段是如何控制的嘛?比如 A 设备在 B 网段,C 用户是 D 网段,C 用户需要控制 A 设备。
nginx 也没有这个功能,只是添加了模块。也属于自己开发。哈哈哈。整个网关是独立设计的话,限制逻辑不是难点,正如楼上所说,高性能高可用才是难点。
如果是使用 nginx 的话,可以利用 lua 做。这个限制策略就看需求了。基本上都是统计单位时间段内,该 ip 的访问次数,到达限制策略,将该 ip 加入黑名单,后续收到黑名单的 ip 请求就做限制处理。限制时间到后,黑名单删除该 ip。然后循环这种逻辑。
一般做法是修改服务配置文件的第三方服务域名,让其走到 mock 服务,如果是开发写死了第三方服务域名,则让开发修改。
https://tech.meituan.com/2015/10/19/mock-server-in-action.html
我参考美团这个文章设计,做了一个 mock-server。
中台与业务层,是不是可以走契约测试。从而快速识别需要回归的上层业务。
看下 master 的资源情况,是否 CPU、负载 或者带宽满了。
Connection refused to host: 115.227.33.18 网络不通啊
靶场练习可以快速知道各个方法,但真正应用在产品上时,有点挫败感。背景是这样的,开发怀疑用户信息泄露了,每天都有同一个 ip 请求同一个接口,用户信息各不相同。但把学习的测试方法实践起来,完全不是一回事,忙碌了一周,没找到到底是怎么泄露的,压力大的很。
得明确目标,是容量规划还是性能测试,不同的目标,做不同的事,如容量规划,让开发和产品根据场景定义目标 TPS,而这个目标 TPS,是否能够通过加机器方式提升 (即扩容线性增加)。如性能测试,更多是寻找性能瓶颈。TPS 固然重要,但其目标是发现系统的瓶颈。
并发我之前尝试过,不能超过 1 万。超过 1 万个会报错。具体没深究。反正业务上不太可能超过这个值。
同意 1 楼。
抄袭 jmeter 既视感
感谢分享。还是希望贴下源码参考参考。哈哈哈
性能测试我认为应该是理解什么是性能测试,性能测试的目标等等概念,其核心是设计测试方案,发现性能问题,分析排查性能问题。
工具只是工具,在进行测试时做一定的选型,为什么选这个,而不是选哪个。脱离工具就无法进行性能测试吗?并不是,性能测试客户端,可以通过编码实现,监控可以通过 linux 命令。工具是使开展性能测试更加方便。不要本末倒置。
如何发现性能问题呢?
如何排查性能问题呢?
上述发现和排查问题可能不完整,但是最基本方法。
其实可以将预发布环境做成线上环境,然后通过一些调度方案,将真实用户不调度到该环境,或者将少量用户调度到该环境。这样基本上可以不用管数据问题了。
可以定义成公共的类/方法,然后请求时调用。
感谢大佬。感觉数据部分的真好复杂。假设业务迭代周期较快。维护数据上也的花很多精力。
不能。自动化就代码实现呗
bloomRPC GUI 工具,导入 pb 协议既可使用
一般情况下,流量回放是回放到一个特定的环境,而非线上环境。有几个问题咨询下,望大佬解答下。
1,如上述背景下。数据库以及其他中间件的数据是如何准备的,以及是基于什么策略与线上同步
2,当数据库同步解决后,一般会进行脱敏,清洗,那如何保证数据的真实性的,有效性
3,同样,流量回放的请求参数也会进行脱敏以及清洗,偏移,那么如何保证数据中心改造的数据是有效的,比如 user_id 和 token 是强挂钩的,业务字段偏移后如何保证数据库是存在的。