图文教程

从基础概念到工具实操,逐篇掌握测试技能。

517 篇内容

2025

软件测试实质

Ron Patton所著的《软件测试》2002年的中文版,已经十五年了,但它对“软件的实质”的解释仍然是经典,这里摘录与大家分享。 实质,哲学中的本质,又称为“实质”是指某一对象或事物本身所必然固有的。说的通俗点也就是说软件测试的本来的面目。 来看一下Ron Patton 为我们的软件缺陷所下的定义。 1、软件没有实现产品的说明书所描述的功能。 2、软件实现 …

1 分钟阅读

软件测试分类

软件测试领域名词颇多,许多测试新手容易混淆概念。因为从不同的角度对软件测试有不同的分类方法,所以,这里汇总常见软件测试的相关名词,让读者对软件测试领域有个概括性了解。 是一个典型的“V”模型软件开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的。下面将介绍各个阶段测试的含义。 单元测试:单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码 …

1 分钟阅读

2019

这样的面试你能通过吗

近两周我的面试非常多,大概一天一个。我是二面面试官,一面是技术面,有一定的难度。按道理来说二面的通过率应该比较高才对,不过最近的二面通过率可能不到50%,一面的通过率一般比较稳定保持在30%以下,所以两面全过的概率大概只有15%左右,可能更低。 那么二面的通过率为什么那么低呢?我想举几个例子就可以说明了。 二面我一般都会问一道用例设计题,大概是给你一袋盐,或 …

1 分钟阅读

还是少背锅吧--聊聊线上监控

之前应该有写文章探讨过测试左右移的问题。 左移大致就是在设计的时候,写代码之前先把问题考虑清楚,尽量减少一些伪需求和自相矛盾的需求,要求测试同学有较大的业务能力。 右移就是上线之后通过监控等手段去提前感知线上的问题,争取在大部分用户发现问题之前就感知到问题并且快速修复和发布,没有被用户抓住的问题其实影响范围是有限的,可以想办法消化掉。 从软件测试的生命周期上 …

1 分钟阅读

wrk系列教程(3)统计结果

回到上一节的统计结果,我们来看一下这些结果是如何统计出来的。 我们一行一行来看一下这些统计数据。 ,测试持续时间已经被测url ,总共多少个thread和connection ,时延的平均值,标准差以及最大值以及值落在标准差区间内的百分比 ,每个线程运行时的qps平均值,标准差以及百分比区间。看了一圈源码,没太看懂这个统计的意义 ,总请求数,运行的总时间以及 …

1 分钟阅读

wrk系列教程(4)常用参数

这一节我们看一下wrk常用的命令行参数。 10个线程100个连接跑1个小时 10个线程100个连接跑1个小时,请求的响应超时时间设置为1s 模拟ios上的safari浏览器 10个线程100个连接跑1个小时

1 分钟阅读

wrk系列教程(5)lua扩展

官方文档上面对wrk的lua脚本扩展方式有详细的说明。 lua脚本可以为wrk增加更多灵活的功能,通过代码扩展,wrk的定制能力会有很大的提升。 wrk提供了一些简单的钩子函数,可以实现在测试过程中对请求及场景做定制化的增强。 这些函数分别是 setup()

1 分钟阅读

wrk系列教程(2)简单使用

简单起见,建议大家可以先安装python。 创建一个 文件 index.html里面文件内容很简单,一句话 使用下面命令启动web服务。 预期结果应该是下面这个样子 新开1个terminal窗口,使用下面命令 这时候命令行应该显示正确的返回 使用命令 解释一下主要参数 c: connections 表示一共起多少个链接 t: 表示用多少个 在我的机器上结果是 …

1 分钟阅读

wrk系列教程(1)安装

wrk是一个高性能的性能测试工具,具有非常强的并发能力,很适合做benchmark。 wrk适合做一些简单的单接口性能压测,具有一定的扩展能力,不太适合做全链路的带业务压测。 首先你需要1台linux虚拟机或者mac机器。 如果你用使用git,可以使用下面命令来下载源码 或者你可以使用wget来下载源码的压缩包,并自行解压 cd到wrk源码所在目录,运行 如 …

1 分钟阅读

如何提升测试水平

有同学在公众号留言问如何提升测试技能,这里抛砖引玉给一下个人不成熟的建议,大家见仁见智,欢迎讨论。 让人称赞和放心的测试同学往往对业务是非常熟悉的,知道自己的业务在干啥,知道业务的商业逻辑和非商业逻辑,其实对于测试同学来说是蛮重要的。 熟悉业务的方式有很多,一般来说刚接触到新项目/新产品的同学往往会先体验一下产品,把这个产品的功能先点一遍,就当作是熟悉业务 …

1 分钟阅读

你是怎么样跑测试用例的呢

大家应该都有过写测试用例的经历。 我的经历大概是这样的。 十多年之前刚入行的时候是用excel写用例。大概就是往模版里填充一些必填字段,比如用例编号,名称,步骤,预期等等。那时候啥都不懂,预期里基本上是随心写,填的都是"应该正常执行", “结果应该正确"之类的写了等于没写的话语,无非就把格子填满,显得很有工作量的样子。执行用例的时候基本上是看需求文档,自己写 …

1 分钟阅读

2018

自动化测试如何准备测试数据

其实大部分类型的测试都需要去准备测试数据。 手工测试:一些基础数据,比如配置数据等等是需要去准备的; 自动化测试:基础需要准备,现有数据,动态运行时产生的数据是需要准备的; 性能测试:跟自动化测试差不多; 这里就牵扯到了一些关于数据的概念了。 我们可以给测试数据分一些种类 基础数据,比如一些内容管理系统会配置站点的标题,友情链接之类的基础配置数据 存量数据, …

1 分钟阅读

如何测试安全漏洞

这是2002年FreeBSD系统的一个安全漏洞。 当时一些开发人员意识到 库的某个实现可能会隐藏致命的安全漏洞。 下面的代码简单的还原了漏洞的发生过程。 方法的作用是将系统内核中的大小为maxlen的内存拷贝到用户内存里。在系统运行时,用户进程是没有权限访问系统内核的内存的,该方法等于是为用户进程开了个小后门,使得用户进程可以访问最大KSIZE大小的系统内核 …

1 分钟阅读