第一种情形性能测试最主要的依据也就是客户需求和市场定位。客户需求和市场定位体现在产品设计书里面,就是说产品应该有什么样的性能设计时就应该写明,比如读写速度不低于100M同时访问量可达到5000以上等等。测试本来就是依据设计的,设计书里有还能不测么。这种测试一定要在交给用户前测完,并且必须合格。
第二种情况,系统扩展的性能,比如一个网络管理系统,管理若干节点,当管理10个节点的时候,系统响应正常,但是系统扩展到20个节点时,可能会由于内部某些逻辑导致性能意想不到地迅速下降从而影响系统扩展。这种测试是否要做可以根据开发计划来看,比如目前可能暂时不会有用户要求支持20个节点,那么10 个节点反正是正常的20个可以暂缓测试。
第三种情形,就是异常系的性能,还说我们的网络管理系统,管理10台机器,每次发送某个命令会对这10台机器进行查询,一般情况下这个查询是半秒内就可完成,但是比如说查询使用了rsh,而碰巧rsh遇到某种网络错误时会卡死并10秒不返回,命令一直接不到返回值也被卡住,如果不处理,用户那里看到的就是有时候突然性能低下。这种问题比较容易出。
第四,性能测试进行参数调整。性能测试还有一个重要的目的就是参数调整。很多软件开发会用到一些现成工具包或者工具,这些写工具一般有很多参数可以选,假设我们的管理系统借助samba来实现win-linux之间的文件传输,就存在一个samba自身的参数怎么选取的问题,为了给samba找到一个合适的参数组合配合自己的软件使用,做几百上千次不同参数组合的性能测试并不奇怪。当然了自己开发的软件里面的许多参数也同样要调整,比如一次发送的网络包的大小,再考虑和samba参数互相配合,这个测试是极其复杂繁琐的,但是不得不作,将来用户手册里写的请打开xxx文件把xxx相改为xxx之类的话,都是靠这些测试得来的。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/