本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈做性能测试流程要多久呢,以及做性能测试流程要多久呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享做性能测试流程要多久呢的知识,其中也会对做性能测试流程要多久呢进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
性能检测程序需要多少时间
是不是所有优秀
做性能测试流程要多久呢的开发人员都能够成为优秀
做性能测试流程要多久呢的测试人员?
所有的人都知道应该如何进行测试
做性能测试流程要多久呢,但是却未必知道要成为一名优秀的测试人员,真正需要哪些素质。
优秀的系统验证测试人员应该具备哪些素质?
在 8 年多的软件开发工作中,
做性能测试流程要多久呢我曾从事过各种项目的设计和开发,并且从初级开发人员成长为高级开发人员,最终成了一名软件架构师。在此期间,我意识到测试工作的重要性和挑战,甚至曾自愿地对自己设计的程序进行测试,这是出于“自己解决自己的问题”的考虑。大约在一年前,我成为了系统验证测试 (SVT) 组的负责人。我之所以想到要撰写这个专栏,是因为与所在部门的一名测试人员的闲聊,情况是这样的,该测试人员以前的一名同事申请了我部门中的测试职位。当我向这名测试人员询问有关申请者(当时他正从事开发工作)的情况时,她的回答是“对这个人我已经记不大清楚了,但他肯定是一名优秀的测试人员,因为他是一名开发人员”。
听到这样的评论我感到震惊,但是后来我发现,对于开发和测试团体来说,这是一个普遍存在的观点。的确存在许多优秀的开发人员和优秀的测试人员,但是在某个方面非常一流,并不一定就意味着在其他方面也同样优秀。所以作为一名测试管理人员,我需要说明成为一名优秀的 SVT 测试人员所面临的挑战和应该具备的独特品质,这不仅仅是要吸引高素质人才加入到这个行列,同时还可以分享这项工作给我们带来的自豪感,并且或许可以为测试工作赢得更多的尊重。
发现客户价值
按照规定,SVT 组负责进行系统级测试。什么是系统级测试呢?这是一个常见的问题。我的理解是,进行系统级测试的目的是为了确保通过产品所提供的功能,实现既定的客户价值。
那么,什么是“客户价值”呢?其答案正是为什么客户购买和使用某种产品的原因之一。例如,我使用 Microsoft?? Word 已有许多年了。回忆我个人使用该软件的经历,在早期的版本中,最苦恼的事情是它容易在编辑的过程中发生崩溃,这样就会丢失最近一次保存以来的所有工作。幸好,现在的版本不再出现这种情况了。甚至更加完善,它会定期地自动保存文档,这样一来,即使在退出的时候忘了保存文档,仍然可以恢复到最近一次自动保存的副本,对我来说这是个非常好的特性。这种作为客户的经历使我意识到,尽管该产品提供一般性的功能,但正是其独特的特性使得它能够从众多的竞争产品之中脱颖而出,并且正是这些提供价值的特性使得其客户钟情于该产品。因此,对于优秀的 SVT 测试人员来说,最重要的品质是能够清楚地了解每个特性的客户价值。
尽管可以很容易地从设计文档或用户手册的简介部分中找到每个特性所允诺的客户价值,但是要有效地将它们合并为测试设计方案的核心,并不是那么简单。要实现这一点,测试人员需要了解技术的采用周期,以及该技术当前位于其采用曲线中的什么位置。他还需要了解提供类似客户价值的竞争技术,以及有可能共同使用的协作性技术。
测试更广泛的场景
我观察到新的 SVT 测试人员常犯的一个错误是,他们总是从局部而非整体的角度来看待某种技术(或者产品特性)。结果,测试工作重点关注于产品与设计的符合性,而不是它所提供的真正价值。例如,当在 J2EE?? 技术中引入容器管理的持久性时,其目标是为数据库的访问提供一种更简单并且更具可移植性的编程模式,它的竞争技术是其他持久性技术,如 JDBC 和持久的数据对象。如果该技术或特性不易于使用,并且不能够伸缩或至少执行其竞争技术所能完成的任务,那么该特性就难以获得接受,即使客户购买了这个产品,他们也不会使用该特性。因此,SVT 测试人员的任务是发现问题的本质,并在产品发布之前进行报告。
是可以工作,还是工作得更好?
不久之前,一名测试人员向我解释她正在测试的新的安全会话特性,如何通过在每次调用中与信任服务器联系以便进行身份验证,从而使得 Web 服务能够更好并且更安全地执行。我很怀疑向信任服务器进行附加调用的时间是否短到足以避免抵销这个新特性所节省的时间,以及这个信任服务器是否向系统中引入了单点故障。
对于 SVT 测试人员来说,对该特性及其相关特性的技术知识同样重要,并且仅仅有技术上的知识是不够的。使用客户价值作为特性测试的核心,还需要测试人员考虑更多的内容,在有些情况下,需要跨越组织的界限。当我提出关于信任服务器性能方面的担心时,该测试人员的回答是“我不负责测试性能,那是由性能团队负责的”。还有一次,有个客户向我询问关于产品如何在重负载下处理事务恢复的问题。执行这个测试场景的测试人员无法回答这个问题,因为她根本没有进行负载测试。
在一定程度上,这反映了组织中的定义受到很大的限制。当然,很少有能够很好地处理各种情况的组织结构。我认为,优秀的 SVT 测试人员不仅仅只是完成特性本身的测试工作,并且对任何可能妨碍该特性实现其允诺的客户价值的问题保持高度的警惕,无论是性能优于该特性的竞争技术、或未能很好集成的协作特性、或特性本身没有达到预期效果、或在系统中产生了附加的缺陷。
我是新手,刚接触性能测试,实际工作中的性能测试的流程怎样的呢?
我在TestBird从事自动化测试等工作,对性能测试也有一些经验,性能测试流程其实网上和专业的书都有介绍,我把我现在性能测试流程简单描述一下:
1.制定测试计划和策略
可能很多人觉得这一步很琐碎,其实我觉得这一步很关键的,决定着之后测试的走向。
2.准备测试环境
包括硬件、网络、操作系统,中间件,数据库、测试数据,监控工具等。
3.录制脚本,优化,调试
录制、增强、优化脚本的目的是使模拟用户操作步骤更逼真。
4.根据场景执行脚本,分析测试结果
就根据你已经设计好的场景执行脚本,记录测试结果,并和开发人员,DBA等一起定位性能缺陷。
5.性能调优后,回归测试
如果有性能问题,开发人员,DBA性能调优后回归测试。
性能测试到底该怎么做?
作为一名开发者,我们最长听到的就是编程界的三高:
高性能、高并发、高可用。
听起来非常高大上,但是性能到底如何呢?又该如何评定呢?
这次我们谈一谈性能测试,看一看到底什么样才叫做高性能。
本文主要从以下几个方面进行讨论。
(1)性能测试是什么?
(2)为什么需要性能测试?
(3)性能测试如何做?
(4)有哪些性能测试的工具
老马曾经说过,你想理解一件事物,首先必须先定义它。
这里直接引用一下百科中的定义:
性能测试的定义也不难理解,往往定义本身阐述了性能测试的作用。
如果你是一名开发、测试,平时接手过不少需求,可能性能测试接触的也不多。
每一个需求,都有对应的功能性需求和肺功能性需求。
功能性需求是产品需求文档中最直接的,需要实现的功能目标。简称,能用就行。
非功能性需求则要宽泛的多,架构设计是否合理?是否便于后期拓展?是否便于监控?代码实现是否优雅?文档注释是否完整?
就像你写了一只鸟,鸟头做螺旋桨非能飞起来,但是在架构设计上可能是不合理的。
飞起来
一个查询功能,用户点击查询,10S 种才返回数据,功能上是满足的,但是性能上是不能接受的。
线上的交易功能平时各方面都很棒,节假日高峰期直接系统就瘫痪了。
那如何避免这些问题出现在生产上呢?
这就需要上线之前,首先做好对应的性能测试,避免再生产上出现问题,带来严重的生产事故。
性能要高,性能要硬,性能测试,又高又硬!
又高又硬
做一件事情之前,我们首先要确定好自己的目标。
性能测试,到底要测试什么?
有些类似于开发过程中的需求分析,常见的测试指标如下。
响应时间是指某个请求或操作从发出到接收到反馈所消耗的时间,包括应用服务器(客户端)处理时间、网络传输时间以及数据库服务器处理时间。
作为用户而言,在页面点击查询,等待了多久才能获取结果,这个就是响应时间。
用户不关心你后端经过了多少个服务,慢就是原罪。
对于微服务系统,链路监控就显得比较重要。可以帮助我们快速定位到底慢在哪里。
TPS(Transaction Per Second)是指单位时间(每秒)系统处理的事务量。
我看网上还有很多类似的概念:点击量/点击率、吞吐量/吞吐率、PV/UV,这里不做赘述。
个人看来本质上 TPS/QPS 就是去压测你应用的极限,当访问量较大的时候,程序能否活下来?
这里主要涉及到两个概念:高性能和高可用。
我们后面会简单讨论下这两点。
明确了测试指标之后,就需要进行测试的准备。
环境准备:比如你想压测数据库,那就需要准备对应配置的数据库资源。
脚本的准备:数据初始化脚本,调用脚本等。
这个可以类比开发过程中的代码开发。
ps: 性能压测一般不是很常用,所以环境准备流程会比较长,这一点需要注意。
当进行测试之后,测试的结果一定要给出一份报告出来。
是否通过压测要求?
最高的 QPS 是多少?
这样开发可以根据这份报告进行相应的优化。
提升性能的内容写一本书也不为过,这里简单罗列一些最常用的几点:
(1)慢 SQL
一般程序如果响应时间较长,可以首先看一下慢 SQL。
看下是否需要增加索引,或者进行 SQL 优化。
(2)缓存
针对查询,性能提升最显著的就是引入缓存。
当然,引入缓存会使架构变得复杂,这一点要结合自己的实际业务。
(3)硬件升级
如果程序优化的空间比较小,可以考虑升级一下硬件资源。
比如服务器配置翻倍,数据库配置翻倍。
什么?你说公司没钱升级?
没钱升级做什么压测?
这个时候测试报告的作用就显露了,直接用数据说话。
直接说 QPS 达不到生产要求,程序优化的空间很小,推荐硬件升级配置,升级到多少。
做人,要以德服人。
做测试,要用数据说话。
以德服人
测试最常用的工具当属 jmeter。
除此之外,还有一些其他的工具:
LoadRunner、QALoad、SilkPerformer和Rational Performance Tester。
下面对几个工具做下简单介绍
Apache JMeter 可以用于测试静态和动态资源(Web动态应用程序)的性能。
它可以用于模拟服务器、服务器组、网络或对象上的负载,以测试其强度或分析不同负载类型下的总体性能。
将负载测试集成到开发工具中:IDE、jUnit、nUnit、Jenkins、Selenium和Microsoft Visual Studio。
从12.55版本开始,您可以运行您的JMeter脚本,并在任何性能测试中集成JMeter和附加的脚本类型。
ps: 这个设计理念就非常好,可以和成熟的工具进行整合。站在巨人的肩膀上。
QALoad是客户/服务器系统、企业资源配置(ERP)和电子商务应用的自动化负载测试工具。
QALoad可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试,并针对所发现问题对系统性能进行优化,确保应用的成功部署。
ps: 这个工具本人没有接触过。
SilkPerformerV可以让你在使用前,就能够预测企业电子商务环境的行为—不受电子商务应用规模和复杂性影响。
可视化的用户化、负载条件下可视化的内容校验、实时的性能监视和强大的管理报告可以帮助您迅速将问题隔离,这样,通过最小化测试周期、优化性能以及确保可伸缩性,加快了投入市场的时间,并保证了系统的可靠性。
作为 DevOps 方法的一部分,IBM Rational Performance Tester 帮助软件测试团队更早、更频繁地进行测试。
它验证 Web 和服务器应用程序的可扩展性,确定系统性能瓶颈的存在和原因,并减少负载测试。
您的软件测试团队可以快速执行性能测试,分析负载对应用程序的影响。
ps: 这一款工具有 IBM 提供,质量值得信赖。
这么多工具可供使用,相信读到这里的小伙伴已经找到了自己心仪的测试工具。
别急,下面专门为做 java 开发的小伙伴们推荐一款性能测试工具。
男人有男人的浪漫,开发者当然也要有开发者的浪漫。
【男人的浪.jpg】
作为一名开发者,老马平时单元测试使用 junit 最多。
所以一直希望找到一款基于 junit 的性能压测工具,后来也确实找到了。
@JunitPerfConfig 指定测试时的属性配置。(必填项)
使用如下:
@JunitPerfRequire 指定测试时需要达到的要求。(选填项)
使用如下:
对应的测试报告生成方式也是多样的,也允许用户自定义。
基于控台日志:
或者基于 HTML:
junitperf
本文对性能测试做了最基本的介绍,让小伙伴们对性能压测有一个最基本的理解。
测试和开发一样,都是一件费时费力,而且需要认真做才能做好的事情,其中的学问不是一篇就能说清的。
性能测试工具也比较多,本文重点介绍了专门为 java 开发者打造的 junitperf 工具。
下一节我们将从源码角度,讲解一下 junitperf 的实现原理。
我是老马,期待与你的下次重逢。
开源地址:https://github.com/houbb/junitperf
关于做性能测试流程要多久呢和做性能测试流程要多久呢的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
做性能测试流程要多久呢的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于做性能测试流程要多久呢、做性能测试流程要多久呢的信息别忘了在本站进行查找喔。
暂时没有评论,来抢沙发吧~