目的:测试
业务用例(主要是有异步处理的业务流程)在服务端资源(CPU、DB、Memory)匮乏的情况下如何反应。以及一些
业务用例(主要是
资源占用大而请求频繁的)对Band-Width、CPU、DB的使用。
业务用例会比较简单,比如:
1. 游戏角色登陆->切换场景。测试场景上下文切换的正确性以及对Band-Width的使用情况。
2. 游戏角色登陆->打开公会成员列表,接受成员属性变换的通知。测试Band-Width的使用情况。
所以我打算设计一个以
业务用例为任务单元的执行系统。
Manager进程管理若干个
Agent进程。每个Agent进程跑若干个(可能是数百或千或万)业务用例。
Manager进程是一个中心服务器,所有的Agent进程将注册到Manager进程。Manager将均衡(简单采用取模的调度方式)地将任务投递给Agent。
为何要设计一个Manager管理若干个Agent呢?
主要是为了解决多台机器(一台机器跑,给的可能压力不够)上跑机器人配置复杂的问题。
我想把
协议以及业务用例代码封装在一个dll模块,这个模块被Agent动态加载,Agent将被做成Sevice接受Manager发送的最新dll,并且动态加载,等待被Manager调度执行任务。
这样就避免了每次修改测试代码,都要主动更新Agent进程的问题。Agent的执行关键信息都会反馈给Manager,这样方便Manager实时查看Agent执行状态。
阅读(5243) | 评论(0) | 转发(0) |