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

发表于:2015-9-21 13:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小哥    来源:51Testing软件测试网采编

  什么是精准测试软件测试是否必要达到精准?精准的同时是否提高了测试成本?精准测试对于普通测试工程师乃至测试行业会有怎样的影响?让我们带着这一系列的问题来关注精准测试的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光扫描仪,为软件进行客观公正的全身扫描,断病诊症,给出详细的体检报告,为软件优化性能或漏洞修复提供操作指南。
  精准测试目前还属于全新的软件测试方法,相信随着未来企业对于效率、高质量的追求以及测试从业者职业发展的强烈需求,精准测试一定会成为软件测试领域的一颗明珠。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号