提到性能测试,大家马上脑海里马上会出现负载测试、压力测试、容量测试等概念,那么大家知不知道还有可伸缩性测试。可伸缩性测试可以看成性能测试的一个扩展,关注系统本身的可伸缩性,下面给大家具体介绍。
关于性能测试,你可能会比较关心将系统从超负荷运行中解救出来所需要的时间。容量测试主要关心的是我们在系统容量达到什么程度的时候需要增加系统的资源以增加可支持用户量(注:也就是确定系统可处理同时在线的最大用户数)
性能测试的工作千头万绪,最怕的就是像无头苍蝇般盲目地测试,不但旷日费时,还累积不到经验,团队与个人都难以成长,(下次再进行性能测试时,还是乱测一通)。我们需要拟定步骤分阶段执行,如此才能循序渐进,一步步向目标前进。根据微软公司的研究显示,性能测试的过程应该为六个阶段,分别是发现、探究、提案、执行、复查、收尾。
对于一个开发比较成熟的业务系统而言,功能相对已经完善,但在大业务量的情况下往往会出现各种异常。对此,需通过对系统进行配置修改或者产品框架调整来优化系统。在优化系统过程中,最有效的手段就是对系统做性能测试,通过测试结果的收集分析,不断进行系统优化,最终达到系统在大业务量情况下稳定运行的目的。
虚拟化技术的应用可以帮助用户通过服务器整合,实现在同一台物理服务器上运行多个软件应用,甚至可以运行在不同的操作系统上,用更少的服务器获得更高的整体性能,提高计算机性能的利用率。
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。
明确了具体的性能要求后,可以开始进行测试,确定应用程序是否满足这些要求。性能测试假定应用程序稳定、可靠地运行。因此,在测试中消除尽可能多的变数很重要。例如,代码中的错误可以导致出现性能问题,甚至掩盖性能问题。要精确地比较不同性能测试的结果,应用程序必须正确地工作。如果调整过程修改了组件的实现,则重新测试应用程序的功能尤其重要。应用程序必须通过功能性测试后才可以测试性能。除了应用程序更改外,硬件、网络通信量、软件配置、系统服务等诸多方面也会发生意外的更改。控制应用程序更改很重要。
1. 精通性能测试的基本概念,过程,方法论,了解性能工程;2. 精通1个商业性能测试工具+1个开源性能测试工具;3. 扎实的计算机专业基础知识;4. 熟悉至少1个常用的数据库产品;5. 熟悉至少一个操作系统的原理;6. 熟悉至少一个web server 产品……
说到性能测试,大家一定非常熟悉,因为现在性能测试已经非常普及。在以前单机版软件横行的时候,性能并不为大多数人所重视,但是随着互联网的日益普及,c/s架构与b/s架构的出现,性能被人们越来越重视。特别是b/s系统,由于不用下载客户端,一切数据皆从服务器获取,因此性能对其最为重要。 自然而然,性能测试也越来越受关注。
对于一个开发比较成熟的业务系统而言,功能相对已经完善,但在大业务量的情况下往往会出现各种异常。对此,需通过对系统进行配置修改或者产品框架调整来优化系统。在优化系统过程中,最有效的手段就是对系统做性能测试,通过测试结果的收集分析,不断进行系统优化,最终达到系统在大业务量情况下稳定运行的目的。
本文不想就软件测试技术和软件测试策略作深入的理论分析,而是列举一个在软件系统测试阶段进行的压力测试实例,希望能通过这个实例与从事软件测试相关工作的朋友进行交流。
前段时间与朋友聊到广域网的性能测试中,如何监测性能测试中丢包率的问题,但并没有比较成熟的想法。或许,使用文中描述的ping方法,虽然不太成熟,但也可以考虑一下。
随着软件测试行业的逐渐发展,性能测试也变得火热起来。从各大测试论坛和测试交流群的交流主题的热门程度来看,性能测试已经成为大家非常感兴趣的话题。性能测试作为软件测试行业技术性相对较高的工作(自动化测试、白盒测试、性能测试)来说,个人觉得其操作门槛还是不低的。对于测试新手来说入门有一定的难度,做的好就更加不容易了,可能花了不少时间而实际收获不大。因此觉得有必要来专门探讨一下性能测试的门槛,以及如何更好的迈进这个门槛。
很多人在使用诸如"容量评估","容量计划","趋势分析"和"预测" 等术语时,并没有真正理解这些词汇的含义。当有人提起"容量计划"时,通常是指他们的应用不能满足SLA,而将被迫购买更多的硬件。
不断发展的SOA应用让我们可以不断满足今天复杂的商业方案和竞争激烈的交付时间的需求,但它也为专业测试人员带来了新的难题。虽然没有任何一个方案可以解决全部问题,但是已有的实践可以为我们提供一些帮助。
可以说,谁掌握了功能测试和性能测试的精髓,谁就能在测试外包市场中占据技术制高点。本文正是为这类软件服务型企业出谋划策、提供测试技术决策参考。
这是 Mashable 搜集的最新 Web 开发工具箱,包括拖放式 Web 程序创建工具,代码库,项目管理,测试程序,以及支持各种编程语言的框架,从 Ajax 到 Ruby 到 Python。这是第一部分。