广东正信技术服务有限公司
型号:性能测试报告测试方式:项目本地测试测试标准:GB/T 25000.51-2016;GB/T 25000.10-2016等测试类型:确认测试服务范围:全国产地:广州
如何做好系统性能测试?
先是做好需求分析、编写性能测试计划、确定测试范围、测试人员分配等。
其次是性能测试环境搭建,性能测试的环境要立于功能测试环境,一般在没有其它干扰被测系统的情况下进行,而且对于机子的配置、服务器等有严格要求。然后在场景中执行测试,整个测试过程,获取测试过程中产生的相关性能数据等,分析测试结果,判断是否存在性能问题等。
性能测试是一个统称,它其实包含多种类型,主要有负载测试、压力测试、并发测试、配置测试等,每种测试类型都有其侧,下面对这几个主要的性能测试种类分别进行介绍。
1、负载测试
负载测试是指逐步增加系统负载,测试系统性能的变化,并终确定在满足系统性能指标的情况下,系统所能够承受的负载量。负载测试类似于举重运动,通过不断给运动员增加重量,确定运动员身体状况保持正常的情况下所能举起的重量。
对于负载测试来说,前提是满足性能指标要求。例如一个软件系统的响应时间要求不**过2s,则在这个前提下,不断增加用户访问量,当访问量**过1**时,系统的响应时间会变慢,**过2s,从而可以确定系统响应时间不**过2s的前提下负载量是1**。
2、压力测试
压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的压力。
压力测试与负载测试是有区别的,负载测试是在保持性能指标要求的前提下测试系统能够承受的负载,而压力测试则是使系统性能达到限的状态。例如软件系统正常的响应时间为2s,负载测试确定访问量**过1万时响应时间变慢。压力测试则继续增加用户访问量观察系统的性能变化,当用户增加到2万时系统响应时间为3s,当用户增加到3万时响应时间为4s,当用户增加到4万时,系统崩溃无法响应。由此确定系统能承受的访问量为4万。
压力测试可以揭露那些只有在高负载条件下才会出现的Bug(缺陷),如同步问题、内存泄漏等。
3、并发测试
并发测试是指通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其他性能问题。并发测试一般没有标准,只是测试并发时会不会出现意外情况,几乎所有的性能测试都会涉及一些并发测试,例如多个用户同时访问某一条件数据,多个用户同时在更新数据,那么数据库可能会出现访问错误、写人错误等异常情况。
4、配置测试
配置测试是指调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的分配原则。配置测试不改变代码,只改变软硬件配置,例如安装版本更高的数据库、配置性能更好的CPU和内存等,通过更改外部配置来提高软件的性能。
5、可靠性测试
可靠性测试是指给系统加载一定的业务压力,使其持续运行一段时间(如7×24h),测试系统在这种条件下是否能够稳定运行。由于加载有业务压力且运行时间较长,因此可靠性测试通常可以检测出系统是否有内存泄漏等问题。
6、容量测试
容量测试是指在一定的软硬件及网络环境下,测试系统所能支持的用户数、存储量等。容量测试通常与数据库、系统资源(如CPU、内存、磁盘等)有关,用于规划将来需求增长(如用户增长、业务量增加等)时,对数据库和系统资源的优化。
性能效率测试一般包括以下四个维度:
1、性能测试:在给定的基准环境下,目标系统响应客户服务的快速度或表现。
2、负载测试:在目标系统正常服务的前提下,目标系统所能承担的服务负荷数量(即并发数量),终可分析系统的性能瓶颈。
3、压力测试:是一种破坏性测试,故意让软件在比较少的资源环境下运行,如在低内存、小硬盘、慢速CPU上运行,考验程序直至程序无法运行,从而发现软件缺陷。
4、稳定性测试:在给定的负载(负荷)的情况下,有外界或内部非正常的干扰,系统所能够提供稳定服务的能力。
系统性能效率测试流程
(1)售前与委托单位测评项目进行前期沟通,签署《保密协议》,接收客户提交的资料,双方签署《软件技术测试服务合同》。客户提交资料如下:
软件测试委托表、软件产品测试功能列表;
①用户手册、操作、安装、说明、维护手册等;
②样品安装光盘;
③设计文档、数据库文档、相关测试要求或行业标准。
(2)测试组对委托方提供性能效率测试的软件系统相关资料和接受状态进行确认,并记录在测试流转表中;
(3)测试组检查被测物品的状态后,如发现相关问题,则将被测软件系统接受状态确认表反馈给委托方;
(4)委托方按照《用户需求说明书》的要求,搭建测试环境。
(5)测试组对测试环境进行确认,对计算机系统进行病毒检查,检查情况在测试流转表中进行记录;
(6)测试组按照《用户产品说明书》,编写测试计划;
(7)测试组按照测试依据编写测试用例,并实施软件测试。执行完毕后,测试人员根据测试用例的执行结果,在测试记录中进行记录;
(8)测试组根据测试员的测试记录出具测试问题报告;
(9)测试项目主管对问题报告进行审核,出现错误要求测试工程师进行重新或补充测试;
(10)测试组对测试出的问题做相应的分析,进一步对问题进行确认;
(11)测试组问题报告与委托方的技术人员进行面对面的沟通;
(12)委托方对问题报告的问题进行一一对应的修复;
(13)测试组对被测系统做回归测试;
(14)测试组根据测试结果出具测试报告,并由测试机构授权签字人批准;
(15)测试机构将性能效率测试报告的成果提交给委托方。
性能效率测试的作用
软件性能效率测试的目的是为了验证软件系统是否能达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,起到优化系统的目的。
其作用主要体现在以下几个方面:
1、评估系统的能力:测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
2、识别体系中的弱点:受控的负荷可以被增加到一个端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3、系统调优:重复运行测试,直至验证调整系统的活动得到预期的结果,从而改进性能。
4、检测软件中的问题:长时间的测试执行可能导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
5、验证稳定性和可靠性:在一个生产负荷下执行一定时间的测试是评估系统稳定性和可靠性是否满足要求的方法。
我们公司始终秉承“诚信、互助、共生、共赢”的经营理念,凭借实力、出众品质建立良好合作关系,我们真诚的希望能与广大新老客户一起携手共创美好未来!