在性能测试中,尤其需要注意的是测试环境的时间同步问题。性能测试关注的是系统的总体性能表现,这些性能表现又需要通过各个模块的响应时间来体现,在本次测试中,我们在应用程序中增加了部分测试代码,测试代码通过记录关键操作的时间来完成性能指标的记录。
基于以上的要求,整个测试环境中各台计算机的时间同步就非常重要了,如果时间不同步的话,就会造成测试结果的不准确,尤其在本次测试中,部分测试指标要求到秒级,因此,我们必须要对整个环境进行一个精确的时间同步。
本测试的测试环境包括7台HP小型机、两台WEB服务器、一台Windows域服务器和15台加入域的PC机,在时间同步方案上,我们以一台小型机为主时间服务器,采用Windows域服务器作为Windows机器的时间服务器(域内的客户机可以实现与域服务器的自动的时间同步),利用NTP协议在Unix主机和Windows域服务器之间进行时间同步,之所以采用NTP协议,主要是因为NTP是在Internet和Unix系统上被广泛采用的协议,在Windows平台上,也有基于NTP协议的开源软件(NetTime)可以使用。
4.2. 测试工具
测试工具的评估和选择是测试开始之前必须进行的工作。在机械工业出版社出版的《软件测试自动化-引入,实施和管理》书中对测试工具的评估选择、应用有详细的描述,个人觉得这本书对于测试工具应用部分的说明非常不错,强烈推荐这本书给对这部分感兴趣的朋友。
本测试没有使用商业测试软件,主要原因在于以下几点:
1、 测试时间资源:本测试安排的时间比较紧迫,没有足够的时间用商业测试工具进行录制脚本、脚本调试维护等一系列的工作;
2、 测试工具的学习曲线:商业测试工具的应用需要一个学习曲线,整个测试团队中只有一名成员具有足够的技能,这是限制商业测试工具应用的极大障碍;
3、 费用:商业测试工具的授权费用是不能不考虑的,在我们这样一个项目中(客户端数量较大),商业测试工具的授权费很高,在合同中没有包含这部分费用的情况下,由项目自身承担这部分费用,显然是不可能的;
4、 灵活性:测试实施过程中可能需要修改测试脚本,考虑到1、2的原因,可能通过Perl等脚本语言编写的脚本更能满足灵活性的要求。
最终在本项目中,我们采用了自行开发的测试适用本项目的测试工具,这些测试工具中的部分具有可重用性,部分是本项目专用的测试工具,实现测试工具的最终投入为2.4人月,其中可被重用的工具投入为1.4人月,不能重用的测试工具开发投入为1人月,从测试效果来说,这个投入是绝对值得的。
关于本测试中使用的自行开发的测试工具在本文中不准备进行详细描述,需要说明的内容包括如下几点:
1、 测试工具的需求需要根据测试需求来确定:在本项目中,主要是通过测试用例来确定,根据用例描述的场景确定需要的测试工具。例如,在本文的上篇中作为例子的测试用例,从该用例的“已通过模拟程序产生每秒300条告警的告警数据”描述中,我们可以明确需要一个能产生每秒300条告警数据的模拟程序,从“所有告警产生和呈现时间记录在本地日志文件中”描述,我们可以明确该模拟程序还必须能够记录告警产生时间。当然,对测试工具的需求确定还必须结合其他用户的需求。在本测试中,与该用例相关的测试工具被实现为一个可以根据用户给定的文本文件发送告警数据的工具,通过参数可以指定工具发送告警的间隔以及是采用随机还是定时的方式发送;
文章来源于领测软件测试网 https://www.ltesting.net/