sofa-动态bundle测试分析

小知识:

   bundle和模块可以理解是一样的意思

动态bundle生命周期

Install:完成模块下载、解压和解析,异常进入HandleException

Load:完成log4j日志配置、spring上下文加载、执行模块启动回调方法、执行健康检查等,异常进入HandleException

场景如下:有一个平台,在这平台上,用户可以配置模块名称、版本号、机器/机房名称,点击确定之后程序会自动去加载动态bundle zip包,然后开始安装动态bundle,完成install->load的操作。

测试准备

动态zip包导入指定的路径,比如/home/admin/xxx

测试分析

sofa动态bundle的测试主要是考虑动态bundle的生命周期、异常情况

测试场景:

  1. 正常情况下安装成功,模块检测,能出现对应的模块名字、版本、机器等信息
  2. 灰度版本推全,原基础版本在所有机器卸载成功,模块检测,不再出现对应的模块信息
  3. 灰度版本切换,原基础版本不会更改,原灰度版本在指定机器卸载,新灰度版本生效,模块检测,模块信息正确
  4. 还要考虑异常情况。比如模块不存在,或者模块安装错误(路径不对,没有实现) 等的异常情况

测试策略

功能测试:覆盖平台的测试场景

接口测试:平台的测试场景实现自动化

单元测试:实现instal、Load、unload、uninstall的单元测试

总结:

平台实现自动化,测试考虑动态bundle的生命周期和异常情况场景的测试覆盖

猜你喜欢

转载自blog.csdn.net/qq_21319187/article/details/81435759