性能测试培训(一) ——基础知识 1 . 软件性能测试的概念 1.1 软件性能与性能测试 软件性能:覆盖面广泛,对一个系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等。 性能测试:为保证系统运行后的性能能够满足用户需求,而开展的一系列的测试组织工作。 1.2 不同角色对软件性能的认识 用户眼中的软件性能: 软件对用户操作的响应时间 如用户提交一个查询操作或打开一个 w eb 页面的链接等。 业务可用度,或者系统的服务水平如何 管理员眼中的软件性能: 管理员关心的问题 软件性能描述 服务器的资源使用状况 资源利用率 系统支持多少用户访问,处理量 系统的容量 系统性能的可能瓶颈 系统可扩展性 更换哪些设备可提供系统性能 系统可扩展性 系统能否支持 7*24 小时的业务访问 系统稳定性 开发人员眼中的软件性能: 开发人员关心的问题 软件性能描述 架构设计是否合理 系统架构 数据库设计是否合理 数据库设计 代码是否需要优化 代码 1.3 性能测试的对象 服务器端: 负载均衡系统; 服务器(单机、双机热备、集群); 存储系统、灾备中心; 数据库、中间件。 网络端: 核心交换设备、路由设备; 广域网络、专线网络、局域网络、拨号网络等; 应用系统: 由此可见,性能测试是一个系统性的工作,被测对象包括系统运行时使用的所有软硬件。但在实际操作时,将根据项目的特点,选择特定的被测对象。 1.4 性能测试的目标 评价系统当前的性能: 系统刚上线使用,即处于试运行时,用户需要确定当前系统是否满足验收要求; 系统已经运行一段时间,如何保证一直具有良好的性能。 分析系统瓶颈、优化系统: 用户提出业务操作响应时间长,如何定位问题,调整性能; 系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优化性能。 预见系统未来性能、容量可扩充性: 系统用户数增加或业务量增加时,当前系统是否能够满足需求,如果不能,需要进行哪些调整?提高硬件配置?增加应用服务器?提高数据库服务器的配置?或者是需要对代码进行调整? 1.5 性能测试的分类 按照测试压力级别: 负载测试; 压力测试; 按照测试实施目标: 应用在客户端的测试; 应用在网络的测试; 应用在服务器端的测试; 按照测试实施策略: 并发性能测试; 疲劳强度测试; 大数据...