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

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

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

二、精准测试概念的提出

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

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

三、 精准测试的关键技术

  1. 精准测试的核心技术

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

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

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

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

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

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

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

四、精准测试的应用实践

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

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

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

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

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

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

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

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

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

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

五、小结

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

原文地址:https://blog.51cto.com/13883507/2483539

时间: 2024-11-05 14:57:52

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

星云精准测试对安卓底层驱动代码的测试案例分析

Android原生底层驱动应用面极广,但一直没有很好的办法进行质量追踪.本文借助星云精准测试的高可靠性的测试技术手段,针对Android原生底层驱动进行分析.插桩.编译.采集数据.数据分析等,逐步讲解精准测试是如何实现android原生底层驱动的对接. 在本文中,我们可以清晰地查看到如何进行技术对接的每一步,比如如何使用星云精准测试进行代码插桩.实现测试用例与采集底层驱动运行代码的数据追溯.对最终采集的数据进行一系列分析等. 一.安卓源码精准测试流程概述 经分析android源码的编译主要依靠A

星云精准测试之用例魔方

精准测试从某个层面来讲,是赋予了测试用例真正的生命力,传统的测试用例仅仅是一些只能够依赖人去理解和分析的文本文件而已,在计算机和算法层面则没有存在意义和价值.下图是精准测试的整体架构图: 大家首先可能会比较好奇,"用例魔方"的概念是怎么来的?测试用例魔方是在精准测试的设计.开发和商业实践中自然产生的功能集合的一个统称.当我们把精准测试的和用例分析相关的功能画成架构图形表示的时候,它自然而然地看起来就像魔方,所谓"魔"则是精准测试核心算法所赋予的超能力.上图是星云精准

思科超融合测试 Cisco HyperFlex 超融合系统

Cisco HyperFlex 超融合系统 1.     前言 1.1.  测试背景 虚拟化技术是云计算的关键技术之一,随着云计算技术的逐步推广, 虚拟化环境下传统集中存储架构被越来越多地诟病,超融合架构越来越多地成为虚拟化环境中的首选基础架构.由于其横向扩展.快速部署.易管理.节省机柜空间和耗电等,已在制造.金融.电信.电力等行业的数据中心领域得到部署和应用. Cisco HyperFlex 作为业界领先的超融合虚拟化平台厂商之一,能够更加快速.高效.稳定的支撑起众多企业的虚拟化环境. 1.2

DNS主从服务,子域授权,view视图,日志系统,压力测试rsync配置

DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140.165.169 关闭防火墙,关闭selinux. 主服务器建立: [[email protected] ~]# yum -y install bind-util bind #安装bind服务 [[email protected] ~]# vim /etc/named.conf #编辑主配置文件 o

业务系统压力测试前,需要Oracle dba提前完成的工作

本文是原创文章,转载请注明出处:http://blog.csdn.net/msdnchina/article/details/42376661 业务系统压力测试前,需要Oracle dba提前完成的工作: 1. 若是Oracle database software 不是dba安装的,请dba自行按照Oracle database software 的安装文档去复核 database software 安装的是否规范. 2. 部署osw,并配置开机自动启动脚本,以便重启os时,osw能自动拉起来

[原创]好买财富测试环境自动化发布部署系统实践

一  为什么要开发一套测试环境自动化发布部署系统? (1) 好买的交易系统越来越庞大,越来越复杂,仅搭建一套系统要涉及到50多件内容: (2)手工搭建测试环境容易出错,投诉较多,各业务方抱怨较多: (3)搭建测试环境效率低下,庞大的系统,旧的方式需要大约忙1天,有时出了问题时间会更长, (4)开发多分支并行开发,抢占市场,要求必须满足公司在快速开发和迭代测试,目前维护了16套环境,估计16年会更多: (5)  以前系统搭建,太依赖个人的经验,人员离职会造成非常大的瓶颈; (6)都是领导逼的,这年

网站系统压力测试Jmeter+Badboy

最近项目需要压力测试,因此搜了几款试用,首选的是LoadRunner这款大名鼎鼎的测试软件: LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门LoadRunner注册表清理工具 下载请猛戳这里 传送门 (超级license 最高支持6.5w个并发:AEACFSJI-YJKJKJJKEJIJD-BCLBR) 如何安装请自行参考: http://www.neversaydie.cc/loadrunner11-download-and-crack-i

磁盘io系统压力测试工具fio

FIO概述 fio是一个基于GPLV2授权的开源压力测试工具,主要是用来测试磁盘io性能,也有cpu,nic的io测试功能. 1.安装FIO yum -y install wget yum -y install libaio-devel wget http://brick.kernel.dk/snaps/fio-2.1.tar.gz tar zxvf fio-2.1.tar.gz cd fio-2.1 make make install 2.fio测试命令参数 filename=/dev/sda

‘内部系统’怎么测试?两年测试的总结与反思

前言 也许身处项目组,作为测试的你在孤军奋战,陌生的环境,同事全是开发,领导是技术/业务经理,这时有一个系统需要你测试,没有参与需求评审没有需求文档更没有测试流程,有的只是一个粗糙的原型. 这样的背景下,会有一种绝望感吗?我不知道,但我确实经历了这一切,并改善了这个局面.前后共经历两年时间,我将会在此书写与内部系统的恩怨情仇. 我记得大四实习时最早接触的,是个报表系统,在完全不知道测试要干什么的情况下,boss给了我一个原型以及10.10.*.*的地址,哦...还有admin帐号以及登录密码.后