15问答为专业测试人员揭开“精准测试”的面纱

 15问答为专业测试人员揭开“精准测试”的面纱

什么是精准测试?软件测试是否必要达到精准?精准的同时是否提高了测试成本?精准测试对于普通测试工程师乃至测试行业会有怎样的影响?让我们带着这一系列的问题来关注精准测试的15个问答,揭开精准测试的面纱。

1.到底什么是精准测试?它和传统测试的区别和联系

相对于普通测试,精准测试是在传统测试过程中,通过技术手段对被测程序进行360度全景测试,将测试过程可视化、数字化、标准化,从而达到被测程序上线稳定、无风险、维护成本低等优势。

和传统测试比起来,精准测试能够通过程序自动的生成海量的、不能被篡改的原生态测试数据,通过这些数据的汇集、分析对测试进行带有智能性的指导,避免了传统测试过程中人力记录的时间成本与真实性的问题。

精准测试和传统测试的联系在于,整个测试过程中实际操作完全基于传统测试,并通过技术手段在传统的测试过程中自动产生原生态的测试数据。

2.精准测试技术对于黑盒手工测试的效率提升

肯定很多人想问,精准测试更精准、质量越高是否需要花费更大量的时间,在现今互联网时代,版本高速迭代的过程中,导致了大量黑盒手工测试的诞生,这样是否与精准测试提出的质量保证产生矛盾,我们通过下面这样图进行分析:

传统的黑盒测试在70%前的阶段,查找BUG是非常迅速的,但之后缺陷的发现效率会急剧的下降。

精准测试是结合传统的黑盒测试与白盒测试相结合的模式,它可以在黑盒测试过程中,通过程序自动产生白盒级别的运行逻辑数据,根据可视化出来的不足点和漏洞点,引导开发和测试有针对性的高效的补充用例。

3.精准测试对于测试行业的影响是什么?对普通测试人员的影响

精准测试对于测试行业来说是一项重大的突破,用原生态的测试数据来保证被测程序的质量,从而提高程序的稳定性、可维护性。

对普通测试人员来说,精准测试相当于一个“透明”的测试,在测试中后期,精准测试能大大提高普通测试人员的测试质量以及把控测试方向,黑盒手工测试也能够容易的突破职位的瓶颈。

4.精准测试为什么可以促进测试和开发的互动,以及融洽二者的关系

精准测试在测试过程中会产生大量的原生态测试数据,而精准测试在测试过程中能够直接将测试人员的功能执行定位到代码的运行逻辑,使得开发人员很容易的在代码中定位到测试过中产生的问题,这样的使得开发和测试有了一层交流的通道从而达到互动。

5.精准测试对于覆盖率技术的全新诠释

对于白盒测试有深入研究的技术人员可能会问到,精准测试还是很多用到了覆盖率技术,这些本来不就是有开源的工具吗?下面我们来比较一下:

     开源的覆盖率工具:

1、 将所有的测试产生的覆盖率混在一起,不具备快速定位缺陷与辅助查错,分析测试效率以及管理特性等等。

2、 单机运行,一个团队下多人测试的结果无法有效整合,也不能按照日期累计。

3、 无法达到MC/DC这些更高要求的覆盖率计算。

4、 无法提供版本变更后的覆盖率的累积,无法适应高速迭代的应用场景。

5、 最大的问题在于普通开源产品必须面对代码进行覆盖率的统计,而绝大部分场合测试工程师是不具备拿到代码的权限的。

     精准测试:

1、 覆盖率的分析和计算精确到每条测试用例针对的函数,每个代码块,每行代码

2、 多人异地测试,数据整合计算该版本的覆盖率,按日增长趋势的分析

3、 把覆盖率划分不同的等级,最高支持MC/DC条件组合覆盖率分析计算,可自定义要求

4、 版本迭代,多版本覆盖率分析对比,适应高速迭代的应用场景

5、 初始编译时需要代码(可隔离编译保证源码安全性),后期整个测试和覆盖率分析过程无需代码

6.精准测试和手工、自动化测试的关系,以及各自对测试行业的导向

精准测试因为不改变原有的测试流程,这使得它在手工或者自动化测试中都能使用,例如:精准测试产生的数字化测试数据对整个自动化测试过程可以进行深入跟踪和分析,精准测试的分析降低了自动化测试人为的干预度,使得自动化测试更加智能。

未来类似于精准测试技术的测试分析系统会真正引领测试走出打开新的局面。因为测试分析系统是属于测试的专业范畴,更加适合测试人员的专业特性。而自动化测试,天生的脚本开发特性以及复杂的控制特性,对绝大部分普通测试工程师来讲,这方面处于明显的劣势。

7.精准测试强调的测试数据的原生性和对测试组织形式的影响

原生性也就代表了公正性、真实性,精准测试提倡原生性的目的在于通过原生的数字化信息让测试这个行业的结果更加公正、真实、可信。避免人为原因造成的验收盲区。

国内的测试外包几乎100%都是驻场的,驻场外包会产生很多不必要的开销。而精准测试采用的非人工录入数据的原生态数据源技术,可以实时实现报表计算和测试跟踪等功能,甲乙双方可以用不同的身份登录相应系统,实时查看与其权限相对应的被测应用的各种数据、指标,团队完成质量与进度等信息。因此精准测试天生具有互联网远程精准测试基因,它将对测试组织形态将起到重大变改作用。

8.精准测试在软件质量分析领域的核心特性

精准测试的核心特性有:精准的等价类划分、崩溃捕获、路径分析、全方位可视化的测试每一步,实时接收测试数据,测试用例和代码的双向关联与追溯、全面记录测试过程中的测试设备和测试人员以及测试用例与代码等多者之间的关联,并通过丰富的报表和技术债务与风险指标进行展示。

精准测试将测试过程所获得数据进行了指标化,测试后即会得到关于覆盖率、复杂度、代码重复率、测试漏洞计算、崩溃分析、测试充分度分析、测试贡献度分析、技术债务计算、设备和缺陷的关联度分析等精准的质量分析报告来分析测试和项目质量。

9.精准测试在设计上对于普通手工测试工程师的考虑

精准测试在设计上对于普通手工测试工程师进行了优先考虑。它可以在完全不改变测试流程的情况下,沿用黑盒简单的点测方法,通过精准测试的核心算法,产生成原生态的测试数据。然后用覆盖率计算可视化、控制流程图、双向追溯等技术、以细致的图型分析(而不是仅为一个抽像数字)等系列方法,让普通手工测试具备理解测试结果能力以及与开发工程师进行测试结果的数字化分析与交互能力。

10.精准测试对于代码保全和软件工程方面的重要贡献

精准测试在实际运行过程中会记录测试每一步足迹,这也间接的保全了功能的实现逻辑,精准测试通过技术手段把测试用例和代码进行了对接,这使得开发来人在改动代码的时候可以通过测试人员的测试用例知晓其改动的印象范围,以便于做到一致性修改,并且更换新的开发人员也可以通过这个功能来了解被测程序的代码运行逻辑,这样有利于开发理解迅速掌握程序的内部结构。

11. 没有源代码能否进行精准测试

传统白盒测试不能进入普及化的主要原因是因为学习难度大以及对代码的安全考虑。精准测试为了保证源码安全性,采用了对代码进行插装的技术,插桩后打包的应用给测试人员,完全杜绝了测试人员或用户触碰代码的机会,在测试分析过程中如需要源码,只需在本地有源码的环境中与测试数据所记录的数据库匹配,就能实现无缝对接。

精准测试这项技术更完美的适用于移动互联网这类的行业。

测试人员甚至可以边在行驶过程中操作智能驾驶系统的同时,通过精准测试的软件示波器即时地获得测试数据和测试结果。测试人员在移动的车上进行测试后,将一整天获得的测试数据拿到软件平台中进行分析。测试全程无法接触到源码,保证源码安全。

12.如何理解精准测试里面的技术债务分析

一款程序的代码的编写、代码的复杂度、以及开发的人员、测试人员后期的维护等都会对程序产生可能的损害,也即称为技术债务。在精准测试里面,可以通过各项指标对软件进行债务分析与计算,债务越少就表明该程序的测试越充分、稳定性更好、可维护性佳。另外,它还可以通过该值对后期可能需要的投入进行了预判。精准测试每项指标都有详细的数据来源,通过深入分析这些指标,用户可以了解如何去偿还这些技术债务,而这个偿还技术债务的过程即是软件质量接近完美的过程。

13.精准测试未来的发展方向

精准测试未来的发展方向主要是针对被测程序的质量验收与建立良好的测试体系,对于现今互联网企业的崛起,版本高速迭代与程序的质量都影响着互联网企业的发展,精准测试在这方面凭借着自身的技术优势,在不为企业增加多余的负担的情况下,逐步的提升程序质量以及建立一套完善的测试体系。

14.精准测试对于软件交付、软件众测的意义

在互联网发展的今天,软件定制已经成了行业热门,但是如何让软件持续达到甲方要求的预期呢?显然,采用驻场外包形式需要花费大量的人力管理和其它开支成本。精准测试的原生态数据恰好解决了这些顾虑,它通过技术手段,可以采用分布式互联网管理的测试方式,甲方只需通过这个精准测试平台就能观察到整个程序的测试质量,让甲方在验收的同时多了一份公正的数据支持。

目前市面上的软件众测也是基于大量的测试人力,由于承接方的个人能力差距较大,因此各种BUG的描述、问题表达、以及测试的范围度,这些都无法进行考量与统一。而精准测试模式可通过追踪不同的测试人员运行的操作轨迹与运行结果,不仅可以合并计算出完整的测试覆盖率范围,也能直接表现出程序模块的热门度,它的优异功能大大解决测试人员因能力差异而提交或描述BUG困难的问题,这样甲方在众测试的环境下,也可以得到一份非常有力的原生态的数字化报告。

15.精准测试如何降低企业立测试团队的难度和成本

精准测试可以快速提高企业测试人员的管理、中后期的测试效率等,大大降低了企业测试团队成本。它通过一系列技术手段在不改变原有的测试流程的基础上,可以降低测试人员要求,并在中后期的测试效率上给予大幅度的帮助,这使得企业成本的核心公式计算中发生了转变。精准测试为企业带来的是明确的、数字化管理,而并不是基于团队模糊的经验判断。

精准测试的设计很大程度上是2014年南京软件测试大会上发布的穿线测试理念及产品的延伸。经过一年多的发展,精准测试也有了第一个达到商用标准的软件平台,即星云测试在线云测试平台。它是以精准测试为核心主导,虽然内部计算和逻辑非常复杂,但会以非常简洁的应用模式展现给用户。它可以在人工点测应用的过程中,产生被大量测应用执行逻辑的原生态数据,并且上传到云平台,通过云平台对这些数据的实时运算和分析, 输出一系列的指标,为被测试应用提供质量参考。简单的说,星云测试是一台X光扫描仪,为软件进行客观公正的全身扫描,断病诊症,给出详细的体检报告,为软件优化性能或漏洞修复提供操作指南。

星云测试目前对于个人测试开发者和开发工程师是免费的,可以登录www.teststars.cc,注册并申请开通,就可以在工作中实际体验精准测试技术了。

精准测试目前还属于全新的软件测试方法,其商业实现还仅有星云测试一个平台,相信随着未来企业对于效率、高质量的追求以及测试从业者职业发展的强烈需求,精准测试一定会成为软件测试领域的一颗明珠。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-29 01:58:46

15问答为专业测试人员揭开“精准测试”的面纱的相关文章

开发者测试(2)-采用精准测试工具对J2EE Guns开发框架进行测试

配置测试Guns Guns简介 Guns是一个近几年来基于SpringBoot的开源便利且较新的JavaEE项目开发框架,它整合了springmvc + shiro + mybatis-plus + beetl + flowable多项开源技术,致力于让Java后台开发更简洁快速 一,Guns的环境Guns 源码 Maven Eclipse-Photon JDK8 MySQL 安装环境 注:Eclipse和JDK的安装和安装包就用自己现有的就可以,星云测试将提供MySQL和Nodejs的安装包,

对于软件开发中开发人员与测试人员关系的理解

在软件开发中都会有开发人员(以下简称开发)和测试人员(以下简称测试),在一些小型公司可能并没有测试,仅仅是开发兼任测试.在这里我仅针对于有专业的测试和专业的开发的项目. 每个公司应该都有考核机制,对于开发和测试的考核实际上很难量化,通常来讲大的方向就是开发所负责模块的bug数,对于测试来讲就是测出来的bug数,但这真的有效吗?这也许对开发有约束力,理论上开发是能够自己控制bug数的,如果从产生的bug数来评判开发的绩效还算有效,这样开发自然就会把代码写得更加认真.但如果根据测试测出来的bug数来

开发人员与测试人员的那些事

关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多.而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同.显然,这不利于实现两者合作的目标——向用户提供价值.(推荐学习零基础学习软件测试基础篇) 下面我们来分析一下其中的原因: 史前时期 在最开始,不存在测试人员, 只有开发人员.软件开发人员和软件项目的其他人员比起来并没有特别大的不同.从经济角度考虑,专门成立测试人员是行不通的:开发软件的时间如此昂贵,为测试人员分配时间显得很浪费. 没有专门人员检查工作,软件开发人

测试人员的分工

最近看了点敏捷测试的东西,看得比较模糊.一方面是因为没有见真实的环境与流程,也许它跟本就没有固定的模式与流程,它就像告诉人们要“勇敢”“努力”.有的人在勇敢的面对生活,有些人在勇敢的挑战自我,有些人在勇敢的面对失败与挫折.好吧!他们都实现了“勇敢”,勇敢到底是如何去做,也许说不清楚.或者说每个人都有自己的实践方式.但是他们却同样靠着“勇敢”攻克不自己所面临的困难.当然了,敏捷并不是简单一个词语,经过前人的不探索与总结,还积累与总结相当多的经验可供我们借鉴与参考. 按照本文的主题还是来谈谈软件测试

精准测试白皮书-2019最新版

精准测试白皮书 精准测试诞生的背景 现代社会是建立在各种以计算机为基石的软件技术基础之上的.随着日新月异的需求变化,软件系统越来越复杂.很多人觉得软件开发才是重要环节,但实际上,无法对大型软件进行有效的质量把控,就无法真正构建与维护大型软件.--系统中任何一个错误都可能导致整个系统的崩溃,造成无法弥补的损失,系统的任何一个微小的修改都可能引入新的缺陷导致维护困难重重. 然而,如何从极端庞大复杂的系统中迅速及时地找到故障所在,却是行业的一大难点.目前国内软件测试基本处于两种状态:一是绝大多数企业采

精准测试与开源工具Jacoco的覆盖率能力大P

导读:本文根据实际使用情况,简要分析了精准测试和类Jacoco等传统白盒工具在设计理念.功能和应用场景的异同点,并阐述了覆盖率技术如何在新型企业开发体系中,发挥应有的重要作用. 覆盖率技术可以说是测试理论中最基本的技术体系,但由于传统覆盖率并没有很好的适应新型软件开发模型,导致应用场景越来越窄.比如:Jacoco等同类工具,仍停留在传统白盒覆盖技术的技术演化层面,目前基本仅适用在瀑布模式的开发体系下.最新的测试黑马技术-"精准测试"覆盖率功能是企业级.面向敏捷迭代场景.全新的覆盖率技术

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

随着国内大数据.云计算.人工智能等新技术的发展,银行业的前中后台正面临着全面改造,金融科技是业务转型发展的一个核心发力点.金融行业信息系统集中度高.规模庞大.多系统之间关联性强.业务复杂.需求变化快,另外各种新旧系统错综交互,软件质量控制难度异常复杂.通过技术手段精准地追溯每一个数据路线,有效实现信息系统的高可靠性和易维护性,是金融业界共同的目标. 一.传统测试的局限  目前,在大部分金融机构中,主流的功能测试方法是黑盒测试辅之以一定量的自动化测试.由于自动化测试用例的维护问题较多,黑盒手工(功

测试人员遇到不断变化的项目需求该如何应对?

需求频繁变更这个产生的主要原因是: 1.前期需求调研工作没有做到位,在需求调研时没有真正深入了解用户需要什么东西?用户做这个东西的目的是什么?为什么要这么做? 2.项目经理对项目掌控力度够,在项目的需求一定情况下,没有采用集中变更或者分阶段变更: 3.客户在最开始时自己也没搞清楚要做出什么样子?随着系统的成型上线,提出一些新想法等导致需求变更. 4.客户就是上帝,所以有些变更是必须的. 测试人员如何面对变更? 1. 协调制定变更规范,比如说每次需求人员都会发出变更邮件,这样可以作为开发人员和测试

测试人员的核心能力与素质

声明:该文不是我的原创作品,是我的同事魏增艺的大作,独家授权我来进行发表. 在<测试人员的角色>一文的最后,我们相信优秀的测试人员是项目的前灯,是整个研发系统的反馈回路.那么什么是优秀的测试人员呢?具体说来,具备哪些核心能力与素质的测试人员才能胜任这样的角色呢? 对于能力模型,例如常见的"冰山"模型."洋葱圈"模型等,都将一个人行事的内在动机或价值观等置于核心位置.同样,对于一个测试人员,我们并非看他在进行什么活动,而是要关注他为什么要进行这些活动.本文