|
由于Internet和Web用户的不确定性使性能测试存在以下难点:
一 负载的不可预知性
负载是指要求一个系统处理的过程量和信息量。在性能测试中,确定负载是一个关键步骤,它决定了测试结果的准确性和可靠性。传统Client/Sever是基于LAN/WAN环境,用户群是相对熟悉、可预知的,他们的访问时间和方式也是相对可预知的。而Web应用是基于开放的Internet坏境,用户群是不可预知、分布广泛、类型各异的,他们的访问时间和访问方式也是不可预知的。
二 测试场景设计的困难
测试场景是指性能测试的测试用例,它的可执行形式是测试脚本。测试场景的设计不当会造成测试结果的偏差。例如,假设为每个Web事务生成一个脚本,如果简单地设定每个脚本都执行同样长的时间段,那么执行快的事务将会执行得比较频繁,使得所测的吞吐量结果偏大;如果设定每个事务都反复执行一定的次数,那么短脚本执行结束的时候,长脚本还将运行下去,这会导致服务器的负载不均衡,从而歪曲吞吐量结果,因此必须仔细地设计测试场景以避免这些情况的发生。
三 测试环境和真实环境的差异
Web应用的运行环境是开放的Internet,而测试通常是基于LAN环境,Internet上的很多因素往往被忽略了,例如某些公共骨干网络上的交通瓶颈。这种情况下,测试的结果会与实际用户的体验不同。因此测试时应尽可能使测试环境逼近真实环境,例如:要考虑测试环境中是否要模拟不同的操作系统、不同的浏览器和体系结构以及不同的IP地址等等 |
|