2008年8月14日

工具跟实际人工操作的差异

理论上来说,通过工具执行的测试应该跟人工操作是完全相同的。软件测试界有句俗话说得好“好的测试都是自动化测试”。前提条件是你对用户可能的操作方式有充分的考虑并有对应的设计。但即使是你将这些条件你都考虑清楚并将他们都实现了,通过工具测试跟人工测试还是有一些不同的地方。
1. 操作
工具跟实际人工最大的差别应该就在操作上面,工具的操作其实就是执行录制的动作,对一个测试用例而言客户端的操作都是同样的操作流程,每次向系统提交的不同的地方只是一些测试数据。而真实的用户的话,有可能有各种不同的操作方式,和操作流程。即使你将用户可能的操作方式都考虑到了,在实际上还会有一些疏忽的,你不可能将所有的操作方式都考虑到,有句很流行的话是这样说的“在网上,没有人知道你是一条狗”。特别是面对公众服务的网站或网络游戏,更应该充分考虑各种不同用户的操作方式。
2. 思考时间
思考时间也是差别比较大的一个。工具的操作在一个测试的脚本里面,可以设置的停顿点都是完全一样的,停留时间当然也完全一样,除非服务器响应不及时。人工操作的话,在一个完整的流程中每一个点会有不同的停顿。
3. 上线和下线
如果用测试工具来执行,虚拟用上线和下线都是有规律的。而真实的用户,基本是随机的,在一个短的时间段内没有可以可以追踪的规律。
4. 用户数量
但是由于在真实的Internet环境中,Web服务器的用户数量是以百万来计的,有些著名的网站访问人数更多,因此用模拟固定的少量的客户端来评测服务器所得到的结果是不充分的。需要有能够产生并且维持稳定负载的工具,使用这种工具就可以近似模拟无限多的用户。
5. 用户分布
如果这个应用系统是分布在一个局域网内的话,正常运营跟测试条件下的用户分布是没有多大区别,如果这个应用系统是面向互联网提供的服务系统,在实际运营环境中测试阶段差别最大的应该是这个,因为在实验条件下,无论你的条件如何,你还是没有办法模拟到众多千万里之外,有可能随机分布在这个星球任何角落的用户。
6. 网络流量
网络流量是差别是最大的,测试环境和真实环境下,服务器端发送和接受的流量是一样的,链接客户端和服务器之间的线路的流量差别比较大,但不在我们的关注对象范围之内。差别大的是,真实环境下,没有一个客户端的流量一般不太大,除测试用例是在下载某些内容。测试环境下的客户端流量比较大。因为一个客户端要模拟几十上百个真实的客户端。


若需转载或其他需要,请跟作者朱汉强联系。
联系邮箱:johannes_zhu@yahoo.com
广州益标软件技术有限公司为您提供高质量的软件测试和咨询服务。
欢迎访问:http://www.3rdtest.com/

没有评论: