性能测试之前你可能需要弄明白这些事情
这应该是一个老生常谈的话题了。 之前也分享过,在做性能测试之前,对大部分同学来说,最重要的问题就是搞清楚性能测试需求。 一般来说,需求大概是下面这样子的。 给我们的系统/产品做一下性能测试。这种需求太虚了,不细化的话基本上是没有可操作性的。 测一下我们的最大在线人数。这种需求基本上是做容量,看一下项目/产品的最大容量是多少。 线上有一个问题,但是我们找不到问 …
按主题探索文章、教程与工程实践。
154 篇内容这应该是一个老生常谈的话题了。 之前也分享过,在做性能测试之前,对大部分同学来说,最重要的问题就是搞清楚性能测试需求。 一般来说,需求大概是下面这样子的。 给我们的系统/产品做一下性能测试。这种需求太虚了,不细化的话基本上是没有可操作性的。 测一下我们的最大在线人数。这种需求基本上是做容量,看一下项目/产品的最大容量是多少。 线上有一个问题,但是我们找不到问 …
除了在床上,我们一天中大概最多的时间就是在测试环境上战斗和工作了。 最近在梳理测试环境和一些测试流程,在这里顺手记录一下,几年以后看过来,应该是会显得幼稚和贻笑大方的吧。 因为测试环境基本上是属于测试同学安身立命之本了,很多时候由于环境问题造成的漏测和事故是屡见不鲜的,因此测试环境的重要性不言而喻。 那么测试环境应该谁来管理呢? 目前看来比较好的方案 …
相信大家对验收标准不是很陌生。 我们在进行测试活动的时候一般会为我们的需求加上验收标准。比如某需求要求我们实现个缺陷管理系统,那么我们可能会为这个需求分解出若干个验证标准,如可以正确的创建缺陷并分配给开发人员之类的,验收标准可以作为我们测试用例的大纲,测试用例可以来围绕验收标准展开,关注正常和异常的多种情况,从而达到保障系统质量的目的。 回到我们今天的主 …
之前我写过一篇文章,大意是测试同学可以适当的学一学前端。前端技术里面,依赖相对较少的可能就是css了。 那如何学习css呢?作为一个半吊子的css的使用者,我发现其实大家经常使用到的css属性其实是有限的,能不能有什么办法来统计一下哪些属性是重要且必须掌握的呢?所以就萌发了统计重要的css属性的想法。 首先需要考虑的问题是,什么样的属性算是重要属性。一般来 …
今年在北京参加校园招聘,我负责测试开发岗位的二面。我们的面试流程是这样的。首先在线做题加视频面试,这是一面。一面通过后再现场面试,这是二面,也是我负责的部分。 一面的题目有难度,估计很多社招的同学做起来都会感到棘手。按道理来说二面的时候我应该不再对候选人的技能能力进行考察了,但是由于是应届生,经验基本是不足的,二面的时候也没有可以深入去聊的过往背景和项目经 …
刚在群里看到小伙伴们的讨论,有一位同学说招人招了好久没有找到合适的。稍微聊了一下,大概情况是这样的。 最新项目紧张,自动化的测试用例需要给力的小伙伴帮忙一起写一下,之前花心思带了一位同学,那位同学学了一段时间之后离开了,工资涨了2k。现在想招个能直接上手做项目的,但是茫茫人海,遇到一个合适的人真的很难,面试时候遇到有不错潜力的,不过因为项目周期的原因也 …
本系列教程使用的python版本是3.6.3。 这一节我们对unittest模块做一丁点的扩展,我们将实现动态运行用例的功能。 测试用例如下,基本上是从python官方文档上摘取的。 这个需求是最常见的。根据官网的文档,代码实现如下 使用 类中自带的 方法创建 运行既可。 我们可以手动添加TestCase下的部分用例,然后一次执行。核心方法是使用 方法 很 …
本系列教程使用的python版本是3.6.3。 我们在进行测试的时候经常需要去生成一些测试数据,这就是所谓的造数据。 生成随机的用户真实姓名是非常常见的需求,这一节我们看一下如何使用python的来实现这个功能。 我们将实现随机生成英文名的功能。 英文名的生成规则是 ,也就是名在前,姓在后,中间空格分隔。 代码很简单,定义2个原组,就是小括号括起来的那个像列 …
最近发现一些测试岗位的薪资水平很高,然而与此形成鲜明对比的是,另一些测试岗位的回报却是少得可怜,两级分化特别严重。 我一直有这样一个观点,除去各种软技能因素,你会的越多拿的就越多。 那么当前测试同学应该具备哪些技能呢?我想大概应该有下面一些。 沟通能力我认为分为2种,一种是表达自己,另一种是聆听别人。 表达自己的意思就是能让其他人知道你想做什么,在做什么,有 …
上周在群里跟一些同学聊了关于加班的问题,很有感触,在这里跟大家分享一下。 每个公司都有自己的加班理由,有的很奇怪,有的看上去不可挑战,不过概括一下,原因大概有下面一些吧。 有些公司的加班是文化性质的,价值观性质的。比如大家都心照不宣的晚上一起吃饭,然后9点之后陆续离开。9点走可能是因为有班车,如果是晚上打车报销的话,也许会等到10点以后才下班。这些公司加班的 …
本系列教程使用的python版本是3.6.3。 这一节我们实现一个简单的寻找页面上无效链接的工具。 我们这样定义无效链接: http响应的返回状态码 >=400的链接。 为什么?大家可以去搜索一下。 该工具的作用是访问某个页面,然后找到页面上所有的链接,依次对这些链接进行访问,通过返回的状态码来确定该链接是不是无效链接。 我们设计一个命令行工具,给工具传1个 …
puppeteer发布应该有一段时间了,这两天正好基于该工具写了一些自动化解决方案,在这里抛砖引给大家介绍一下。 官方描述: Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. …
我曾经写过一篇博客《自动化测试—被玩坏的数据驱动》讨论过数据驱动测试,当时主要是吐槽那些教大家读取txt、csv/excel、xml文件文章。“我教大家如何做数据驱动测试,来!我们先学习如何读取excel文件。。。”,然后,网上也有大量的文章来介绍如何用excel来管理测试数据的,甚至是测试报告展示的。 读各种数据文件就是驱动测试?这样真的方便做测试么? 从 …
本系列教程使用的python版本是3.6.3。 这一节我们实现一个简单的ui测试工具。 该工具的作用是访问某个页面,然后根据css选择器去定位页面上的元素,最后判断页面上元素的个数与我们的预期是否相符。 举一个具体的例子,比如我们去访问www.itest.info这个页面,我们需要判断页面上 的元素存在,并且有4个。因为每一个元素代表一门课程,所以这个断言的 …
本系列教程我们将使用python实现一些简单的测试工具,为了尽可能的简单,我们的工具以命令行工具为主。 本系列教程使用的python版本是3.6.3。 这一节我们实现简单的命令行发送get请求的工具,使用方式如下: 主要使用场景是快速访问http的api接口,查看状态码,响应头以及响应内容。 简单起见,我们会用到requests库。安装文档在这里。 抄一遍代 …
夏天应该是充电的好时机。休息日的时候外面骄阳似火,不如在屋里一边吹冷气一边学习新技能吧。 从目前的情况看来,自动化测试,接口自动化技术及性能测试技术已经成为了测试人员的必备技能。无论是从初级测试晋升到中高级测试,还是去换一份更加有前途的工作,这些技能已经成为了面试及日常工作中都需要掌握的核心竞争力。 目前我们开设了这三门课程,均是线上课程,歪歪语音直播授课, …
这一节我们实现下面两个功能 自动判断服务器响应的状态码,如果状态码是4xx,5xx的话则认为请求失败 增加断言功能,可以判断响应的json字符串里是否包含预期的字段 为了测试方便,我们先在main.py文件中增加2个测试的接口 /api接口返回json字符串 /error接口随机抛出401, 403, 404, 500错误中的1个 再修 …
发现很多同学对测试平台比较感兴趣,我们这一系列教程就围绕着测试平台的开发来展开。 本系列教程中,我们将实现一个超级简单的接口测试平台,类似postman,只不过是web版,而不是客户端版本。 这一节我们将实现在前端界面发送get请求并拿到响应的功能。等于是我们会实现1个调试get接口的平台小工具。 实现之后的效果是这个样子的。 你可能需要下面的一些知识以便更 …
最近我们因为一个问题需要加班到半夜。 因为我们的主干代码里有一个严重的问题,需要紧急修复,这个bug发现的时间很精妙,在发布的前一天夜里。 那一夜,基本上所有的需求都开发完成了,处于测试状态中,那么如何去修改这个严重的bug呢?开发说就在主干上改,改完以后测试同学顺便加班把其他需求都测完,我们提前一天在半夜强行发布。 于是测试同学便需要加班到半夜,那天我不 …
其实事情的经过是这样的。 最近在很短的时间内上线了一个小程序应用,在测试的过程中我们的开发同学很反感自己去测试环境的机器上更新部署java应用。 为什么反感呢?因为之前的团队有运维,现在单独拉出来做微信小程序,运维的同学没有带过来,部署什么的都要自己手工搞,被惯坏了开发同学哪里咽得下这口气,使用拖字诀,测试环境更新基本看心情,有一些影响测试进度。 那么就搞自 …