一、前言
需求:需要一个测试框架,能来测试一个 IM
系统,同时适配当前业务逻辑。
测试那用 Jmeter
喽,Jmeter
也能测试 websocket
,干嘛要自己开发一个测试框架啊?
最重要的一点:
TCP
协议是自定义的,用Jmeter
等框架,无法很好集成。PS
:当然对Jmeter
不够深入。
那么面向一个 IM
系统,其对应的测试框架,需满足:
- 具有连贯性,上下文:在保持连接情况下,执行一定业务逻辑处理,例如:发消息、加群、加好友等
- 易接入:开发对接代码简单
- 生成多种不同报告
- 可扩展
那么,那就试试呗。
二、v1 版本
初期思考,这种自动化测试,需要满足:
- 自动执行:启动之后所有测试用例都能执行,一个测试用例失败不能影响其他测试用例
- 可以输出定制的报告:控制台打印、生成文件
- 足够简单:容易集成业务,可以开发,并且运行速度快
思考过程
思考过程:
- 测试用例应该是一个对象
- 测试用例应该相互隔离
- 如何运行多个测试用例?
- 如何保存测试用例运行时出现的异常?
(1)测试用例应该是一个对象
运行:是一种能力,那么可以抽象为接口 interface
:
public interface Test {