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

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

 

精准测试是近年来行业内流行的新测试技术体系,它通过建立功能用例与代码的关系,使得计算机可以通过智能算法对测试进行深度的辅助分析和提效。精准测试可以轻松的对接原有的功能测试流程,最新的静默方式工作可以确保用户完全不用改变原有测试流程,强大又没有额外的运行成本,得到了广大企业的好评并逐步开始全面流行。

 

如果一个软件系统的行为总是与预期相一致,称之为可信(trustworthy),目前对于可信软件的测试主要集中在对其进行可靠性、可用性、可维护性、动态测试方法等。由于现在企业大多执行的是黑盒测试,软件无法保证逻辑测试的完整性,约有30%的潜在缺陷在黑盒测试方法下无法被实别,所以,非常遗憾很多企业测试不属于可信测试范畴。

 

首先软件测试本身的目标标的物是一个未知数,这和开发有着本质的区别。一个程序是否存在缺陷,存在多少缺陷,这些都是相对未知数。软件测试的工作有一个缺陷数量不相关原理,即:发现的缺陷多,并不说明剩下的缺陷就少;同样发现的缺陷少,并不说明剩下的缺陷多。这个缺陷数量不相关性,给我们实际测试带来最大的困惑就是:无法明确判断测试后的程序交付的质量,进而导致测试的成效处于一种不可信状态。

 

其次,不可信性来自于数据执行的不可追溯性。传统测试采用的测试管理系统类似于一种MIS系统,它只是在展示和分析人为填入的数据,测试是否真正被执行?测试是否充分?我们无从分辨。这个问题在这次“新型冠状肺炎”疫情爆发后显得格外明显,因为疫情原因,远程测试管理变得非常松散,测试的有效性成为一个很大的疑问。其实,这也是众包测试模式难以发展的最大瓶颈:发包方仅凭执行列表,完全无法识别真正被有效运行的功能,质量验收形同虚设。由于没有合理的考核办法,导致测试人员在企业内部的发展同样遭遇困境,经常容易被质疑并且很难和研发获得一样的待遇和地位。而个别团队却又把不可信性反过来当作挡箭牌来用,拒绝使用覆盖率等技术暴露工作的不足。

 

今天我们的主题是讲一下精准测试如何实现可信测试这个主题。

 

精准测试让功能用例和对应的代码之间实现了精准无误的追溯路线可视化,从技术底层解决了测试可信性的问题。星云测试“测试用例与源码的双向追溯技术”,如同全景调试器一样,记录了每个测试用例对应的程序内部的执行细节,细致到每个条件,分支,语句块的执行情况。它的所有测试数据均是在测试执行过程中,由软件自动分析并录入的底层代码运行原生数据。由于用例和执行代码之间信息被完整跟踪,并且细分到测试用例级别,因此整个测试数据都可以在代码层面可视化出来,人工无法介入修改。使每个业务功能与相应的源码如同“量子纠缠”一样具备强关联性。一个发生变化,另一个必定发生相应变化。它真实再现测试现场情况,从技术上确保所有数据精准无篡改,彻底解决了“黑盒”执行过程、质量度量和实效分析等难题。使测试的衡量点回归到计算机程序的本质-“代码”上来。

 

精准测试通过软件示波器采集数据,用例如何运行,就如何记录程序运行的路径信息,当用例没有被正确运行,或者没有被执行的情况下,示波器就不会采集和记录相关信息。所以星云精准测试在众包远程零监管的众测模式下,测试用例的有效性和被执行状态,很清晰地被记录下来。

测试覆盖率是测试界公认的最佳的是测试结项的可用指标。每一行代码或者分支跳转理论上都是在实现某些特定的业务功能,因为某些原因没有被覆盖到的部分是必定蕴含着风险的。在传统测试中,我们可以用人工确认的方式表达某个用例已经执行过,但在精准测试中,没有被执行的用例对应的代码覆盖就是0或者是异常的覆盖,这个信息是没有办法伪造的。这实际上已经解决了测试众包业务验收难的问题:测试用例设计能力如何、有没有被执行、执行结果如何、调整增补后的代码及用例的运行结果如何等,在各剖面报表上展示得非常清晰。

精准测试可以把每个测试用例进行量化分析和统计。在本次疫情中,大家都可以深刻的感受到由于因隔离而产生的团队人员变动,给项目造成巨大不确定因素。星云精准测试有一系列的算法,可以根据管理者对项目质量的要求,对验收指标进入深度回溯,快速定位BUG所牵涉到的业务逻辑、测试用例等要素,从而大大减小了人为影响。这些量化数据既可以用来对测试结果以及测试过程进行审核,也能帮助测试人员从数字化分析角度反观测试用例设计是否合理、执行的测试用例是否不足。极大弥补了由于测试人员自身的经验、能力、精神状况等因素,影响到的测试质量。管理者们也可以对症下药,拟定有针对性的学习计划、快速培养,使不同水准的梯队成员在有限的时间里,得到迅速提高。

精准测试的覆盖率每日增长趋势图,对于团队的质量控制和整体测试进度情况具有很好的指导意义。它能够让高级管理人员对测试进度进行预判,也能够对测试效率进行有效的识别,例如通过对覆盖率增长曲线的拟合,可判断按照目前进度能够在上线日期到达前能够一个合理的测试水准。星云精准测试从各个角度提供可信化的测试数据,使管理者有效地把控测试节奏,主动地进行测试策略的调整。对数字化管理进行有效的数据采集,企业可以很自然的实现分布式测试,不同区域、不同任务分配的测试人员可以实现协同测试与协同管理,最终达到多人同地测试、多人异地测试、数据实时汇总共享与追踪、测试过程与完成度有理有据、测试结果一目了然。

精准测试能自动识别测试设备、测试人员、测试用例等,并自动关联对应信息。在没有采用可信的精准测试之前,通常一个测试主管一般只能管理5名左右的测试工程师,管理人员需要投入大量的精力帮助测试人员审核用例,甚至监督用例的有效执行。应用星云精准测试以后,工作就简化了很多:每个项目的覆盖情况,每日增长情况都很直观,每位工程师的用例设计和执行的充分度也很清楚。项目管理者可以站在更高的角度,充分了解整个项目的资源使用、测试人员任务分配、测试进度等情况,并做数字化分析、管理和调度。因此精准测试非常适用于外包和众测领域,管理人员不用再特别花费时间去考核测试人员考勤、工作态度等主观因素,很容易看出不同团队、人员的业务水平。

 

精准测试可以基于可信的数据、依靠有效的算法计算出来的实施自动化回归测试。星云精准测试(www.teststars.cc)可以实现自动化的版本对比,分析出修改、增加、删除的代码以及这些代码相关联的测试用例,快速做测试用例回归测试、快速补充测试用例、删除无效测试用例。它大大减少了回归测试的时间、降低传统人工回归分析产生的测试盲点、精确计算回归用例的权重。测试人员在时间有限的情况下,可以重点回归受改动影响最大的用例,适应庞大的工程项目的快速版本迭代需求。

 

精准测试通过静态、动态指标的综合分析,快速筛选潜在的高危测试漏洞。测试人员可以通过星云精准测试漏洞分析,直接针对高危的核心模块功能与开发合作完成补充测试;也可以通过漏洞分析可视化的图形,检查出核心模块的测试遗漏点,进行测试用例补全,消除测试遗漏点与盲点。与此同时,亦可对无用的代码进行相应的注释与删除,提高软件的后期维护性,大大提高了废弃代码的排查率。

 

可信化的精准测试,解决了大量的传统测试的盲点与痛点。目前全行业都在逐步认识和推进精准测试,我们相信未来在新技术的推动下,注定会迎来远程松散式测试众包(外包)一个新的爆发点。这次疫情,让大家进一步深刻意识到,信息化让我们每个人都生活在软件的海洋里。疫情期间,大量用户涌入线上服务,让很多软件系统暴露了很多不足,在996和007的高密度的软件发布下,如果不配置上新型的智能化精准测试技术,如何有效支撑越来越复杂的软件应用的高可靠性和高可信化?

 

自然语言的沟通,应更多体现在人文关怀上,庞大的软件帝国没有高度智能可视的精准测试管控,快速预警那些隐蔽很深的缺陷,必定有一天会像突发而至的疫情一样兜头而下、措不及防。借用最近事故频发后反思而来的金句:对于故障,没有借口。我们应认真复盘改进发布验证流程,研发人员应该敬畏每一行代码,测试人员应该敬畏每一份托付。我们每一个人都在有形无形中,构建人类信息世界的命运共同体。

posted @ 2020-03-15 15:08  星云精准测试  阅读(162)  评论(0编辑  收藏  举报