在性能测试设置过程(见图5-6)中,我们展示了几个重要的元素。
-度量工具。用于确定相应时间。通常是性能测试工具的一部分,也用来检查服务功能的正确性。
-负载发生器。用于在服务上增加负载。一般也是性能测试工具的一部分(虽然有时候会通过使用许多人并行执行某些操作的方式执行性能测试,但大多数性能测试是通过性能测试工具模拟用户来执行的,这种模拟用户也叫虚拟用户)。
▲图5-6 设置性能测试
-监视器。用于衡量基础设施的特定要素,例如,负载和是否正确生成了错误信息。有用的度量项包括内存使用、网络负载和处理器使用等。监视器提供的信息,以及来自日志文件的、用于发现错误和警告消息的信息,是发现瓶颈的限制因素所必需的。如果性能测试工具能够收集、分析和报告(最好用可视化的方式以图形方式展现)这些信息,那就再好不过了。
有许多工具都可以测试网站和web服务,既有开源工具,也有商业工具。云服务的优势在于它可以通过Internet访问,并使用了适合Internet的协议。大部分的工具能够处理所有主流协议。在处理来自监视器的信息时,不同的工具存在巨大的差异(参见上文列出的第3点)。
5.2.12 代表性的测试环境
云计算的一个有益特性是可以在与生产环境相似的环境中执行性能测试。即使在服务还没有正式投入使用时也可以执行测试。服务投入使用后,它可以被扩展(基于按使用付费)。然而,对于云服务,尤其是对公有云而言,没人能保证其他用户为服务带来的负载模式。一旦服务供应商改变了用户在基础设施上的分布,负载状况就会受到影响。因此,这给测试环境的代表性带来了挑战:测试环境可以代表今天的负载状况,但却不一定能代表明天的负载状况。这是我们认为性能测试应该被放入持续的系统集成测试中的原因之一。
为了测试目的而购买双倍的服务容量听起来很贵,但和为了测试非云服务应用而搭建测试环境相比,还是便宜不少。过去有些组织宁愿承受不测试带来的风险,原因就是搭建与生产环境相似的测试环境过于昂贵。在云计算的帮助下,我们可以更好地获得具有代表性的测试环境。3.3节和5.4节中有更多与云端测试环境相关的内容。
本文选自《云服务测试》第五章,本站经人民邮电出版社和作者的授权。
版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。