功能测试与性能测试
定义
性能测试主要包括5个方面:
- 预期目标用户测试:预期目标用户测试是指系统在需求分析和设计阶段都会提出一些性能指标,针对这些性能指标测试。
- 用户并发测试:并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈。(负载测试是已知性能点的测试,确定在各种工作负载下系统的性能。压力测试是未知性能点的测试,通过确定一个系统的瓶颈或不能接收的性能点来获得系统能提供的最大服务级别的测试)。
- 疲劳强度与大数据量测试:疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续一段时间业务,通过综合分析执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。大数据量测试分两种,一种是对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;一种是与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。
- 网络性能测试:网络性能测试是展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的。
- 服务器性能测试:服务器性能测试的目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上的性能的全面监控,找出系统瓶颈,为调优或提高性能提供依据。
1、常用的性能测试指标有哪些?
解答:常用的性能指标通常由软件的事务处理时间(响应速度)、吞吐量、IO性能、数据库性能、资源利用率(内存利用率和CPU利用率)等。
2、什么是软件的事务处理时间,什么是吞吐量?
解答:事务处理时间(响应速度):软件在处理某一项事务时从开始处理到完成所花费的所有时间。例如:在数据转换和传输过程中,某软件产品采用了多线程的数据转换方式,但在传输时由于架构原因采用单线程的方式,这样的软件产品在数据传输发送环节就成为了其瓶颈。
吞吐量:服务器在一秒钟或一分钟内能处理多少个请求?
3、什么是软件产品的IO性能?
解答:IO性能包括物理硬盘的IO性能、网络的IO性能和其他硬件的IO性能。
例子:物理硬盘的IO性能为例,在需要大量进行读写硬盘操作的软件产品中物理硬盘的IO性能很容易成为其瓶颈,如多任务多线程的下载大量文件等。
作为软件产品本身可以通过降低读写硬盘次数来提高每次读写数据量大小来降低硬盘IO性能对软件性能的影响如在批量处理数据时,等结果数据累计到一定数量时再将其一次性写入硬盘中。
通常在白盒测试中比较容易实现对IO性能的测试。
4、什么是数据库性能?
解答:软件在进行数据库增删改查时所花费的时间和资源,如网站测试中添加一条用户记录所花的平均时间等。
提高数据库访问性能的方式通常有:减少对数据库操作的次数,把一些常用数据长期存储在内存中;减少表与表之间的依赖性。
通常在白盒测试中比较容易实现对数据库性能的测试。
5、什么是资源利用率(内存利用率和CPU利用率)?
解答:软件产品实际使用资源数量与所申请的资源总量之间的比例。
内存利用率:实际使用的内存空间和软件申请的内存空间的比例。例子用数组存储字符时,申请字符数组长度为1000,而实际使用的是30。
CPU利用率:应用程序使用CPU时间与应用程序总的运行时间的比例。在分时系统中,客户端软件CPU一般不能太高而影响其他软件的运行;而在服务软件中,一般要求软件的CPU利用率较高以提高该软件的资源利用率。