性能测试新手误区(四):一切来自录制
作者:网络转载 发布时间:[ 2012/9/14 10:51:27 ] 推荐标签:
至于如何实现,如果你有编码能力,可以将开源代码引入到自己的测试代码中(需是标准协议),否者可能需要让程序的开发人员实现一个测试程序。不要不敢开口,开发人员协助进行性能测试是很正常的,而且这种工作量不会很大,只是把程序中的一些代码封装成一个可配置可方便调用的执行文件。
让开发人员来实现测试工具不丢脸,怕的是你自己不知道测试工具应该实现成什么样。(当然,如果自己可以看源码来实现工具那更好了)
第二个问题,同样的,所谓的B系统调用A系统这个动作,是如何实现的?
会不会只是一个简单的HTTP请求?
或者是调用A系统的一个webservice接口?
你要测的是A的这个功能么?
如果是,那我们为什么一定要通过B系统来录制这A的这个功能呢?完全可以直接向A发送请求或者是调用接口(如LR中的webservice协议)。
至于具体如何做,可能有很多现成的接口测试工具,也可能仍然需要开发人员的协助。比如B与A之间传递的数据是经过加密的,那对(黑盒)测试来说会非常困难,这种情况下,确实有可能通过B来录制会更简单。
在51Testing上看到的一个问题,问如何测试一个统计报表的另存为(excel)功能。
点这个按钮后,服务器会生成一张报表,然后弹出浏览器的另存为对话框,保存为本地文件。提问题的这个人遇到的困难是,LR中好像没法录制“另存为”这个动作。
之所以会有这样的问题,根本原因还是没有理解系统的运行原理,没有区分哪是服务器、哪是客户端。
一般来说,这个过程是这样的:
1、点另存为按钮时,向服务器发送了一个计算报表的请求,这个请求中会包含一些参数,如报表类型、统计时间等等。
2、服务器计算完成后,将结果数据返回给客户端(浏览器)。
3、浏览器本身的功能,将数据保存为一个本地文件。
(这里假设了计算过程是另存为按钮触发的,如果是打开页面时计算完,那点按钮时甚至有可能根本没与服务器进行交互)
如果明白了这个过程,那么不会纠结于录制“另存为”这种事情了,你要做的只是向服务器发送一个请求,然后接收响应数据。
那么不需要生成本地文件了么?当然不是,否则怎么验证返回的数据没有问题呢。只不过这个文件的操作需要自己来实现了,创建文件、写入数据、关闭文件。
后再总结一下要点:
● 理解系统的运行原理
● 区分服务端和客户端
● 弄清楚你要测的是什么,哪些东西其实是可有可无的
● 要模拟的是服务器的压力,而不是客户端的操作
● 录制只是一种手段,很多情况下并不是佳选择
● 开发人员的协助是应当的,但前提是你要明确的知道应该如何测试
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11