什么是软件测试性能?大多数据读者朋友认为性能是一种指标,是反应软件系统或产品处理用户请求的响应时间,在软件质量模型中,性能被定义为软件的一种特性,软件质量模型如图1-1所示。
图1-1 软件质量模型
在软件质量模型中效率特性即为软件的性能,其包含两个方面的特性:时间特性和资源特性。时间是指系统处理客户请求的响应时间;资源特性是指在进行性能测试过程中,系统资源消耗的情况,常见的系统资源主要包括处理器(CPU)、内存和磁盘的使用情况;所以通常说的软件性能不仅仅包括响应时间,还包括系统资源消耗。
虽然软件性能包含两个方面,但是不同的人其关注的性能层面有所不同(例如,用户只关注时间的特性)。通常情况下,关注软件性能的人主要包括三类人:用户、系统管理员与性能测试工程师和软件开发工程师,这三类人各自关注的内容如下:
1、用户
从用户的角度来说,软件性能是软件系统对用户提交请求所响应的时间。通俗的讲,如果用户点击一个提交或输入一个URL地址,随后系统把结果呈现到用户眼前,这个过程所花费的时间即为用户对软件性能的直观印象,如图1-2所示。
需要注意的是,用户体会到的“响应时间”,既有客观的成分,也有主观的成分。用户认为从提交业务到系统开始返回信息的时间为是系统的响应时间,例如,用户执行某个操作,该操作会返回大量的数据,假如待返回的数据并不能同时返回到主界面,而是先将一部分数据呈现出来,再慢慢的将全部数据呈现出来,此时,用户体会的响应时间为从执行操作到已经有一部分数据呈现出来的时间,而真正的响应时间应该是系统将全部数据呈现出来的时间。
图1-2 Web系统响应
2、系统管理员及性能测试工程师
从系统管理员和性能测试工程师的角度来说,在响应时间方面的理解与用户完全一致。但系统管理员和性能测试工程师是一群特殊的用户群体,其不仅仅关注系统的响应时间,还关注服务器系统资源的使用情况。系统管理员及性能测试工程师之所以关注资源的消耗情况,是因为系统响应时间达到要求并不代表系统就能正确的处理客户端的提交的请求,如银行系统,假设在处理存款业务时,每笔业务的响应时间为100ms,但当前的CPU和内存的使用率都已达到90%,超过正常使用的阀值,这样虽然响应时间达到要求,但是不能保证服务器不出问题,因为服务器已经处于一个临界状态,很可能出现存款不成功的情况,如果这样的话,即使响应时间更短也不能达到性能的要求。
另外,如果测试系统配置时,管理员和性能测试工程师还关注系统硬件资源的可扩展性即规划性能部分。比如,系统现在支持100个用户并发没问题,那么将来支持200个用户并发时是否会出现性能问题呢?
3、软件开发工程师
从软件开发工程师的角度来说,他们关注用户和管理员关注的所有问题。另外还关注内存泄漏、数据库是否出现死锁、中间件以及应用服务器等问题。
今天关于“性能测试基础知识”就学到这里啦,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)
附:川石信息全国校区最新开班时间,课程资料获取13691729932(微信同号)。