你问的问题确实有点广。
我试着回答一下吧,权当抛砖引玉。
还记得上中学物理课的时候就学过很重要的一课:误差。
可以说整个现代科学都是建立在误差这一基础上的,因为所有的科学研究都必须有一定的标准和前提,然而这些标准和前提又是永远也无法精确的,我们所做的工作只能是尽量去缩短这个误差,做到尽量精确。我觉得这一原理应用在我们软件测试尤其是性能测试上是非常合适的,由于受到测试环境,测试案例,测试脚本,人为操作等因素的共同影响,我们做完的性能测试结果不可能是完全准确的,我们利用工具也好,手工也好,测试出来的结果如果能够提供给我们一个分析问题的参考,那么我们的测试就是有价值的,有意义的。
再来,为什么要迭代?因为我们的测试工具是通过采样来收集测试结果数据的,从统计学的角度看,只取一次的测试结果值显然是不够准确,也不够有说服力,因此需要设置多次迭代,通过获得多次的采样值来分析结果,以达到尽可能接近真实情况的目的。
为什么要有集合点?这是一种特殊情况下的性能测试场景,为的是模拟多个用户在同一时刻做同一个操作,这是一种更严格意义上的并发。至于这些和用户实际业务是否相符,这是需要测试的人去分析,去设定的,并没有一种万能的场景模式可以套用,这也正是软件测试的复杂性和难度所在。