软件性能的指标主要有:响应时间、系统响应时间和应用延迟时间、吞吐量、并发用户数、资源利用率等。
1、响应时间
响应时间是指系统对请求作出响应的时间。这个时间是指用户从软件客户端发出请求到用户接收到返回数据的整个过程所需要的时间,包括各种中间件(如服务器、数据库等)的处理时间。
需要注意的是响应时间的绝对值并不能直接反映软件的性能的高低,软件性能的高低实际上取决于用户对该响应时间的接受程度。
2、系统响应时间和应用延迟时间
可以把用户感受到的响应时间划分为“呈现时间”和“系统响应时间”,前者是指客户端的浏览器在接收到网站数据时呈现页面所需的时间而后者是指客户端接收到用户请求到客户端接收到服务器发来的数据所需的时间。显然,软件性能测试更关心“系统响应时间”,因为“呈现时间”与客户端计算机和浏览器有关,而与所开发的网站软件没有太大的关系。
“系统响应时间”还可以进一步分解为“网络传输时间”和“应用延迟时间”,其中前者是指数据(包括请求数据和响应数据)在客户端和服务器端进行传输的时间,而后者是指网站软件实际处理请求所需的时间。类似的,软件性能测试也更关心“应用延迟时间”。
3、吞吐量
吞吐量是指系统在单位时间内处理请求的数量。对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。
4、并发用户数
并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。
5、资源利用率
资源利用率反映的是在一段时间内资源平均被占用的情况,包括CPU利用率、内存利用率、磁盘利用率等。
在日常的测试工作中,对于软件性能测试的指标主要从以下3个方面考量:
1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。
2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。
3、容量测试;一般指模拟用户不断增加时,确定系统可以处理同时在线的最大用户数量。