• 自动化落地过程记录 at 2021年03月25日

    很多人问我:你写了那么多服务的脚本,你就没想过把它们工具化,做成一个平台吗?我想说的是:依项目性质而定。如果是迭代维护型项目,落地成测试平台是一个必然的结果。如果是定制交付型项目,那么大可不必。但往往领导要看到的是表面化的工作,有个可视化的成果来体现你的量化工作,这就是测试的无奈。真正决定能不能做好一个测试平台的条件= 项目的前景 + 人力的投入 + 时间的允许 + 技术的迭代 + 核心的规划 + 成果的体现。

  • mock server 实践 at 2021年01月04日

    建议有 mock 第三方服务需求的测试,上手 flask 吧,自己写个 mock 服务,丢到服务器上部署运行。你会打开一扇新的大门,从此你就会对这些已封装好的 mock 库呲之以鼻。不吹不黑,fastapi 也可以的,但我记得不支持 webservice。

  • 来人,把朕的传国玉玺拿来,朕要亲自传给秀儿,守护江山的责任、匡复点点点指日可待啊,朕甚感欣喜,秀儿跪下接旨吧......

  • 根据你接口的查询条件返回的数据,再在数据库用同样的查询条件查数据,先做数据统计,再对比。
    数据断言是接口测试最基础的一项,后续你还会遇到很多不同格式或者是无法直接获取的数据,都是需要你先对数据做处理统计分层后,再断言的。加油兄弟,像我这种菜,都是靠自己一步步从对接口测试啥也不懂摸索到自己能正常封装框架的。

  • 1,数据的断言,一般有三种数据基准的:第一种是直接断言该接口返回的数据是否准确,第二种是断言该接口返回的数据和数据库对应的表数据是否一致,第三种是断言该接口返回的数据和其他有关联接口的入参/返参是否一致。
    2,至于你要怎么断言,要看你借助测试的工具,如果是 unittest 就用 self.assertEqual 断言,如果是 postman 就在 Tests 里用 pm.test,如果是 jmeter 就直接用 Beanshell 脚本更合理(java 语言兼容性更好)

  • 这个简单
    1,找开发,把调用支付/微信相关的接口和认证方式,以及消息体,包括异步形式,都给你锊清楚
    2,直接上 python 脚本(不太建议直接用 mock 库,建议用 flask 服务直接写虚拟服务)
    3,让开发把测试版本调用支付/微信的代码改为指向你的 flask 启动服务 ip 上(一般开发都是可以做成 xml/redis 配置的)
    4,你可以本地启动 flask 脚本服务,也可以把脚本放到测试环境的远程服务器上然后给个定时任务启动脚本
    5,最重要一点,你这个是你工作提升的体现,直接让领导和开发对你刮目相看,“哇塞,小伙子可以啊,晚上留下来加班吧 “

  • 两个测试方法:
    1,修改服务器时间(确保服务器的时区和时差和你客户端一致),这个还能顺带测试客户端是否走了缓存机制,会不会导致问题。
    2,修改数据库时间(一般来说如果刷新机制是有存入数据库的即可)

  • 测试工程师的面试总结 at 2020年07月29日

    首先感谢楼主为大家整理这些知识;其次如果是刚入行的测试,这些知识准备准备还行;最后我想说对于一个 4 年的测试经历,真正面试,你要是按照这么准备是一点卵用也没有。举个例子,面试官更常见是问你为什么要选这个框架,你怎么设计框架,你的设计难点有哪些,都是怎么解决的,你设计完后实现了什么测试需求,你实现的需求待优化的地方是什么,你准备怎么优化。任何一个测试,没有实践基础,而局限于理论知识,他就是失败的测试者,面试官是人精,而不是傻子

  • jmeter 遇到的一个场景问题 at 2020年06月15日

    benshell 完全能满足,是看你怎么用,本身就是轻 java 脚本,jemter 尽量不要依赖正则,多用 beanshell,你就会发现很多你要问的难题,一下子就自己能解决了。

  • jmeter 遇到的一个场景问题 at 2020年06月08日

    把第 1 个接口的请求写在 setUp 线程组里,用 beanshell 拿出所有要用的 ID 放在局部环境里;并发线程看你选择是暴力的并发还是阶梯压测,再写一个对应线程执行第 2 个接口,用 benashell 前置脚本取 ID。这样可以满足你,接口 1 只跑 1 次拿 ID,接口 2 跑并发。

  • request 的 session 机制,把 token 实例化就可以

  • result.userInfo.id

  • 接口测试用例设计 at 2019年11月05日

    我打个比方,单接口的数据验证=高中的英语难度,多接口的业务关联验证=考过 GRE 的英语水平,接口全自动化=你在华尔街工作的英语水平。难度,技术,关注点和认可度,以及对项目的作用,可想而知。
    接口是为业务服务的,如果接口最终的闭环回不到业务上,那么这个接口测试就没有了灵魂

  • 首推 pytest,但我有种错觉,你要的做的 UI 测试,那么你这个时候就要关注 selenium,CSS,xpath,allure 了。

  • JMETER_16 个逻辑控制器详解 at 2019年11月05日

    敢问你的帖子都是这么明目张胆抄袭百度张贴,这么没水准的

  • 接口测试用例设计 at 2019年11月04日

    第一,针对问题 1 的接口问题,首先你要确定 APP 请求的接口 response 有什么数据,然后你在看 web 请求的接口 response 又是什么数据,打个比方,如果 APP 接口返回的 response 里有文章的数量节点 number,还有文章的排序节点 sort,那么你一定要校验 web 接口返回的文章数量和排序是否一致做对比;其次你还需要对 APP 接口获取到的内容与 web 端获取到的内容做对比(一般都是存数据库,内容对比意义不大,翻到是 id 对比有意义)。
    第二,针对问题 1 的用例设计,首先提示不要用功能用例的设计思维去设计接口用例,你要明白接口测试的核心是什么(最简单是 4 个点:1.接口的格式是什么,2.接口的数据怎么动态,3.接口的业务怎么关联,4.接口的响应怎么验证),如果你用 Excel 这种功能用例方式来维护接口用例,灵活性差不说,维护成本非常高(建议你前期直接用接口工具维护测试用例,利用工具输出测试报告作为留本。后期熟悉了技术上来了再用数据驱动的方式管理用例)。
    第三,针对问题 2,接口测试如果仅仅关注单接口的格式和数据验证,那么接口的灵魂就没有了。所谓接口测试,1.是为了在功能测试之前提前规范和消灭 bug,减少功能测试的负担和盲点;2.是作为回归,减少测试人力的同时保证系统每日的稳定运行,同时也在系统出问题是得知问题所在(打个比方,一个系统有很多个接口,如果你的接口脚本每天都在线上定时跑,A 接口报错了,但是用户没有返回,说明暂时没人发现,这个时候你们就可以在用户发现前解决问题)。所以,接口的业务关联性是最重要,这点取决于你对系统的熟知程度来设计业务场景,也能体现出你的测试嗅觉。
    综上所述,这都是我的一番废话而已,接口这条路好好走下去吧。

  • 存储过程测试 at 2019年10月16日

    sql 存储过程测试:1,校验入参和出参;2,校验 SQL 逻辑;3,优化 SQL 性能。
    楼主文章涉及了第一点,其实我们最重要是第二点,最难得是第三点。
    我的理解和测试是,在充分读懂要测试的 SQL 存储过程,将它的 SQL 逻辑,一点点分解,然后自己写 SQL 校验所测试得到的数据是否和开发的 SQL 逻辑得到的数据能一致,这个还是要多提高 SQL 能力。
    至于 SQL 性能,很多开发的 SQL 存储过程有可能会出现冗长,在你的能力范围内给出响应更快的 SQL,尤其是当 SQL 出现索引要重点注意。

  • 最近在研究和使用 pipeline,易上手,简洁明了。
    之前总认为 Jenkins 的 CI/CD 是很复杂难懂,一直不想入门。
    其实想多了,Jenkins 是一个自动化引擎,入门上手还是比较简单。
    对于我来说选择 pipeline 是因为我对于 Jenkins 的需求简单,我能满足我的测试即可,
    大家多研究。

  • 我觉得吧,没有四十不算中年哈。
    我不到 30,半年多没运动,整个人都废了,不仅身体疲乏,最重要是精神气都慵懒了。
    所以还是能运动多运动吧,跑跑步也好,仰卧起坐也好,俯卧撑也好,OOXX 也算运动
    毕竟互联网是一行青春和肉体的比拼

  • Android 的 APP 性能好累,但楼主这篇文章给了我很多学习的引导,谢谢

  • 微信公众号的接口测试 at 2019年08月08日

    很 low 的我有个思路看看可否行:
    基于微信公众号验证微信用户,实际基本都是微信号在公众号的注册用户,那么注册用户在公众号登录的 cookie、token 等身份态,实际上是在你们系统封装生成的,也就是你们有表记录用户,有规则生成身份态(问开发)。所以,
    对于问题 1 怎么造大量用户和登录,用脚本往对应的 user 表里写 500 个用户即可。
    至于问题 2 有两个方法可选择:
    1)jmeter 工具,把你虚造的用户通过 csv 文件调用登录和访问测试接口,要区分好并发(注意思考时间的设置学问)还是阶梯式压测(两者的差距很大)
    2)用 python 的进程,同理的,你可以给进程规定的 time,是要依次访问还是同时访问,还是分比例访问
    我之前也是遇到这类问题,两个相对来说,python 更可维护和精准,但我还是建议你 jmeter 吧,报告无敌,而且你可以权重控制器

  • 啊,我穿个女装可以去吗?

  • 要不要尝试下 lxml 库 xpath
    我理解你的需求是否
    1,对于动态的 H5 页面,获取页面的元素(比如选择框,输入框等的元素以及内容)
    2,将内容保存下来,和后台数据库的内容做对比
    那么是否可以尝试下
    对于 1,使用 lxml 库通过 xpath 获取
    对于 2,将数据以 text 保存循环到 json 里面,然后做对比
    但是这就有个问题了
    如何 H5 页面动态是无规则的,你的用例就需要一个页面一个页面,非常多的用例来维护

  • 该不该离职了? at 2019年05月14日

    我个人建议换吧,所说金三银四已过,但有才华的测试,啥时候都是黄金时间段,你该好好准备下简历和知识点,去面试了。
    温馨提示:python 基础语法(最好有算法和线程概念,能再有点 demo),jmeter 和 postman 使用经验(熟悉点),SQL 语句(多表查询要懂),linux 命令(log 各种查询定位是必须的,其他的命令了解下),shell(这个要了解),抓包工具必须熟悉,http 协议是必须熟悉,TCP 协议(建议了解下)。如果想在面试上有进阶表现,那么微服务测试,分布式测试,Redis 缓存测试,CICD 概念等等,这些我想你完全可以看。

  • 三年测试萌新\(//∇//)\ at 2019年03月20日

    哪个野鸡大学?
    学信网不承认吗?
    成考的专科证和本科证,90% 公司不承认的。
    不过妹子嘛,要坚强,加油