当前业务逻辑测试的问题
1.开发和测试的协作方式断层
测试用例只是测试人员在维护。如果业务变动,开发的功能自然进行变动。但不能自动关联到测试用例进行变动。
2.测试用例的可维护性和可机器执行性不高
测试用例使用自然语言描述,要人为去理解,再去手动实施。
PS:
这里的业务逻辑测试,是基于后端提供的远程调用接口来进行测试。
优化目标
1.提高可测性,改变开发和测试的协作方式。
从开发的代码层面上,提供测试的参与点。
这就需要开发和测试约定api doc
规则。
测试平台对对按照约定的api doc
规则注释的代码进行接口反射,反射出业务接口。
2.实现测试用例的可自动化执行。
为了保证测试用例的可读性和可执行性。
需要开发一套基于通用编程语言和自然语言中间的测试用例领域语言DSL。
测试人员使用测试DSL编写业务用例,针对这些业务接口。
3.实现全业务逻辑覆盖测试。
对各个业务逻辑场景进行管理,并自动化执行其用例。
实现步骤
代码解析器,用于反射接口。
DSL解析器,用于编写用例。
用例执行器,自动化跑用例。
大胆假设,小心求证
1.手动列出业务接口列表,使用通用编程语言,对业务接口进行组合,来表达某个业务逻辑场景。
2.对业务接口的组合行为进行抽象,形成可配置化约定。
3.基于可配置化约定开发测试用例DSL。