星云精准测试有力提升金融复杂系统的测试能效

随着国内大数据、云计算、人工智能等新技术的发展,银行业的前中后台正面临着全面改造,金融科技是业务转型发展的一个核心发力点。金融行业信息系统集中度高、规模庞大、多系统之间关联性强、业务复杂、需求变化快,另外各种新旧系统错综交互,软件质量控制难度异常复杂。通过技术手段精准地追溯每一个数据路线,有效实现信息系统的高可靠性和易维护性,是金融业界共同的目标。

一、传统测试的局限

目前,在大部分金融机构中,主流的功能测试方法是黑盒测试辅之以一定量的自动化测试。由于自动化测试用例的维护问题较多,黑盒手工(功能)测试依然是主流。它有很多经典方法,如等价类、正交用例设计法以及近些年流行的探索性测试等。因黑盒测试方法总体依赖于业务经验,以及一定的测试“灵感”和临场发挥的“算力”,随着金融软件复杂性和迭代速度的不断加快、软件系统组合路径膨胀等问题,人脑的推算力显然远远跟不上了。即使很优秀的测试人员,也会因为状态问题而导致测试用例设计水准出现波动。后续测试覆盖不充分性日益凸显,剩余至少30%以上的漏测点。而白盒测试工具,因为技术没有跟上敏捷迭代的开发场景,目前在金融企业几乎很少在实际中应用。

二、精准测试概念的提出

如何快速定位金融大型信息系统的测试死角,用“可量化”和“可视化”的分析与测试手段,有效地发现程序深层隐藏的缺陷、提高信息系统投产质量、降低投产风险、增强投产信心,金融业甚至软件业均在寻求最佳解决方案。

精准测试方法体系,是近年来业界颇为关注的新测试技术体系。它立足于“系统级”测试,建立了业务功能与代码之间的映射与追溯关系,在代码优化、快速定位代码缺陷、确保关键代码的测试覆盖、精准回归等方面表现突出。为金融信息系统实施高效管理,提供了质量抓手。

三、 精准测试的关键技术

1. 精准测试的核心技术

  精准测试最底层的核心技术:“一种基于用例与源码双向追溯的测试装置及方量子纠缠的形象类比:如常见的金融转账、手机拍照、机器人控制等指令,每个操作都有与之对应的代码,他们之间如同两个纠缠在一起的粒子,具备强关联性。一个发生变化,另一个必定发生相应变化。星云精准测试将功能用例和对应的代码之间实现了精准无误的追溯路线可视化,彻底解决了“黑盒”的难题。在此核心技术基础上,诸如:“回归测试用例的自动选取”、“覆盖率可视化”、“智能缺陷定位”、“聚类分析”等精准测试的高级功能得以充分实现。

image

               图 双向追溯(正向)-测试用例追溯到代码

  由于优秀的内核设计,星云精准测试可以轻松应用在数亿行的超大型复杂应用上,在建立测试用例、代码、模块之间精准可视追溯机制的同时,瞬间可将海量数据实时采集并存储起来,用于后续测试大数据的分析和运算上。整体过程对原有系统性能,不产生干扰。

2. 高度智能化的静默式落地方案

  星云精准测试并不改变现有的测试流程和团队组成,它巧妙地使黑盒测试无缝对接到精准测试体系,快速实现提升测试效能比的刚需。测试工程师打开测试用例的Excel表格、执行点击用例,即可通过VBA技术,直接调用星云精准测试的后台接口,再附加一整套深入应用后台执行线程的用户标签技术,就可以将用例和代码关联和分离出来(分离是指类似J2EE服务端后台应用)。在对外提供多用户并发访问的情况下,可分离出每个用户执行的用例所对应的代码。测试者在整个过程中,几乎不需要增加额外工作量。

3. 精准可信的测试数据记录过程

  传统测试有点像挖矿藏,主要依赖测试用例执行数、时长、bug的数量等外在维度进行衡量,缺陷是未知数,结果不那么具备公信力。精准测试是传统测试走向可信测试的一个最好的技术手段。它的所有测试数据均是在测试执行过程中,由软件自动分析并录入的底层代码运行原生数据。由于用例和执行代码之间信息被完整跟踪,并且细分到测试用例级别,因此整个测试数据都可以在代码层面可视化出来,人工无法介入修改。它真实再现测试现场情况,结果可直接用于测试的过程管理和实效分析。从技术上确保所有数据精准无篡改。这一举措,使测试的衡量点回归到计算机程序的本质-“代码”上来。

四、精准测试的应用实践

  精准测试的用例与执行代码的强追溯性,为采集到的海量测试数据实现精准度量以及全面、多维度的测试分析,打下了坚实基础。测试管理从相对单一的覆盖率考量视角,扩展到多剖面的智能分析。由于篇幅限制,本文选择两个主要功能点做一介绍:

1、企业级覆盖率方面的创新

  测试覆盖率是测试界公认的测试结项可用量化指标。在敏捷迭代场景下,由于新版本快速发布,代码变更频繁,本应在一个版本上分析的覆盖数据,分布到了数个代码结构不一样的程序版本上,因此传统白盒覆盖率的统计方法和参考意义基本上都失效了。星云精准测试通过软件示波器在系统测试阶段取采集多种代码覆盖率(最高支持航天航空标准MC/DC的100%覆盖率要求),提供实时覆盖率增长趋势图及各类分析报表,管理者可清晰的观察整个测试进度情况、效率等。

  覆盖率智能合并。精准测试可以按照敏捷的模式,将多个版本的覆盖率以最新程序代码版本为投影进行合并,在控制流上直接累加,无需在每个版本上跑全量用例。它在不同的版本上执行不同功能范围的用例,然后合并一个测试周期的覆盖率信息,看总体的覆盖情况。覆盖率合并算法将全自动分析每个版本序列上程序函数变更的情况,以最新版本往前合并,直到某个模块的代码发生变化,在此之间的覆盖率均可合并。

  增量覆盖率分析。版本发布后,精准测试可以对增量代码覆盖专门有一个统计维度,这样也是对于覆盖率目标的一种工业应用新思路,不用去关注总体覆盖,而在迭代中关注调整代码的覆盖,尤其是新增代码的覆盖情况。

  覆盖率可视化。在星云精准测试中,用户在选择分析的覆盖率维度后,系统就会将被测试程序的相关结构展示出来,并且用颜色表达覆盖情况:绿色代表覆盖,深蓝色代表未覆盖。同时告知覆盖率的分子和分母都是哪些,非常清晰的展示覆盖率可视化结果。

  相关覆盖率。可将某个功能用例所触及的函数范围中,所有代码分支作为覆盖率的分母,真正运行到的分支作为分子,这样取得的相关覆盖率非常具有实际指导意义。使用者在有权限的情况下,随时可以看到:因此即使测试的是一个小功能范围的用例集,其覆盖结果也可以近似等价为这个功能范围相关代码的覆盖率情况,亦可以用于分析某个功能范围的测试是否充分。

2、回归测试用例的推荐和选取:

  对于测试效率的提升,一般会提到狭义的自动化测试,这也是行业内通常解决回归测试的办法。它是一种应对全局回归的方法,在无法有效确定回归范围的情况下,就通过技术手段全量回归以确保系统的修改没有引入新的问题。真正实施过全量自动化回归的团队,会对此项工作的难度和成本深有体会。

  星云精准测试回归用例自动选取是属于一种机器智能计算下安全的局部回归。它根据历史测试用例执行的路径信息以及新版本的代码变更信息,自动推荐和选取回归测试用例集,并给出回归优先级和影响度。用户在测试人力有限的条件下,可以根据算法给出的优先级安排测试执行,以最有效的方法发现代码调整引入的缺陷。这种基于海量的程序运行路径计算的数据,精确而完整,不会因团队工作状态问题,而出现大量遗漏的现象。

五、小结

  精准测试将大幅度提升测试数据的价值,也将产出大量对研发极有意义的分析数据。它必将推动软件行业的数字化改革,为传统金融业务及金融创新(Fintech),提供更智能、有效的软件高端质量保障思路与方法。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容