发布时间:2020-07-27
web性能测试策略一般从需求设计阶段开始讨论如何定制,它决定着性能测试工作要投入多少资源,什么时间开始实施等后续工作的安排;其制定的主要依据是软件自身的特点和用户对性能的关注程度,其中软件自身的软件按照用途的不同可以分为两大类,系统类软件和应用类软件。系统类软件通常对性能要求较高,因此性能测试应该尽早介入;应用类软件分为特殊类应用和一般类应用,特殊类应用主要有银行,电信,电力,保险,医疗,安全等领域软件,这类软件使用频繁,用户较多,也需要较早进行性能测试;一般类主要是指一些普通类应用如OA,MIS 等一般类软件根据实际情况制定性能测试策略,受用户因素影响较大;
1. 系统类软件:
从设计阶段就开始针对系统架构,数据库设计等方面进行讨论,从根源来提高性能,系统类软件一般从单元测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法和模块;
2. 应用类软件:
特殊应用:从设计阶段就开始针对系统架构,数据库设计等方面进行讨论,从根源来提高性能,系统类软件一般从单元测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法和模块;
一般应用:与使用用户的重视程度有关,用户高度重视时 ,设计阶段开始进行一些讨论工作,主要在系统测试阶段开始进行性能测试实施;用户一般重视时,可以在系统测试阶段的功能测试结束后进行性能测试;用户不怎么重视时,可以在软件发布前进行性能测试,提交测试报告即可;
WEB性能测试用例设计模型
性能测试用例设计通常不会一次设计到位,是一个不断迭代完善的过程,即使在使用过程中,也不是完全按照设计好的测试用例来执行,需要根据需求的变化进行调整和修改; WEB性能测试用例设计模型是一个内容全面比较容易组织和调整的模型架构。
1.预期性能指标测试用例;
指一些十分明确的,在系统需求设计阶段预先提出的,期望系统达到的,或者向用户保证的性能指标,针对每个指标都要编写一个或者多个测试用例来验证系统是否达到要求,预期性能指标测试用例主要参考需求和设计文档,把里面十分明确的性能要求提取出来,指标中通常以单用户为主;
如:对于普通的客户端,系统上传5MB以内的文件,速度不低于2MB/S;输入动作:选择1-5 MB的文件并上传,用秒表计时;期望的性能:上传的时间小于等于2.5S实际性能: 上传的时间2.29秒;这类用例通常以手工的方式执行;
2.用户并发性能测试用例;
用户并发测试主要通过逐渐增加用户数量来加重系统负担,并通过测试工具对应用系统,各种服务器资源进监控,用户并发测试可以是正常数量用户和特殊数量用户进行并发, 用户并发测试是系统性能测试的核心部分,涉及压力测试,负载测试,强度测试等多方面的内容。
独立业务性能测试实际就是核心业务模块的某一业务的并发性能测试,可以理解为单元性能测试;组合业务的性能测试是一个或者多个模块的多个业务同时进行并发性能测试,可以理解为集成性能测试,单元性能测试和集成性能测试两者紧密相连合并称为用户并发性能测试;用户并发测试要求选择有代表性的关键的业务来设计测试用例,以便更有效的评测系统性能;其测试用例设计文档的基本的编写思想是按照系统的体系结构进行编写。
组合模块的性能测试是最能反映用户实际使用情况的测试,它把前面系统中具有耦合关系的模块组合起来进行测试,可以理解为集成性能测试,组合模块并发测试可以真实反映用户使用系统的情况,可以从需求,设计文档;现场调查,系统采集数据获取用户场景;具有耦合关系的核心模块进行组合并发测试:主要测试在多用户并发条件下,一些存在耦合关系或者数据接口的模块是否正常运行;彼此独立的,内部具有耦合关系的核心模块组的并发测试:这类测试的对象是多个模块组,每个组相关的模块具有一定的耦合关系,组与组之间关系相互独立,主要站在用户的角度考虑问题;
基于用户场景的并发测试:选择用户的一些典型场景进行测试,测试对象不限制于核心模块或非核心模块;
组合模块用户并发性能测试的前两种类型仍然是针对核心模块的同时也关注用户场景,这样做的原因是大多数的性能问题都是由用户经常使用的核心模块一起的;可以看出,组合模块的用户并发性能测试既关注功能测试,也关注性能测试,通过发现一些接口和综合性能方面的问题,使系统更加稳定的运行。
疲劳强度与大数据量测试;疲劳强度测试:主要特点是长时间对目标测试系统加压,目的是测试系统的稳定性,持续时间一般在1小时以上;
疲劳强度测试属于用户并发测试的延续,因此核心内容仍然是核心模块用户并发和组合模块用户并发,在编写测试用例时需要编写不同参数或者负载条件下的多个测试用例,可以参考用户并发性能测试用例的设计内容,通常修改相应的参数就可实现所需要的测试场景;
大数据量测试:主要针对对数据库有特殊要求的系统进行的测试,如电信业务系统的手机短信业务;可以分为实时大数据量,主要目的是测试用户较多或者某些业务产生较大数据量时,系统能否稳定运行;极限状态下的测试,测试系统使用一段时间即系统累计一点量的数据时能否正常的运行业务;前面两种的结合,测试系统已经累计了较大数据量时,一些实时产生较大数据量的模块能否稳定工作;
基于硬件的测试:主要是通过各种软件工具,仪器等测试整个系统的网络运行环境,一般由系统集成人员负责 ;基于应用系统的测试:主要测试用户数目与网络带宽的关系,通过测试工具准确展示带宽,延迟,负载和端口的变化是如何影响用户响应时间的;网络性能测试的用例设计主要针对后一种类型,可以独立进行测试,也可以和用户并发性能测试,疲劳强度与大数据量测试结合起来,在原有的基础上采用工具来调整网络设置,从而达到监视网络性能的目的;
服务器性能测试主要是对数据库,WEB服务器,操作系统的测试,目的是通过性能测试找出服务器的瓶颈,为系统扩展,优化提供相关的依据;分为:高级服务器性能测试:在特定的硬件条件下,由数据库,WEB服务器,操作系统相应领域的专家进行的性能测试;
初级服务器性能测试:在系统运行前面的性能测试时,通过测试工具对数据库,WEB服务器,操作系统的使用情况进行监控,然后进行综合分析,找出系统瓶颈;性能测试的主要目的是在软件功能良好的前提下,发现系统瓶颈并解决,而软件和服务器是产生瓶颈的两大来源,因此服务器测试一定要和前面的测试结合起来进行;在进行用户并发性能测试,疲劳强度与大数据量性能测试时,可以完成对服务器的监控并对服务器性能进行评估;这类部分的测试用例一般不必单独编写;
总之,性能测试用例的设计是需要通过不断分析总结才能做好,不但要分析性能测试用例的可用性,执行效果,执行时间,还应该分析用例的设计方法,设计思路等。
推荐阅读:
Web性能测试中,B/S与C/S架构的性能指标一般需要哪些内容?
如何开展数据库系统的性能需求分析?如何制定数据库能力评估模型?
您的信息已成功提交!
我们的客服人员稍后会与您联系