###软件测试之性能测试
性能测试是与时间相关的。
主要内容
- 性能测试基础
- 概念和术语介绍
- 性能测试模型
- 性能测试分类介绍
- 性能测试实施与管理
性能测试基础
为什么要进行性能测试(WHY)(最重要)
-
应用程序是否能够很快的响应用户的要求?
-
应用程序是否能处理预期的用户负载并有盈余能力?
-
应用程序是否能处理业务所需要的事务数量?
-
在预期和非预期的用户负载下,应用程序是否稳定?
-
是否能够确保用户在真正使用软件时获得舒服的体验?
问题的根源一般是:
在多种平台上的数百个服务器;异构系统、多种应用;数千个工作站;局域网、广域网和 其它分类型的分布式网络体系机构;交错的故障点。
误区:提高一下硬件配置就可以提高性能了,因此性能测试不重要?
该说法是错误的。只能是临时解决问题,而不能从根本上解决问题。
进行性能测试时,要关注什么?(WHAT)
- 并发用户数、吞吐量
- 平均响应时间
- 服务器资源占用情况
- 可靠性、可扩展性
- 发现引起系统问题的原因,关注采用何种技术提高系统性能
- 软、硬件配置是否合适(容量规划、硬件选型)
谁来关注?(WHO)
- 开发人员
- 系统架构:架构是否合理?
- 数据库设计:数据库设计是否存在问题?
- 代码:代码是否存在性能问题?系统中是否存在不合理的内存使用方式?
- 设计和代码:系统中是否存在不合理的线程同步方式和不合理的资源竞争?
- 系统管理人员
- 资源利用率:应用服务器和数据库使用状况合理吗?
- 系统容量:系统最多能支持多少用户的访问?最大的业务处理量是多少?
- 系统稳定性:系统能否支持7*24小时的业务访问?
- 系统可拓展性:系统能否实现拓展?系统性能可能的瓶颈在哪?
- 用户
- 响应时间过长会是用户烦躁不安(3/5/8)。
- 系统稳定性:出现HTTP 500 错误或数据库崩溃会让用户对系统失去信心。</