喜讯|安般科技“质量门禁”解决方案案例入选《2022-2023年度行业测试敏捷化成熟度年度报告》
软件测试
6/28/2023
来源

首图.gif


近日,中国计量科学研究院、中国质量认证中心和双态IT论坛发布了《2022-2023年度行业测试敏捷化成熟度年度报告》(以下简称“报告”),安般科技《以模糊对抗复杂,以质量平衡效率》——“质量门禁”解决方案案例成功入选报告案例部分。


报告调研对象涵盖金融、通信、科技公司和传统行业等,其中金融行业占81%,希望通过调研了解行业的探索实践,为测试敏捷化转型提供有益的参考和指导,积极促进行业的创新和发展。其中,测试敏捷化成熟度评价及见证机构包括中国质量认证中心、中国计量科学研究院和北京国家金融科技认证中心。

640.jpg

640 (1).jpg


今年4月,在《网络和信息安全三年提升计划(2023 -2025)》征求意见稿(以下简称《安全提升计划》)发布之后,安般科技深入挖掘证券行业痛点,贴合《安全提升计划》要求,提出了“质量门禁”解决方案。


在为某券商实施解决方案的过程中,安般科技通过建立考核指标、根据系统等级分配测试资源、融合前沿测试技术、松耦合设计和在各环节设立质量门禁等手段,为该券商构建了全生命周期的缺陷/漏洞管理体系,实现多场景、多环节、多维度的质量保障,达到“质量”与“效率”的双赢。


以下为安般科技“质量门禁”解决方案案例的完整内容,在此分享给大家。


以模糊对抗复杂,以质量平衡效率

软件越复杂,质量越重要

近年来,随着金融科技和业务的加速融合,人工智能、区块链、大数据、云计算等新兴技术承担着重要角色,系统代码普遍达到百万行,有些系统甚至可达千万行,金融软件的复杂度呈现越来越高的态势。


与此同时,金融软件质量也面临着更严峻地挑战。《证券公司投资者保护状况评价报告》统计数据显示:证券公司因交易系统稳定性问题被投诉次数从2019年的486次,上升到2020年1103次,2021年944次。根据威胁情报公司Flashpoint的数据,在全球范围内,金融服务行业组织2022年遭受的已知软件漏洞攻击数量位居第二,仅次于政府组织。


以某券商为例,由于金融交易领域的特殊性,对软件缺陷保持零容忍态度,软件故障除了会造成经济影响外,还会导致客户流失、品牌受损等长期负面影响。近年来,该券商信息系统建设任务明显增加,上线变更操作较为频繁,在敏捷开发模式下,测试是一个频繁地活动。


如何在保障测试质量的前提下,提高测试效率,是技术团队面临的一个重要且迫切地挑战。


全面建设,以质量门禁解决方案赋能质效提升

质量门禁解决方案采用一系列考核指标进行科学把控,并将测试工具对接DevOps、集成开发环境等平台,实现在软件开发过程及交付验收中进行质量控制,打造了一套智能化、自动化、精准化的质量保障体系,可以有效降低发布上线后的软件可靠性风险。


1. 建指标,立质量标尺

测试框架的普遍特点是测试方法零散,质量门禁解决方案引入CMMI和TMMi等行业标准,结合内外部实践,制定覆盖动态、静态的考核指标,方便对软件质量进行量化评估。

图1.png


2. 分等级,配测试资源

证券软件种类繁多且复杂,需对各类软件的质量保障等级进行划分,以更有效地分配测试资源。质量门禁解决方案根据证券行业系统特点,制定ABC三级参考评估标准。针对不同等级的系统,启用相应级别的指标集,选用动、静态测试手段完成测试,减少测试资源的浪费。

图2.png


3. 上手段,融前沿技术

质量门禁解决方案集合了一系列测试手段,如智能模糊测试、静态代码安全检测、软件成分分析系统,全方位挖掘软件缺陷,有效支撑质量门禁指标的高质量执行,并可以结合待测系统的分级指标实现灵活地调整和部署。


智能模糊测试:挖掘未知/深层缺陷,充分测试

智能模糊测试系统可以在短时间内生成并执行成千上万个测试用例作为入口函数/接口的输入,全面覆盖系统中可执行的代码路径,以检测软件在各种意外情况下的表现是否正常。当软件崩溃时,系统能够快速找到程序内部各个代码分支中存在的漏洞,复现缺陷,精准定位至代码行,同时提供专业修复意见。

图3.jpg


(一)平台选型与系统架构

基于自身业务系统进行严格选型,引入自动化测试平台,并在其基础上进行改造和优化。该平台测试标准流程:提测->计划->需求分析->测试设计->测试执行->测试报告->评审。支持内部裁剪和定制化修改,能做到较好的测试全链路管理和应用。

  • 支持非独占多并发,目标程序可同时被其他程序调用

通过插桩和整体交互流程的优化,增加唯一可追踪ID,实现非独占多并发的测试,提高测试资源利用率。

  • 支持多参数变异,多引擎融合,提升模糊测试能力

至少三个引擎同时工作,可集合各引擎的探索能力,更高效、更全面地挖掘漏洞。

  • 支持智能收敛,自动判断充分性,提升资源利用率

根据实时的指标阈值(运行时间、最大模糊测试次数、总周期数、最小种子集等),通过贝叶斯超参优化算法计算权重,判断测试是否充分,智能化终止测试,减少人工判断产生的偏差和计算资源的浪费。


静态代码安全检测 (SAST):预测、评估、提升软件质量

衡量软件的规范性、复杂性、可维护性的指标包括可执行代码注释率、圈复杂度、方法复杂度、程序容量等,这些也是软件安全体系化建设必要的指标。


通过白盒静态分析方法,可以实现源代码编码规则检测、运行时缺陷检测、安全漏洞检测、度量统计、克隆检测、逆向架构图自动生成等功能,从源头提升软件质量。


640.png



软件成分分析(SCA):解决开源治理中的安全和合规问题

开源软件凭借源代码开放、产品方案丰富、初期引入成本低等特点,在金融机构中应用已经形成规模。虽然开源软件在推动科技创新和数字化转型方面发挥着积极作用,但也面临诸多风险。


通过对软件源代码成分分析得到软件物料清单信息,同时,对其中引入的开源组件漏洞风险及合规风险进行扫描分析,提高软件供应链的透明度。

图5.jpg


4. 松耦合,推主动服务

质量门禁解决方案提供插件化、组件式的技术形态,通过将其集成于DevOps开发流程中的各个阶段,提升对软件质量控制能力。


软件开发人员可以在DevOps工具中配置postbuild动作,调用系统模块,自动完成测试分析工作,测试分析完成后,发现的问题可登录web页面或者推送至管理工具(如:禅道、Jira)和指定的邮箱进行查看。


5. 设门禁,查问题缺陷

开发测试运维一体化如同持续的水流,在开发流程各环节设立质量门禁,有利于及时发现问题,阻止低质量软件进入下一个环节,同时可以合理利用不同阶段的项目资源,避免造成流程阻塞。

图6.png


单元门禁

单元测试是软件开发中质量把控的基石,如果在单元测试时不进行充分的安全可靠性测试,会导致发布时出现问题,集成之后这些问题的发现、定位、修复都将耗费大量精力和返工成本。


质量门禁解决方案通过智能模糊测试工具在持续开发中对代码进行充分的动态测试,确保代码新增/修改的部分不会引入新的缺陷。解决方案提供IDE插件,安装至IDEA后,开发人员可便捷发起测试,在同一界面获取测试报告。

图7.png


集成门禁

集成测试阶段一般不提供源代码,关注的重点是接口层级测试,交付物为Jar/War包、接口文档。质量门禁解决方案使用智能模糊测试工具,针对Java程序的API接口,在持续集成中对代码进行充分的动态测试,确保上线前不会引入新的缺陷。


验收门禁

验收测试无疑是发布上线前的重要屏障,无论是自研软件、还是第三方交付软件,除基本的功能逻辑验证、性能验证之外,对质量的把控也至关重要。


保质降本增效,多维提升成效显著

通过实施质量门禁解决方案,该券商构建了全生命周期的缺陷/漏洞管理体系。使用白盒、黑盒、灰盒等多种技术手段,实现漏洞通报、修复的闭环管理,确保上线前已知风险全面收敛,同时接入第三方组件和开源组件的安全检测,实现多场景、多环节、多维度的质量保障。


- 降本:提升软件可靠性,减少故障带来的损失

   该券商软件缺陷的修复成本降低20-30%

   经评估,预计减少80%以上的软件缺陷导致的问题,高危风险发生概率降低95%以上

- 增效:提升测试人效,帮助快速修复bug

   实施期间,发现bug的复现率为100%,且可定位至代码行,开发人员从接到bug工单到完成修复,平均用时约1.5h

   经统计,测试平均覆盖率从8-20%,提升至3-4倍,达到高覆盖率要求,软件测试充分性大大提升

- 预防:发现深层/未知缺陷,提前应对重要威胁

- 验证:捕获即展示错误现场,验证问题影响程度


“质量”与“效率”双赢,夯实竞争基础

实施质量门禁解决方案之后,该券商测试团队从需求阶段就开始介入,加强与开发、产品等角色的配合,使测试工作有条不紊地进行,从而尽可能多地发现存在的漏洞和不足,提高交付质量,保障最终交付的产品价值,使其风险可控,质量更高。此外,实施过程中所采用的技术,对分布式软件、云化软件、嵌入式软件等均具备测试能力,可灵活适用于多种工作场景。


敏捷开发并不只是简单地比拼速度,而是一个强调敏捷与质量平衡的“质量游戏”,缺乏相应质量管理方法的情况下盲目强调敏捷,最终影响的是项目成效。事实证明,在敏捷开发的同时进行质量管理,达到“质量”与“效率”的双赢,是让软件保持竞争力的关键。