本博客主要介绍软件性能的概念,以及不同层面对软件性能的关注点。
一、软件性能
1.软件性能测试关注点:性能
性能是一种指标,表明软件系统或构建对于其及时性要求的符合程度;其次是软件产品的一种特性,可以用时间来进行衡量。
性能的及时性用响应时间或吞吐量来衡量。(响应时间做出相应所需要的时间)。
2、对于交互式的应用,(web应用),一般以用户感受到的响应时间来描述系统的性能;
对于非交互式应用(嵌入式系统或银行等的业务处理系统而言),响应时间是指系统对事件产生相应所需要的时间。
二、不同层面对软件性能的关注点不同
1、用户视角的软件性能
软件对用户操作的响应时间,对一个用户来讲,从单击一个按钮、发出一条指令或是在web页面上单机一个链接开始,导系统对本次操作以用户察觉的方式展现出来的过程多耗的时间就是用户对软件性能的直观印象。
用户体会到的响应时间既有客观成分,也有主观成分。
2、管理员视角的软件性能
系统的响应时间,在这个点上,与用户一致。
还有与系统状态相关的信息。
管理员关心的问题 | 软件性能描述 |
---|---|
服务器的资源使用状况合理吗 | 资源利用率 |
系统是否能实现扩展 | 资源利用率 |
系统是否能实现扩展 | 资源可扩展性 |
系统最多支持多少用户访问?最大业务处理量? | 系统容量 |
系统性能可能的瓶颈 | 系统可扩展性 |
更换哪些设备可以提高系统性能? | 系统可扩展性 |
系统是否支持7*24小时访问? | 系统稳定性 |
3、开发视角的软件性能
关注用户感受—-响应时间;
系统扩展性;
如何通过调整设计和代码实现、系统设置等方法提高软件的性能表现;
如何发现并解决软件设计中由于多用户访问引起的缺陷。
主要关注是性能表现不佳的因素和由于大量用户访问引起软件故障,也就是性能瓶颈和系统存在大量用户访问时表现出来的缺陷。
开发人员关注的问题 | 问题所属层次 |
---|---|
架构设计是否合理 | 系统架构 |
数据库设计是否合理 | 数据库设计 |
代码是否存在性能方面的问题 | 代码 |
系统是否存在不合理的内存使用方式 | 代码 |
是否存在不合理的线程同步方式 | 设计与代码 |
是否存在不合理的资源竞争 | 设计与代码 |
5、web前端性能
前端性能,尤其是web前端性能,已经成为现在web应用性能主要被关注的部分之一。
web应用的前端响应时间指浏览器的页面加载时间。一般而言,浏览器的页面加载时间包括对HTML的解析,对页面上图片及CSS等文件的获取和加载、客户端脚本(JavaScript)的执行时间以及对页面进行展现所花费的时间,这部分性能体现就被称为前端性能。
前端性能产生主要与浏览器的页面元素加载、客户端的代码执行以及页面展现相关,与服务器本身并无太大关系。