软件性能
软件性能是软件的一种非功能性特性,它关注的是软件在完成该功能时展示出来的及时性
软件的性能指标
- 响应时间:响应时间是指系统对请求作出的响应时间。
- 系统响应时间和应用时间
- 吞吐量:吞吐量是指系统在单位时间内处理请求的数量。
- 资源利用率:反映的是在一段时间内资源平均被占用的情况。
- 并发用户数:指系统可以同时承载的正常使用系统功能的用户数量。
软件性能的视角
- 用户视角
- 管理员视角
- 开发人员视角
性能测试定义
性能测试用来保证产品发布后系统的性能满足用户要求。
性能测试定义包括的含义
- 通常,性能测试需要借助工具实现;
- 性能测试重点关注空间和时间上的很多峰值或异常的系统运行情况;
- 性能测试借助所监控和收集的各项指标来分析系统的性能;
- 大多数性能测试通常在功能测试基本完成后进行;
- 性能测试计划,一般来说测试方案和测试用例大多数都放在在同一个文档里。性能测试相关的内容作为一个‘性能测试方案文档’专门编写,里面会覆盖性能测试的场景设计,测试脚本,测试结果分析等。
- 性能测试环境应尽可能同用户生产环境保持一致,它直接影响着性能测试结果的真实性和有效性。
- 重点和难点在于前期数据设计和后期数据分析;
- 性能测试用例通常基于系统整体架构进行设计,往往具备高复用性,通常不随系统某个功能点的修改而变更。
性能测试的分类
- 负载测试:对被测系统不断地加压,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。
- 压力测试:指系统已经达到一定的饱和程度(如CPU、磁盘等已经处于饱和状态),此时系统处理业务的能力,系统是否会出现错误。。
- 并发测试:通过模拟用户并发访问, 测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。
- 可靠性测试:当系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性。
- 配置测试:通过调整系统软/硬件环境,了解各种不同环境对系统性能的影响,从而找到系统的最优配置。
常见术语
- 并发用户数:同一时间内与服务器进行数据交互的所有用户数量。
- 响应时间( Response time):应用系统从发出请求到客户端收到所有数据所消耗的时间。
- TPS(Transaction Per Second):每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标!
- 资源利用率(Resource utilization):服务器系统中不同硬件资源被使用的程度。
- 点击率(Hits per second):点击率是指每秒钟用户向WEB服务器提交的HTTP请求数,这个指标是WEB应用特有的一个指标 。
- 吞吐量(Throughput):指软件系统在特定时间内能处理多少个事务/请求/单位数据等。