测试引擎需要支持测试用例的输入,这里说的输入应当有一个抽象层.
首先,比如说对开发语言的抽象的处理——支持java、python、go等;
其次,对执行的抽象,不同的测试用例,执行测试用例的方法不一样,比如加载配置的方式不一样,启动的命令不一样等等;
紧接着,对测试资源的抽象,测试用例大多建立在一个特定的测试环境,拿数据库测试为例,这个环境可以是“A主机上B端口上的单机版的数据库”、也可以是“C主机上D端口上的集群版数据库”。
再次是,对测试日志的抽象,不同的测试用例,尤其不同语言的测试用例,一般输出的日志规范不大一样,这层抽象,将解决日志的统一存储问题,同时,测试日志应当支持来自于实际业务场景的特定分析,这个特定分析,应当是支持外部写入的,即:使用者写一个分析程序,交由测试引擎,测试引擎根据使用者写的这个分析程序,去解析日志中特定的业务数据。
最后是,对测试结果报告的抽象,这次抽象,个人认为可以作为保留,只定义测试结果报告的基本结构,由其他程序,去实现各个部分,最终交由测试引擎集成。