疫情之下,精准测试的智能可信模式正在成为中流砥柱

发表于:2022-3-02 09:11

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

 作者:传说三哥    来源:知乎

  精准测试是近年来行业内流行的新测试技术体系,它通过建立功能用例与代码的关系,使得计算机可以通过智能算法对测试进行深度的辅助分析和提效。精准测试可以轻松的对接原有的功能测试流程,最新的静默方式工作可以确保用户完全不用改变原有测试流程,强大又没有额外的运行成本,得到了广大企业的好评并逐步开始全面流行。
  如果一个软件系统的行为总是与预期相一致,称之为可信(trustworthy),目前对于可信软件的测试主要集中在对其进行可靠性、可用性、可维护性、动态测试方法等。由于现在企业大多执行的是黑盒测试,软件无法保证逻辑测试的完整性,约有30%的潜在缺陷在黑盒测试方法下无法被实别,所以,非常遗憾很多企业测试不属于可信测试范畴。
  首先软件测试本身的目标标的物是一个未知数,这和开发有着本质的区别。一个程序是否存在缺陷,存在多少缺陷,这些都是相对未知数。软件测试的工作有一个缺陷数量不相关原理,即:发现的缺陷多,并不说明剩下的缺陷就少;同样发现的缺陷少,并不说明剩下的缺陷多。这个缺陷数量不相关性,给我们实际测试带来最大的困惑就是:无法明确判断测试后的程序交付的质量,进而导致测试的成效处于一种不可信状态。
  其次,不可信性来自于数据执行的不可追溯性。传统测试采用的测试管理系统类似于一种MIS系统,它只是在展示和分析人为填入的数据,测试是否真正被执行?测试是否充分?我们无从分辨。这个问题在这次“新型冠状肺炎”疫情爆发后显得格外明显,因为疫情原因,远程测试管理变得非常松散,测试的有效性成为一个很大的疑问。其实,这也是众多测试模式难以发展的最大瓶颈:发包方仅凭执行列表,完全无法识别真正被有效运行的功能,质量验收形同虚设。由于没有合理的考核办法,导致测试人员在企业内部的发展同样遭遇困境,经常容易被质疑并且很难和研发获得一样的待遇和地位。而个别团队却又把不可信性反过来当作挡箭牌来用,拒绝使用覆盖率等技术暴露工作的不足。
  今天我们的主题是讲一下精准测试如何实现可信测试这个主题。
  精准测试让功能用例和对应的代码之间实现了精准无误的追溯路线可视化,从技术底层解决了测试可信性的问题。测试用例与源码的双向追溯技术”,如同全景调试器一样,记录了每个测试用例对应的程序内部的执行细节,细致到每个条件,分支,语句块的执行情况。它的所有测试数据均是在测试执行过程中,由软件自动分析并录入的底层代码运行原生数据。由于用例和执行代码之间信息被完整跟踪,并且细分到测试用例级别,因此整个测试数据都可以在代码层面可视化出来,人工无法介入修改。使每个业务功能与相应的源码如同“量子纠缠”一样具备强关联性。一个发生变化,另一个必定发生相应变化。它真实再现测试现场情况,从技术上确保所有数据精准无篡改,彻底解决了“黑盒”执行过程、质量度量和实效分析等难题。使测试的衡量点回归到计算机程序的本质-“代码”上来。
  精准测试通过软件示波器采集数据,用例如何运行,就如何记录程序运行的路径信息,当用例没有被正确运行,或者没有被执行的情况下,示波器就不会采集和记录相关信息。所以精准测试在众包远程零监管的众测模式下,测试用例的有效性和被执行状态,很清晰地被记录下来。
  测试覆盖率是测试界公认的最佳的是测试结项的可用指标。每一行代码或者分支跳转理论上都是在实现某些特定的业务功能,因为某些原因没有被覆盖到的部分是必定蕴含着风险的。在传统测试中,我们可以用人工确认的方式表达某个用例已经执行过,但在精准测试中,没有被执行的用例对应的代码覆盖就是0或者是异常的覆盖,这个信息是没有办法伪造的。这实际上已经解决了测试众包业务验收难的问题:测试用例设计能力如何、有没有被执行、执行结果如何、调整增补后的代码及用例的运行结果如何等,在各剖面报表上展示得非常清晰。
  精准测试可以把每个测试用例进行量化分析和统计。在本次疫情中,大家都可以深刻的感受到由于因隔离而产生的团队人员变动,给项目造成巨大不确定因素。精准测试有一系列的算法,可以根据管理者对项目质量的要求,对验收指标进入深度回溯,快速定位BUG所牵涉到的业务逻辑、测试用例等要素,从而大大减小了人为影响。这些量化数据既可以用来对测试结果以及测试过程进行审核,也能帮助测试人员从数字化分析角度反观测试用例设计是否合理、执行的测试用例是否不足。极大弥补了由于测试人员自身的经验、能力、精神状况等因素,影响到的测试质量。管理者们也可以对症下药,拟定有针对性的学习计划、快速培养,使不同水准的梯队成员在有限的时间里,得到迅速提高。
  精准测试的覆盖率每日增长趋势图,对于团队的质量控制和整体测试进度情况具有很好的指导意义。它能够让高级管理人员对测试进度进行预判,也能够对测试效率进行有效的识别,例如通过对覆盖率增长曲线的拟合,可判断按照目前进度能够在上线日期到达前能够一个合理的测试水准。精准测试从各个角度提供可信化的测试数据,使管理者有效地把控测试节奏,主动地进行测试策略的调整。对数字化管理进行有效的数据采集,企业可以很自然的实现分布式测试,不同区域、不同任务分配的测试人员可以实现协同测试与协同管理,最终达到多人同地测试、多人异地测试、数据实时汇总共享与追踪、测试过程与完成度有理有据、测试结果一目了然。
  精准测试能自动识别测试设备、测试人员、测试用例等,并自动关联对应信息。在没有采用可信的精准测试之前,通常一个测试主管一般只能管理5名左右的测试工程师,管理人员需要投入大量的精力帮助测试人员审核用例,甚至监督用例的有效执行。应用精准测试以后,工作就简化了很多:每个项目的覆盖情况,每日增长情况都很直观,每位工程师的用例设计和执行的充分度也很清楚。项目管理者可以站在更高的角度,充分了解整个项目的资源使用、测试人员任务分配、测试进度等情况,并做数字化分析、管理和调度。因此精准测试非常适用于外包和众测领域,管理人员不用再特别花费时间去考核测试人员考勤、工作态度等主观因素,很容易看出不同团队、人员的业务水平。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号