Q/GUOSEN
国信证券股份有限公司企业标准
Q/GU0SEN-ENG-ALM 01-2024
国信证券精准测试平台接入标准
国信证券股份有限公司 发布
前言
示感谢!由于编制时间紧促,难免有遗漏之处,悬请广大参阅者多提高贵意见,以供参考校正. 本标准于2024年6月初次起草发布,6月首次实施,在编制过程中得到各位同仁的大力支持,在此表
本标准由国信证券股份有限公司提出.
本标准起草单位:国信证券股份有限公司.
本标准主要起草人:李守杰、石波.
本标准于2024年6月首次发布.
1 范围
准. 本标准明确规定了国信证券股份有限公司精准测试平台的能力、用途以及接入该体系的要求及标
本标准适用于需要了解及接入国信证券股份有限公司精准测试平台的用户.
2规范性引用文件
下列文件对于本文件的应用是必不可少的,凡是注日期的引用文件,仅所注日期的版本适用于本文件.凡是不注日期的引用文件,其最新版本(包括的修改单)适用于本文件.
GB/T1.1-2020《标准化工作导则一第1部分:标准化文件的结构和起草规则》,
H-202111232573《云上软件测试能力成熟度模型精准测试》(中国信息通信研究院)
3术语和缩略语
国信证券精准测试平台名词条解释.
表1术语说明
术语、缩略语 解释精准测试 精准测试是一套计算机测试辅助分析系统.在不改变原有黑盒测试的方法基础下,建立测试用例和代码的对应关系,从面优化测试过 程和数据,提高测试效率.前置编译器 为了使用精准测试,需要对代码进行一定的静态分析和插装处理,而前置编译器就是用来对其进行语法分析和代码插装的程序.插桩 源:《计算机科学技术名词》(第三版) 将某些代码或指令插入至软件系统中,以监控该软件的运行.来静态分析 程序静态分析(ProgramStatic Analysis)是指在不运行代码的方序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可 式下,通过词法分析、语法分析、控制流、数据流分析等技术对程维护性等指标的一种代码分析技术.分块数据库 通过前置分析器的静态分析,对应生成的精准测试静态分块的库文 件(主要记录了所需要插装的代码行号、路径、函数、函数参数等信息),是为了实现SABI插装技术所需的重要内容,在被测应用启码实现整个字节码插装. 动过程中,通过agent加载分块数据库找到对应的所需要插装的代虚拟项目 虚拟项目为产品测试数据的主入口.能够支持多个子系统多个版本的同时测试,并将测试数据分发到对应子系统的版本,统筹产品子测试用例的执行:测试用例执行:测试用例的结束.在微服务 系统的管理.主要功能是产品与子系统的关联:测试用例的创建:中,每个独立部署的应用模块都设置成一个真实项目,而这些真实真实项目 项目都录隶属于同一个虚拟项目. 真实项目也就是虚拟项目的某个子系统的记录,功能是子系统下的版本选代记录:测试用例的在该子系统下的执行记录:测试用例的在该子系统下的执行数据统计:子系统各类覆盖率统计.
应用编码语言:Java(jdk1.6^21),支持的Java容器:tomcat、websphere、weblogic、springboot、spring cloud、jetty、东方通、sofa等.
应用架构:公司自研Zebra架构微服务.
5测试环境系统接入
5.1CI接入
精准测试平台需要对被测应用进行插桩,通过前置编译器对源码进行静态分析生成分块数据.本平台静态插桩支持对接CICD:请在Simba平台使用包含“精准测试插桩”工具的流水线模板,例-金太阳微服务组件使用“金太阳微服务通用SIT”模板.
1、流水线中“精准测试插桩”工具的配置:enableCodet设置插桩开关,0为关闭,1为开启.
2、过滤代码块:若被测项目中部分源码不适用,无需进行用例覆盖,可在流水线“精准测试插桩”工具的filter_path进行过滤,格式为:相对路径1相对路径2.例-“s*/*-***下的文件屏蔽,不进行插桩.
5.2CD接入
精准测试平台需要在被测应用启动后动态获取用例信息以完成用例数据和代码块的实时串联.在部署阶段需对被测应用进行相关改造.
1、在测试环境机器上的/opt/安放初始包文件,包括agent和codet两个文件夹.
3、“精准测试启动脚本”中按图设置对应部署的机器IP.
插桩服务通信拉取对应md5值版本的代码块json(CI插桩后的代码块信息). 4、被测应用的启动参数中添加Jar包的md5值计算和环境变量赋值,用于每次部署后与精准测试
md5_hash-5(md5sum$3ARFILE"|aiwk exporEJAR_MoS_HAsH-Smd5_hash C.[TsaULJd).
5、被测应用的启动参数中添加-javaagent:/opt/agent/zoa-bootstrap-xxx.jar
javaagent :/opt/agent/sabixxx-
SNAPSHOT.jar=jsonpath=/opt/codet/json instrumode=3,serverip=xxx,被测应用启动时会启动精准测试agent,用以用例数据收集、代码块json拉取等实时操作.其中zoa-bootstrap-xxx.jar、sabi-xxx-SNAPSHOT.jar、json以本小结第一条的实际存放目录为准.serverip为精准测试平台后端服务 IP.