星云精准测试——可追溯、可视化的软件质量保障体系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
86
FINANCIAL COMPUTER OF CHINA
业界观察
INDUSTRY OBSERVATION
星云精准测试——可追溯、可视化的软件质量保障体系
星云测试
随着大量网络支付、供应链金融、智慧网点、开放银行等金融创新产品的兴起,金融行业内部对数字化能力的要求不断提升。
在业务新需求的持续推进下,新旧系统开始不断叠加、子系统亦不断扩张和接入,金融软件系统日益复杂化。
金融软件产品研发与维护的高可靠性及智能性,成为各大金融机构最为关注的重要环节。
软件功能测试的升级转型
星云精准测试是近年来软件测试业务升级转型中领跑的一匹黑马,它最有代表性的特点在于打破了开发与测试之间的数据隔阂,实现了测试用例与源代码之间的双向追溯。
星云精准测试还可以解决诸多问题,比如可解决敏捷迭代模式下传统覆盖率数据频繁失效、小版本覆盖率过低导致的覆盖率数据分析失效的累积覆盖率、相关覆盖率等创新的覆盖率计算和统计方法、智能缺陷定位、用例聚类分析、高速漏洞检出、敏捷迭代下智能回归用例选取等等,诸多突破性功能,大大超越了国外主流白盒测试工具。
这些高性能特点直接为大型、高复杂度的金融软件系统带来了可视化的数据管理依据。
软件质量画像助力金融创新
星云精准测试的功能强大,使用起来也比白盒测试简单,普通黑盒测试工程师亦能轻松掌握。
随着大型金融客户的快速增加,星云测试已经实现了诸如:“静默式”精准测试方案(一键式项目管理工具结合)、与自动化工具的无缝对接、CI 的智能集成、DevOps 微服务架构下的超强数据穿透等金融领域专有解决方案。
在面向管理高层的报表中,星云精准测试能实时清晰地刻画出整体项目的质量画像,让管理层一目了然地掌握诸如项目信息与指标、测试过程与总结、团队效率
与分析等各种数据变化情况。
它用内置嵌入的智能算法,确保所有的数据都是可信的、不可篡改的,用数字化的形式,充分展示企业分布式开发与测试过程、验收和维护全过程。
深度解决了软件测试黑盒的短板,实现数字化跟踪、追溯、输出开发与测试的每一步信息。
软件全生命周期的精准、可视化数据分析
星云精准测试作为新一代测试技术,在诸多方面率先实现了重大技术创新:在透明化黑盒子的同时,又不增加操作难度;既继承了传统功能测试前期的高效率运行区间,又能在后期通过系统的数据和测试分析算法,降低企业对相关团队的过度依赖,让开发、测试充分协同,完成全程高效的测试。
由于测试数据收集的细致与完整性,金融用户还额外收获了极具价值的战略性资源——测试大数据,为未来的金融产品大数据分析打下坚实的基础。
(1)开发和测试的追溯与协同
星云精准测试独特的“源码与测试用例的双向追溯”专利技术,使开发和测试界跨过了BUG 复现能力不足的鸿沟,“天堑变通途”。
精准测试的内置算法可以使源代码与测试用例如同量子纠缠一样,产生对应联动。
双向追溯技术就像全景调试器,记录了每个测试用例对应的程序内部源代码的运行细节,细致到每个条件、分支、语句块的执行情况。
开发人员可以通过双向追溯的结果去理解程序逻辑,进行软件维护以及进行可一致性的修改,优雅而轻松地解决了开发和测试最头痛的缺陷复现难题。
同时星云也能帮助测试者反观用例设计是否合理、充足,颗粒度大小是否合适,极大地弥补了由于测试人员自身的经验、能力、精神状况等因素影响到的
87
业界观察
Industry Observation
2019 . 11 中国金融电脑
测试质量。
管理者们也可以对症下药,拟定有针对性的学习计划、快速培养方案。
(2)给系统装上“X”光扫描仪
星云精准测试的国家专利“软件示波器”,既是一个完美的“X”光扫描仪,也是一个隔离中间件,它可以把测试与代码两者分隔开来。
只需开发提供编译后的文件,测试不需源码即可获得相关统计类和指标类的数据,比如:程序骨架信息、代码逻辑执行速率、内存使用等动态运行数据。
如果需要结合源代码显示更为详细的测试信息,可以选择开通相应的权限,进行动态关联、读取详细信息。
程序哪里有问题,随时可知。
而这个软件“X”光扫描仪的采集速度极快,最高可以每秒实时采集1500万条测试数据。
同时星云测试平台还支持对于实时、准实时应用的超高速内存赋值采集模式,几乎完全看不到对原有应用的任何运行性能的损耗。
(3)给项目组一双慧眼
企业采用精准测试技术后,通过执行用例可以直接追溯到对应执行的程序代码块。
数据化沟通,使开发人员和测试人员之间的协同工作效率大大提高。
开发通过代码插装、测试运行后,即可得到项目的静态结构与动态数据的精确视图,并自动捕获缺陷或崩溃发生时程序执行的详细路径信息。
由于内部逻辑层级图形化的清晰表达,开发人员能够直接基于视图查看缺陷出现的代码执行时序和路径信息,直接定位缺陷、列出的可疑代码,快速解决瓶颈问题。
对于不懂开发的测试工程师,亦可通过程序控制流程图的图形及颜色示意,直接回放程序覆盖信息,了解内部漏测的逻辑成因,随后进行辅助用例补充或逻辑完善。
星云精准测试数据分析流程如图1所示。
(4)确保关键模块的“万无一失”
图
1 星云精准测试数据分析流程
88
FINANCIAL COMPUTER OF CHINA
业界观察
INDUSTRY OBSERVATION
金融应用场景中,复杂度高的模块最令人头疼。
复杂度很高,说明程序的调用关系多,处在整个程序最上游,也侧面证明了它在系统中的核心地位。
但因为黑盒测试的不可视性,使高风险模块的可控性变得棘手。
术业有专攻,这项看似牵涉面很广的技术问题,用星云精准测试处理起来就得心应手。
不仅有专有的“软件示波器”轻松地为我们展示出模块间的多层函数调用关系,平台也将智能给出多样化的预警报告表和复杂度详细列表。
(5)让“大象”会跳舞
大型金融软件系统的研发与维护成本一直居高不下,星云精准测试的可视化功能,为这一沉疴提供了良好的解决方案。
通过的模块用绿色高亮标出,未覆盖到的模块用深蓝色标出。
维护团队只需分析深蓝色为什么被覆盖率的原因,即可梳理出主线,废代码和未注释代码块将无处遁形。
庞大的系统变得灵巧可控,维护团队巨大的心理包袱也就此放下了。
另外,通过历史数据的比对,星云精准测试可精确计算回归用例的权重、自动筛选测试用例并得到回归优先级高的用例排序情况。
测试人员在时间有限的情况下可以重点回归受改动影响最大的用例,以适应庞大的工程项目快速的版本迭代周期,并有效降低传统人工回归分析产生的测试盲点。
(6)数据分级管理
星云精准测试针对项目岗位管理权限的不同要求,对岗位权限进行专业设置,不同岗位权限可调用的信息是被严格区分的。
如:无源码接触测试工程师,源码分析测试工程师、项目经理、科技信息部负责人等。
企业管理者可以根据项目岗位需要,轻松设置使用权限。
完美适应敏捷测试体系
金融对需求的变化反应最为敏捷,市场需要什么,金融机构很快就响应跟进,但白盒覆盖数据和自动化测试用例脚本,代码变更后很难适应新版本。
为此星云精准测试设计的所有数据分析结果,都特别考虑了快速迭
代的开发模式。
一是所有版本的测试数据,支持累计合并计算,将多个敏捷局部测试的数据汇总到最新代码视图上统一展示。
二是可以任意选择版本合并,观察任何时间节点的累计数据。
用户可以看到一个敏捷周期内的总体覆盖情况。
在敏捷迭代模式下,通常每个发布版本仅仅进行某一个或者几个模块的测试,因此覆盖率会比较低,覆盖率低就失去了它的参照意义,星云精准测试在业内率先发明并产品化相关覆盖率技术。
相关覆盖率,相当于程序可以自动计算本次统计范围的代码覆盖率分母而不是程序的所有代码,那些本次测试涉及的函数模块会自动加入分母中,完全没有触及的函数里面的代码则不会放到覆盖率计算的分母中。
因此相关覆盖率可以自动识别本次功能测试范围对应的代码,同时将覆盖率的数值提升到有意义的分析区间。
星云精准测试的数据价值
星云精准测试采集的测试数据和插装后分析到的静态结构信息将作为大型企业系统大数据分析的基础数据。
比如:(1)代码级的程序静态信息以及测试用例对应的海量动态测试的数据,这些多维度数据将作为大型企业系统大数据分析的基础数据。
(2)对本企业大量软件质量数据进行挖掘和分析,可找到相关质量技术标准衡量的合理区间,避免常规错误。
(3)通过数据分析确定优异的开发方法和技术构件。
(4)通过质量大数据的分析结果,选择更加合理的技术方法,在设计阶段避免已知的缺陷。
建立自主可控的精准测试新体系
2010年以来,国内军民各项大型核心创新系统不断上马,但高端测试工具一直滞后,停留在黑盒状态,拥有自主知识产权的新一代测试技术显得迫在眉睫。
星云精准测试是个交叉学科,涉及到编译器、测试分析、图形技术、高性能通信与存储,软件的研发等多项底层技术。
目前拥有国家多项软件发明专利,也是国家信息产业升级重点单位,拥有完全自主可控的知识产权。