一般用户操作系统时,希望当前操作的响应时间是越快越好,能接受的等待范围,而系统管理员对于性能的考虑要多一些,从系统的并发量、可护展性、可维护性、系统的负载能力等,还会关心系统的稳定性,可靠性等等,除此之外,数据库的连接情况等也是管理员要关心的内容,管理员才能根据系统的状态进行定制管理计划,如果出现计划外的情况,管理员能及时的安排应对计划,保证系统的正常运行。
从开发人员的视角里看待性能测试,主要是从系统设计,代码调优方式,优化系统,使系统达到一个最佳的状态,一出现问题,开发人员和管理人员考虑的角度不一样,管理人员主要是从业务,易用方面来考虑,而开发人员更多的是考虑此问题,是由于哪些模块引起的呢?是否需进行优化等等,会看系统的代码,系统的框架等,从不同的角度来看待性能测试,虽然角度不一样,但是最终的目的是为用户的业务操作提供可靠的保证。
在这里不得不提一下并发操作,根据经验,许多问题的产生都和并发操作有关系,一是并发,二是量,一旦并发和量都上来,那就是并发量,作为性能测试,我们要清楚自己系统的最大并发量是多少,达到多少量时会有瓶颈或到达系统的最大承受能力,根据不同的问题来判断是否由于并发引起的,尤其是数据库死锁、系统死机等问题,根据系统的不同业务需来进行并发模拟测试,那么布置测试场景也是非常重要的,要想能真正测试出现场环境所出现的问题,必须要按实际的业务布置场景,来模拟客户的真实环境,在模拟时要特别注意数据库连接数和CPU占用率,什么样的情况到达什么样的比例,然后进行负载和压力测试。
有时在想,中国的许多中小软件公司对于性能测试这一块都不太重视,功能测试也马马虎虎,只希望一个软件模块,在开发人员的单元测试中就能做好,测试人员,只是随便的走走,并没有形成一定的规范,这是我目前遇到的情况,更别提是性能测试,如果一个生产系统不做性能测试,而是拿到实际使用中去让客户自己去实验这个系统的并发能力,可靠性,稳定性等等,是不是说明我们的软件做太可悲了呢?为什么我们自己能控制到的不去控制,非得让人家来反馈问题,这是我一直都想不明白的,不知道为什么这么重要的事情,也没有人去组织去做呢,一个软件要想推广,最主要的是什么?是品质?是你的软件的质量的好坏,怎样来衡量一个软件的好坏呢,那就是性能测试,利用测试工作来度量系统的好坏和符合度。所以进行性能测试对于一个软件来说是非常必要的。