最近在为项目研究benchmark testing. 因为想要知道现在产品的性能参数。benchmark测试是在数据执行层找到最有效的吞吐量的值。在做benchmark测试之前,和自动化测试一样,要知道产品的架构。
我们产品是典型的MVC架构。不同的是,经过一段时间的摸索总结,我们组的程序员把V和C彻底剥离了开来。所有的model的操作全部放到了C里,这样大大清晰了模块之间的通讯关系。对于测试对象,也可以比较有针对性。要提高数据的读取性能,首当其冲要考虑的是model里面的调用方法。我将model的功能大概分析如下,
下一步是找到入口,模拟数据。
找到了对数据进行读取和解析的函数。它接收的参数是一个事件,所以要模拟一个事件传进去。这对我有些难度。所以,第一个版本,我直接在目标函数中插入开始和结束时间计时器。用这种方法,暂时,我得到了一组测试结果数据。这样,大大节省了对事件模拟的编程工作。当然,这种方法是不可行的,因为它不能被重复利用。每次去手动改写最新版本的函数的做法并不恰当。同时,测试目标的扩展性也比较差。
下一步,重新写测试文件而不是直接修改源文件,达到测试用例的可重复利用。(未完待续)