为什么我们做不好自动化测试?

1. 自动化测试落地状况

如果让两个相互不认识的、来自于不同公司的测试工程师自由讨论,我猜他俩寒暄的第一个问题会是:你们公司的自动化是怎么做的?如果你去问一个来自于大厂的质量部门的测试架构师:你家的测试平台有什么功能?你能听各种天花乱坠的功能、自动化能力,让你叹为观止。而同时让你去问该厂的某个业务测试工程师:你们的自动化测试做的怎么样?对方很有可能会告诉你:啥?自动化?哪有什么自动化!

很有意思的现象,是吧?今天我不谈怎么写代码了,来聊个在绝大多数公司都存在的、而且很可能不愿意被外人知晓的问题:为什么我们公司/产品/项目的自动化测试做不起来?

Read More

聊聊ab、wrk、JMeter、Locust这些压测工具的并发模型差别

压测选型

选择压测工具是在选什么?

压力测试是测试工程师日常工作中一项比较“有技术含量”的工作,很多人都对这项工作充满了好奇。除了少数特殊场景得靠是自己开发压测脚本外,大部分压测工作是可以选用成熟的压测工具来进行的。压测工具有非常多,有开源的、有商业化的,我下面罗列一些常见的:

工具 项目地址
ApacheBench https://httpd.apache.org/docs/2.4/programs/ab.html
wrk https://github.com/wg/wrk
Apache JMeter https://jmeter.apache.org/
Locust https://locust.io/
K6 https://k6.io/
Artillery https://artillery.io/

除了LoadRunner这种商业压测工具之外,大部分测试人员在压测工具的选型时最重要的一点:是否熟悉。这种熟悉往往是出于过往的工作经历、身边同事的推荐、网上教程的多寡、脚本语言等因素。比如我在很多年前开始用Locust时,就是因为我个人擅长Python开发语言,即便在当时几乎没有中文教程。

Read More

P2P平台暴雷后,该怎么确认自己的待回款资金?

本文不探讨P2P行业现状,只是借此介绍下接口渗透以及中间人攻击原理

前几年我试着把一些资金投到P2P产品里,想要赚取比余额宝多一些的利润,当时选择的某个大平台下的一个P2P子品牌。到了去年这个时候,监管政策不断收紧,隐隐约约觉得原先的平台不稳妥,但同时又觉得P2P产品的合理性是有的,监管层面应该会给头部的大平台留一些生存空间。自以为是的把资金切换到了头部的并且都已上市的平台上,好在我还懂不能把鸡蛋都放一个篮子里的道理:没把所有的钱都投到P2P,还把投入到P2P的钱分散到了两个平台上。

不过平台暴雷这个事情还是被我赶上了↓↓↓

Read More

Python接口测试实战6 - 序列化与反序列化

理解什么是序列化

在我面试有接口测试经验的候选人的时候,经常会问一个问题:如何对返回的响应结果(假设json格式)中的字段值进行断言?我一般得到的答复是通过正则表达式,有一部分候选人会说使用JSON Path,这就是让我非常困惑的一个地方:好像大部分测试人员都不知道序列化反序列化这种重要的基础概念。

我以一个例子来展开:

class Student:

    def __init__(self, name, age, *courses):
        self.name = name
        self.age = age
        self.courses = courses

mike = Student("Mike Hsu", 20, "English", "Chinese")

Read More