2009年3月6日星期五

功能的作用域

现状:
在测试脚本执行过程中需要监控CPU, Memory的使用情况。目前的情况是自定义了一组脚本命令:开始监控、等待、停止监控。
然后让创建脚本的人去把这些指令加入到测试脚本中。

问题:

最近用户又提出新需求:需要监控某些process的RSS, VSZ的情况。目前的办法是把process监控的功能发到了以前的脚本命令中。这样,如果监控,就监控了所有的东西。用户并不能容易的定制(需要程序员开发出GUI界面)。我不是脚本的使用者,但是,还有一个功能我觉得更重要:可以随时确定是否对某个测试(若干设备命令组成)进行监控。

解决:
像性能监控这种问题是不应该放在脚本层次来做的。应该作为一个通用功能提取到更高一个逻辑层次上。用户可以在运行测试用例时决定是否进行性能监控、以及监控什么(CPU, memory, process)。通过GUI用户可以在启动项目前进行设置,这是粗粒度的使用。应该还提供定义良好的API进行供程序员对监控功能进行细粒度的使用、暴露。

变量有作用域,其实功能也是有的,就如上面说的。