性能效率,作为衡量软件质量的关键指标,涉及时间特性、资源利用性、容量等多个方面。
性能效率,也就是我们常说的性能测试
性能效率测试结果示例:
测试需求项 | 测试需求项 | 用例编号 | 性能指标要求 |
性能效率 | 时间特性 | P-001 | 系统在单用户登录响应时间在1/3/5秒以内。(一般来说,用户对响应时间的要求是越快越好。根据一些普遍的标准,如果系统能在1秒以内对用户请求作出响应,用户会感觉系统的响应很快,体验非常好;如果响应时间在1-3秒之间,用户可以接受;如果响应时间在3-5秒之间,用户可能会感觉系统响应速度有些慢,但仍然可以接受;而如果响应时间超过5秒,用户可能会认为这是一个失败的体验,选择离开或重新发起请求。) |
P-002 | 系统在单用户下执行XXX业务响应时间在1/3/5秒以内。(根据需要测试的业务或者招标文件填写) | ||
P-003 | 系统在多少用户下执行XXX业务响应时间在1/3/5秒以内。(根据招标文件判定具体用户数用户,100/200/300,) | ||
P-004 | 系统在多少用户下执行XXX业务,TPS(吞吐率)达到多少。(根据招标文件判定具体用户数用户,部分需求只谈及TPS到达多少,不涉及多少用户数。) | ||
容量特性 | P-005 | 系统支持XXX用户数并发进行XXX操作。(系统支持多少用户数进行什么操作,事务通过率大于99%判定为通过) | |
P-006 | 系统交易吞吐量(单位时间内处理请求的数量)达到XXX。 | ||
P-007 | 数据容量。(系统内存在多少用户) | ||
P-008 | 系统QPS(每秒查询率,即系统每秒响应的查询次数,主要针对查询服务性能指标)达到XXX。 | ||
资源特性 | P-009 | 系统在xxx用户数并发时,CPU、内存使用率不超过75%。(具体值指根据招标文件等) | |
P-0010 | 系统在xxx用户数并发时,磁盘读写达到多少KB/S。 | ||
稳定性 | P-0011 | 系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行的程度。(判断是否稳定,根据事务通过率是否大于99%为依据。) | |
依从性 | P-0012 | 产品或系统遵循与性能效率相关的标准、约定或法规以及类似规定的程度。 |
一、性能效率的子特性
1. 时间特性:时间特性主要关注软件功能的响应时间、处理时间和吞吐率。响应时间是指用户从发起请求到接收到处理结果所经历的时间,处理时间是服务器端处理请求的时间,而吞吐率则反映了单位时间内系统处理的客户请求数量。这些指标共同构成了时间特性的重要组成部分,对用户体验和系统性能具有重要影响。
2. 资源利用性:资源利用性测试旨在评估软件在执行其功能时,所使用资源数量和类型的满足程度。在服务器端,资源利用率主要体现在CPU利用率、内存占用率、磁盘I/O、带宽等指标上。过高的资源利用率可能导致系统性能瓶颈,而过低的资源利用率则可能造成资源浪费。
3. 容量:容量测试用于评估软件产品或系统参数的最大限量满足需求的程度。这包括最大用户并发数、系统能够处理的最大文件长度、数据库能够处理的最大数据库记录数等。通过容量测试,我们可以确定软件在给定时间内能够持续处理的最大负载或工作量。
性能效率的测试方法:
总体方向 | 性能测试是通过站在用户体验的角度,使用专业的负载生成设备,在性能模型的基础上验证系统是否能够达到用户提出的性能指针,是否符合用户文文件中对系统设计时的性能关注点。在系统正常交互量及峰值交互量的情况下发现系统中存在的性能瓶颈,优化软件,最后达到优化系统的目的。 |
测试关注 | Ø 时间特性:产品或系统执行其功能时,其响应时间 、处理时间及吞吐率满足需求的程度 。 Ø 资源利用性:产品或系统执行其功能时,所使用资源数量和类型满足需求的程度。 Ø 稳定性:系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行的程度。 Ø 容量:产品或系统参数的最大限量满足需求的程度。 Ø 依从性:产品或系统遵循与性能效率相关的标准、约定或法规以及类似规定的程度。 |
测试方法 | 基准检验方法:应用单一的虚拟用户依次访问单一的典型业务点,保证测试过程中没有其他操作影响,从而获得“基准”的响应时间、资源利用率、吞吐量的参考值及性能周期性的表现趋势。 负载测试方法:是指在一定的软件、硬件级网络环境下,运行一种或多种业务,在不同虚拟使用者数量的情况下,测试服务器的性能指针是否在用户的要求范围内。 稳定性测试方法:通过给系统加载一定的业务压力的情况下(如:资源在70%-90%的使用率)的情况下,让系统持续运行一段时间,测试系统在这种条件下是否能够稳定运行。 |
测试步骤 | 1. 明确用户对系统性能表现的真实需求,掌握系统在对外提供服务时预计承受的访问指标(如:用户平均访问量、用户峰值访问量、要求提供的响应时间、事务吞吐量等)。 2. 依据系统设计文件,及用户需求沟通,了解系统整体架构、系统业务流程、系统拓扑、系统数据流向等技术信息,并对其进行基础分析,初步定为系统中性能瓶颈点。 3. 创建性能测试模型,性能测试需要针对一定的前提条件,某种性能表现与方方面面的前提条件息息相关,性能测试模型即为通过分析测试需求及系统分析创建的有助于限定性能测试结果的约束性条件。 4. 依据测试方法开发性能测试用例,并开发性能测试场景及脚本,依次执行基准检验、负载测试及稳定性,记录相关性能测试指针及资源利用情况。 |
二、性能效率的依存性
性能效率的依存性主要关注软件产品或系统遵循与性能效率相关的标准、约定或法规以及类似规定的程度。在产品说明书中,通常会提及与性能效率相关的标准、约定或法规要求。测试人员需要验证软件是否符合这些要求,以确保产品的合规性和稳定性。
三、性能测试中常见的问题及改进策略
在性能测试过程中,我们经常会遇到一些问题导致测试效率低下。例如,在项目预期时间内突然接手其他测试组的项目,导致测试延期;对于项目组而言相对成熟的功能,却对测试人员来说是新的东西,评估时不考虑测试人员问题;针对已知的问题重复又重复的咨询、确认、沟通,导致消耗大量时间等。
为了改进这些问题,我们可以采取以下策略:首先,建立完善的文档管理系统,确保测试人员能够迅速了解项目背景和功能需求;其次,加强测试人员之间的沟通与协作,共同解决问题并提高效率;最后,定期进行性能测试培训,提升测试人员的专业素质和技能水平。
-
驻场测试驻场测试指根据客户企业用人需求,将专业人员派遣到客户现场办公的一种服务方式。人员具有很好的专业性和适应力,更有丰富的项目经验,可以为公司提供最专业最合适的服务,提升企业核心竞争力,降低企业用人成本支出,减少企业正式员工的雇佣风险,应企业的需求,可提供企业中不同类型、不同层次的用人需求,提供测试工程师人才外包服务,实现资源共享、协同开发、人才整合,企业用人不养人。2024-03-12
-
确认测试确认测试(Validation Testing)是对已经通过组合测试并存在于系统目标设备介质上的软件进行的测试。这种测试的主要目的是验证软件是否满足“软件需求说明书”中规定的全部功能和性能要求,以及验证软件的有效性。确认测试通常是由一个独立的组织按照“确认测试计划”进行,测试工作需要从用户的角度出发。2024-03-12
-
集成测试软件集成测试是指在软件开发过程中,将各个模块、组件或系统组件集成在一起,通过测试来评估它们是否能够协同工作,以满足设计要求的过程。这一过程旨在发现集成过程中可能出现的问题,如接口错误、数据传递错误等,以确保整个系统的稳定性和可靠性。2024-03-12