软件测试
文章平均质量分 96
smooth00
近二十年软件开发及测试工作经验,以及多年技术管理和测试架构师经验,主要研究方向是性能测试和自动化测试,擅长工具的集成化应用和二次开发,对性能监控和性能分析、以及测试开发方面有多年的实战经验(热衷做小兵的老人)。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何自己开发漏洞扫描工具
扫描器的设计思想是:灵活,易扩展,易修改,灵活的意思就是可单独执行专项漏洞的扫描,也可以批量执行集成的所有漏洞探测模块;易扩展的意思就是,新的漏洞检测模块可清晰简单的集成进扫描器;易修改,对各个漏洞扫描模块可根据特殊情况修改探测逻辑。扫描器的使用扫描器下载地址:https://gitee.com/samllpig/SafeTool-51testing工具的详细安装教程:http://quan.51testing.com/pcQuan/lecture/117先打开我们的扫描器看下界面:..原创 2021-08-25 13:18:14 · 18470 阅读 · 5 评论 -
关于质量,大家都在关注什么?
转自《ThoughtWorks中国》:去年,我们在《数字化时代的软件测试》中看到了2017年软件质量方面的趋势和给测试人员的建议。又一年过去了,大家对软件质量保障和测试的关注有哪些变化呢?我们一起来看看这份质量报告《World Quality Report 2018-19》都有什么新的内容。关键趋势质量保障和测试的职责已从单纯的缺陷发现转变为客户满意度和业务成果的推动者了,这是个根本性的转变,它所带来的影响可以从今年这份质量报告的多个部分体现出来,而最能体现这个转变的是质量保障和测试的目标,转载 2021-05-11 10:28:28 · 5936 阅读 · 0 评论 -
性能测试知识问题整理(二)
续上一篇《性能测试知识问题整理(一)》十一、响应时间的258原则和业务模型的二八原则为什么不合理?问题一:为什么响应时间的258原则不合理? 这个命题争论的问题在于「快、好」的定义上,响应时间是否合理是要进行对比的。做为不同业务下的性能水平,快的定义是不一样的,比如在数据处理业务中,常分OLAP(联机分析处理)、OLTP(联机事务处理),比如一个简单的 OLTP 查询有大厂是要求微妙级别的,OLAP 统计报表类的业务查询几分钟也是可以接受啊,例如现在的大数据技术测试,在不同的条件...翻译 2020-05-14 15:10:50 · 7400 阅读 · 0 评论 -
性能测试知识问题整理(一)
参考高楼的《性能测试实战30讲之问题问答整理》,觉得他写的好,但是看原文一问一答的方式,比较散乱,我就重新按自己的想法整理一下,主要是抽取核心的内容方便自己查阅:一、性能测试的概念到底是什么?性能项目分为如下几类: 新系统性能测试类:这样的项目一般都会要求测试出系统的最大容量,不然上线心里没底。 旧系统新版本性能测试类:这样的项目一般都是和旧版本对比,只要性能不下降就可以根...翻译 2020-05-09 14:19:02 · 13541 阅读 · 1 评论 -
2020~2022年软件测试的五大趋势
今天是1月22日,公司正式开始放假了,为了安心过个春节(一年不容易,怎么也得找个理由放松放松),我也要开始两耳不闻窗外事了,但为了以示对新一年的关注,在这里转载一篇文章(凑数一下,已经没有心情写博客): 随着数字化技术应用的广泛普及,业界对于软件测试的要求也在持续迭代与增加。当前,越来越多的企业和组织都相继采用了Agile (敏捷)和DevOps之类的软件开发方法,以...转载 2020-01-22 14:07:51 · 9186 阅读 · 2 评论 -
说好的团队为质量负责呢?
现在回头看2016、2017年会发现那时候很多人热衷于写各种各样的技术文章(包括我关注的测试技术文章),写的也确实挺好,另外许多优秀的开源项目也是源至于那个时候,我是2016年进入现在的公司,现在细细品味公司的变化,我也发现了,2017年还真是互联网的巅峰时期,从那以后就开始走下坡路了,进入2019年几乎让很多人感到阵阵寒意,这时候你去搜索一些自动化测试、性能测试、DevOps的文章...转载 2019-12-11 13:38:13 · 5897 阅读 · 0 评论 -
利用kettle的JS进行ETL数据校验(升级版)
无意中在网上看到一篇文章《利用kettle中的JS来完成ETL数据校验》,挺受启发的,觉得用JS来实现ETL的自动化校验,是个不错的思路。但是这篇文章里给的JS脚本样例确实有待改进,一是让初学者看着不那么清晰,二是扩展性和维护性都较差。于是我做了二次改造,重新编写了脚本,如下://Script herevar strConn = "TestOrcl";var check_stat...原创 2018-01-29 15:47:17 · 7749 阅读 · 0 评论 -
如何让Loadrunner或Jmeter发送邮件报告
Loadrunner支持Java Vuser,而Jmeter本身就是基于Java开发的,所以两者都可以通过JMail组件实现邮件发送。本人使用的是mail-1.4.7.jar,可以通过下载获得:http://download.youkuaiyun.com/download/smooth00/10256343 发送邮件除了需要在Loadrunner或Jmeter做好以上Jar包的引用,...原创 2018-02-24 09:18:23 · 5075 阅读 · 1 评论 -
关于Loadrunner并发组函数web_concurrent的注意事项
web_concurrent_start函数是并发组开始的标记。组中所有的函数是并发执行的,并发组的结束符为web_concurrent_end 函数。在并发组中,可以包含的函数有:web_url、web_submit_data、web_custom_request、web_create_html_param、web_create_html_param_ex、web_reg_save_param、...原创 2018-03-14 17:22:46 · 5604 阅读 · 0 评论 -
通过密钥SSH远程监控Linux
目前远程监控Linux的连接方式是SSH、SNMP、Telnet,最常见的方式是通过SSH,由于安全考虑,实际用户环境很多情况是需要通过SSH公共/私有密钥的方式连接Linux系统,而且还禁止root用户连接。所以掌握这块的技巧很有必要,只要回避几个容易踩坑的地方就能轻松实现。1、生成密钥对网上对于制作密钥的方式五花八门,其实很简单,就是分为linux下产生密钥,还是Windows下产生密钥,无论...原创 2018-06-27 15:44:35 · 5070 阅读 · 0 评论 -
Jmeter文件的相对路径及编码在Windows和Linux下的兼容性
Jmeter实际上是不需要安装的,而且能同时在Windws和Linux下运行,而要解决这两个环境运行的兼容性问题,有两点需要注意:一是路径问题及路径符号,二是字符集编码,解决了这两个问题,我们就能将Windows下调试通过的Jmeter包(包括jmx脚本)全部复制到Linux下直接就可以运行,甚至连输出jtl报告、CSV报告、html报告都能完全兼容。原创 2017-12-26 10:41:34 · 15011 阅读 · 0 评论 -
Linux性能监控之vmstat和dstat
说来惭愧,做了这么久的性能测试,居然对linux的vmstat这个命令还不熟悉,对很多指标的具体意义都有点模糊不清,今天花了点时间好好学习、整理一下这个命令的相关资料。因为这个命令确实比较重要,而且频繁用到。顺便再介绍一下另一个更强大的工具dstat。ProcsrThe number of processes waiting for run time等待运行的进程数。如果等待运行的进程数越多,意味着CPU非常繁忙。另外,如果该参数长期大于和等于逻辑cpu个数,则CPU资源可能原创 2017-11-24 14:49:50 · 9102 阅读 · 0 评论 -
数据库性能需求分析及评估模型
数据库作为应用系统当中最重要的一块,也是性能测试非常关注的一块,根据我自己的项目经验,和以往对应用系统的性能需求分析和测试策略制定过程,总结一下如何开展数据库系统的性能需求分析,以及制定数据库能力评估模型。一、数据库性能需求制定1、需求信息收集-任务/交易分布(1)收集有哪些主要交易任务(与业务系统需求一致)(2)在一天的某些特定时刻系统都有哪些主要操作,以及操作量2、需求信息收集-...原创 2017-11-22 17:05:50 · 33940 阅读 · 1 评论 -
分析loadrunner报告中的HTTP 302重定向问题
我们在实际测试中会发现LoadRunner汇总报告中,常常会在HTTP Responses Summary 中看到报HTTP 302的请求数,而且往往是登录请求页面中出现的情况最多,本文简要分析了这个问题的原因和定位方式。原创 2017-03-24 09:28:40 · 12720 阅读 · 0 评论 -
如何在Windows下安装听云NodeJs探针
在一次性能测试中需要监控NodeJs,就用了听云,由于测试环境的NodeJs是部署在Windows下的,按照听云上的探针安装说明进行安装,发现处处是坑,最后花了两小时才解决,现在细想听云上的安装说明一定是针对Linux的,而且探针的Setup.js脚本也是针对Linux的。因此我将自己的安装过程重新记录一下,以供参考......原创 2017-10-10 16:51:50 · 6107 阅读 · 0 评论 -
性能测试过程及模型构建
在性能测试过程中,建模实际上可分为两个过程,性能测试过程和模型构建过程,性能测试过程主要完成对系统进行性能测试,并搜集相应的测试结果,形成测试过程文档;模型构建主要是根据搜集到的性能测试需求和生产系统的相关信息完成性能模型的构建工作,并指导性能测试过程以及测试结果的生成。一、测试过程863+1模式二、业务模型三、数据模型四、监控模型五、测试模型...原创 2017-10-30 21:02:47 · 9135 阅读 · 1 评论 -
关于Jmeter长时间压测的可视化监控报告
最近有个测试项目,是针对云平台的数据库连接稳定性测试,一般做稳定性测试想到的工具是Loadrunner,因为“成熟稳定”,但是这么重量级的工具不适合搬到云平台上开展测试。于是就想到了Jmeter,Jmeter是优秀的开源测试工具,但是其稳定性还有待验证。 首先将Jmeter轻量包(免安装)上传到云平台,这次肯定是要分布式测试了(因为要测试20台虚拟机与阿里Mysql连接的稳定性),...原创 2018-04-13 14:16:54 · 19217 阅读 · 10 评论 -
常用测试工具整理
平常测试过程中会用到不少测试工具,有些工具的使用频率还非常的高,以下做个简单的梳理,以供参考:原创 2018-04-20 10:00:37 · 26639 阅读 · 6 评论 -
针对性能测试工具Gatling与Jmeter的比较及看法
我是一个用惯Loadrunner的人,由于Loadrunner过于重量级,不方便在云端部署和使用,所以平常在这方面只能选择Jmeter,Jmeter的开源性和轻量化是我最喜欢的地方,但是Jmeter的脚本开发模式是我最不喜欢的地方:jmx脚本对应的XML格式太不直观,不方便维护和管理,代码调试也不方便(对于我们这些不愿意依赖于脚本录制的人来说,这点很重要),另外不喜欢的就是Jmeter的性能和稳定...原创 2018-04-20 10:44:09 · 18170 阅读 · 6 评论 -
测试工程师职业发展漫谈
转载自https://testerhome.com/topics/6911的一篇文章。原作者2007年工作至今,而我2006年工作至今,差距却如此之大。这篇文章发表于两年多前,现在读起来仍然是深有启发,很多地方到了两年后的今天仍然有指导意义,测试人员的思维确实不应该局限于测试行业,而应该放眼于整个软件行业和互联网行业的发展与变迁(我们的思维就是用来打破的):1. 测试行业发展背景...转载 2019-09-03 08:44:24 · 18475 阅读 · 9 评论 -
全链路压测方案梳理
全链路压测的概念挺火的,想做成却没有机会(毕竟不是互联网巨头类的公司),所以在这里也不想纸上谈兵,可能过段时间它就会被更新更高大上的概念给替换了,但是我们可以收集一下相关资料(目前可以开展全链路压测的公司真的很少,所以资料有限),将来对自己的性能测试项目可能也会有帮助:相关链接:阿里全链路压测 全链路压测3.0 智能全链路压测有赞全链路压测实战 全链路压...原创 2019-06-10 15:13:43 · 11377 阅读 · 6 评论 -
说说性能测试的几个概念
性能测试(Performance Test)通过测试工具和测试手段,监测和收集测试过程中的软件系统运行数据,度量系统与预定义目标的差距。而预定义目标就是通过性能需求来表示。怎样才能更有效的获得性能需求?以便更好设计、执行性能测试。可以按以下步骤:1. 收集,根据项目历史数据,或者根据经验2. 分析,比如业务人员很多,底层到中层、再到高层。分析历史数据、竞品、业务。业务需要分析业...翻译 2019-04-27 12:21:03 · 5055 阅读 · 2 评论 -
测试行业的发展趋势和看法
[ 声明:本文为博主梳理改编,转载请注明出处:https://blog.youkuaiyun.com/smooth00/article/details/87792965原文来自https://testerhome.com/topics/9065 ] 我是从开发半道转去做测试的,当时刚从事测试这个行业的时候也是意气奋发,对未来充满无限憧憬,但是在这个行业摸爬滚打了十多年后,渐渐发现这个行业不...转载 2019-02-20 15:49:46 · 22142 阅读 · 12 评论 -
一系列自动化测试的开源项目介绍
在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来一点帮助。一、性能自动化测试1、项目名称:基于Jmeter实现的在线压测平台和在线管理Jmeter脚本系统项目简介:本项目基于renren-f...原创 2018-11-21 14:14:22 · 24505 阅读 · 7 评论 -
基于Jmeter的性能压测平台实现
很早就想要一套属于自己的性能压测平台,原因是使用了阿里云的性能测试PTS,就挺羡慕能有一个这样的性能测试平台,但毕竟人家的东西我们高攀不起(要钱的),而且阿里云的性能测试平台是不支持多种协议的(比如我有一个项目要用websocket测试,结果人家就支持http压测)。 说到开发自己的性能测试平台,肯定想到的是Jmeter,因为开源的性能测试工具没有比它更强大的了,所以第一个想到的是...原创 2018-10-25 17:33:25 · 44087 阅读 · 40 评论 -
关于Jmeter参数化的编码问题
大家用jmeter最常遇到的是请求参数中文乱码问题(至于返回值乱码问题由于处理简单也不影响测试,就不在这里说了),而对于这个问题,很多人不能从根本上去分析和理解,所以就无法从根本上去回避和解决,以下我就通过几种情况来分别说明:在这之前,先做好测试案例:(1)准备CSV数据文件,内容只有三列:1,test,测试注意:这里的文件名含路径,linux下必须是csvData/ID2.csv...原创 2018-08-15 11:25:51 · 9935 阅读 · 0 评论 -
Dockerfile配置APM监控实现Java容器的性能监控
通过Dockerfile可以用来构建容器镜像,我们一般也是通过这种方式来构建一个Tomcat应用服务容器,如果要实现对容器中的Tomcat服务(或是其他Java应用)进行APM(应用性能管理)监控,就需要我们在容器中放置javaagent并做相关配置,而在已生成的容器中修改配置不符合容器管理的规范,所以我们建议在发布镜像时就将javaagent植入,这样在生成容器时就可以通过环境变量参数来决定是否...原创 2018-07-02 09:39:03 · 6480 阅读 · 0 评论 -
听云监控.NET Core的配置误区
听云算是较早推出.Net Core应用性能监控的(2017年11月推出),和听云其他语言的监控工具一样,也是无需开发人员介入即可实现在无需修改代码、无需重新编译应用,就能深入代码级别的应用监控。工具虽好,但也满满的是坑呀,特别是按照听云的使用说明进行基于IIS+.Net Core的应用部署配置,发现问题还不少。 在这里我们只讨论IIS发布部署的方式(Windows环境),因为就这...原创 2018-05-02 08:34:39 · 5220 阅读 · 3 评论 -
关于Web事务响应时间的细分以及深入分析
对于loadrunner而言,response time只反映了传输时间和系统处理事务的时间,而客户的浏览器从接收完所有字节开始到浏览器加载完所有元素、运行完所有js,呈现给用户的这段时间loadrunner是不统计的,这部分属于页面前端性能,需要通过前端工具辅助分析。 通过Loadrunner获取的事务响应时间,主要可以分解为:First Buffer +Receive...原创 2017-09-15 11:20:42 · 9849 阅读 · 0 评论 -
关于自动化测试的定位及一些思考
大家对自动化的理解,首先是想到Web UI自动化,这就为什么我一说自动化,公司一般就会有很多人反对,因为自动化的成本实在太高了,其实自动化是分为三个层面的(UI层自动化、接口自动化、单元测试),不是每个层面的自动化都是遥不可及的,以下标示一下这三个层面的难易程度(网上叫这个为自动化金字塔): 基本上可以肯定的是,单元测试是成本最低的,也是最容易推广,见效最大的...原创 2017-08-31 14:17:10 · 9044 阅读 · 4 评论 -
分享我的第一次Selenium自动化测试框架开发过程
由于公司的开发团队偏向于使用Java技术,而且公司倡导学习开源技术,所以我选择用Java语言来进行Selenium WebDriver的自动化框架开发。由于本人没有Java开发经验,以前虽然学过QTP但从没有接触过Selenium,正好通过这个机会能学习一下自动化测试,同时也学习一下基本的Java开发过程。一、首先是搭建框架开发环境按照网上的方法部署eclipse,建立TestAction...原创 2017-08-19 14:08:40 · 26744 阅读 · 11 评论 -
LoadRunner 和 HTTP 401 验证
在笔者最近做的一个项目中,偶然发现了一个HTTP验证机制方面的有趣问题。 本人有一个设备对设备(M2M)的接口,在这个接口上用户(客户端)使用HTTP验证来确认是他们自己向服务器传输数据。在这种情况下,没有收到来自服务器对于HTTP 401的响应,因为该用户(客户端)在初始请求中包含了身份验证的信息。 笔者发现LoadRunner不会出现相同的情况。它会在实际发送验证信息之前,先等待HTTP 401响应。如果我们模拟一个专为使用者服务的网络服务,那么这是一个正确的动作,但是在翻译 2017-03-24 16:43:23 · 11799 阅读 · 3 评论 -
LoadRunner: 脚本回放时的错误“HTTP 状态码401未授权“
LoadRunner:脚本回放时的错误“HTTP 状态码401未授权(当前请求需要验证用户授权)”在使用Loadrunner时,我们总会遇到很多常见的错误,比如HTTP status code(HTTP 状态码)401 、500、403等。在做HTTP/HTML脚本回放时,如果出现HTTP status Code 401 Unauthorized, 表示当前请求需要验证用户授权。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以请求用户信息。客户端可以重复提交一个包含恰当翻译 2017-03-24 17:13:08 · 22000 阅读 · 3 评论 -
如何在Loadrunner11中解决HTTP BASIC认证登录报401的问题
在对Carte+kettle的性能测试过程中,通过在loadrunner中用web_set_user("cluster", "cluster","172.17.2.89:8080");可以登录carte服务页面,但是压力测试过程中发现报告中产生了大量的HTTP 401请求。虽然这个错误不影响最终的测试,但是让追求完美的我,感觉不舒服,总觉得哪里有个重要事情我没搞明白。原创 2017-03-24 13:41:04 · 15454 阅读 · 3 评论 -
性能测试工具操作数据库(八)-Jmeter与SQL Server
性能测试工具操作数据库连载八,本节在上一节Loadrunner操作Sql Server的基础上,改成用Jmeter工具连接操作,具体包括JDBC连接、查询、插入数据操作,涉及到的操作过程和注意事项对新人绝对有帮助。原创 2017-03-31 10:14:03 · 11623 阅读 · 2 评论 -
性能测试知识体系
性能测试知识体系,包括2.5.1 业务模型(1)响应时间业务模型(2)吞吐量业务模型2.5.2 数据模型(1)基础数据模型(2)测试数据模型2.5.3 测试模型划分测试阶段、确定测试内容和顺序、设计测试场景、设计测试脚本(1)分析测试阶段:基准测试、配置测试(2)模拟测试阶段:基准测试、负载测试、压力测试、容量测试、稳定性测试原创 2017-03-16 16:44:10 · 10627 阅读 · 3 评论 -
性能测试工具操作数据库(七)-Loadrunner与SQL Server
性能测试工具操作数据库连载七,本章节以loadrunner操作SQL Server为例,调取loadrunner函数实现SQL Server数据库的连接、查询和插入操作。原创 2017-03-30 14:06:16 · 11979 阅读 · 0 评论 -
性能测试工具操作数据库(六)-Jmeter与PostgreSQL
性能测试工具操作数据库连载六,本章节以jmeter操作PostgresQL为例,可以实现jmeter批量插入、更新、查询、删除oracle数据库,以及说明注意事项,对初学者绝对有帮助。原创 2017-03-28 16:09:54 · 14574 阅读 · 6 评论 -
性能测试工具操作数据库(二)-Loadrunner与oracle
性能测试工具操作数据库连载二,本章节以loadrunner操作oracle为例,可以实现loadrunner批量插入、更新、查询、删除oracle数据库。原创 2017-03-28 09:31:13 · 14031 阅读 · 0 评论 -
Kettle性能调优汇总
性能调优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优。其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优。本章主要是介绍Kettle的性能优化及效率提升。......翻译 2017-03-21 14:28:49 · 61795 阅读 · 13 评论
分享