第一次听到精准测试是在几年前了,那一瞬间就对这个流派充满了好奇和探索的欲望,最近几年逐渐得到了各领域各行业中测试人员的广泛关注,那么问题来了:
常规的测试类型包括功能测试、回归测试、自动化测试、接口测试等,非常依赖于测试人员的测试经验,基于人工主观分析的黑盒测试,借助常规的用例设计方法来确保产品质量。
根据收益递减规律,虽然大量的人力投入,不断的执行测试,但是漏测率还是居高不下。中间的无效测试和重复测试也浪费了大量的测试成本。
怎么样判定测试完成,怎么样判定测的怎么样?质量控制贯穿于整个质量保障流程。
上述步骤完成意味着我们的产品质量是合格的吗?
上线之后的非一致性成本逐渐增高,测试过程没有数据量化的评定,无法衡量,只能依赖线上缺陷率,线下缺陷数,千行缺陷率等比较飘的指标来评定,测试管理难度大。
基于上述痛点,我们期望从以下方面解决:
**精准测试是一套计算机测试辅助分析系统。**使用用例和代码两个关键因子,进行质量综合考量和分析的创新测试理论方法体系,核心组件包含软件测试示波器、用例和代码的双向追溯、智能回归测试用例选取、覆盖率分析、缺陷定位、测试用例聚类分析、测试用例自动生成系统,这些功能完整的构成了精准测试技术体系,大大增强了测试的深度与广度,打破了测试部门的成长天花板,为测试过程本身的价值挖掘和测试数据资产的增值,提供了必要而充分的条件。
通过系统采集程序代码执行逻辑,建立测试用例与程序代码之间的逻辑关系,形成正向和逆向的双向追溯机制,实现了精准无误的数据可视化。
精准的数据来判定,所有数据由系统自动、原生录入,数据不可篡改,产生测试数据可直接用于测试的过程管理和实效分析。支持测试数据的精准度量以及全面的、多维度的测试分析算法,将白盒测试的视角从覆盖率扩展到智能测试分析。
基于用例和代码的追溯关系在进行运算之后全自动得出的。用例和代码精准的追溯机制,使数据开始可以实施大量的智能测试算法。
精准测试的核心特性之一是双向追溯,前提是基于变更代码的双向追溯,因此变更的代码是整个系统最重要的一个输入。
关键代码:
到此,关键的一步受影响的接口已经获得,有了上述的能力,我们可以知道通过哪些接口可以去测试这次改动的代码,但是面对大量的接口列表,相信大部分测试人员是一脸懵逼的。
价值:
方案:
增量覆盖率的设计方案这里不过多介绍,请自行查阅相关资料,归纳成以下几点:
如何避免一次测试过程中,服务多次重启和部署,导致覆盖率丢失,有几种解决方案:
整体框架:
覆盖率曲线示波器:
覆盖率详情:
**智能推荐算法:**算法是什么?我们可以把它简化为一个函数。函数接受若干个参数,输出一个返回值。
输入参数是线上监控,覆盖率和自动化覆盖的各种属性和特征,包括调用频次,时间分段,行业,覆盖率,是否有自动化,发布时间等等。经过推荐算法处理后,返回一个按照重要度,紧迫度排序的推荐用例列表。
业内常用的几种推荐算法如下:
此外,通过筛选自动化用例可以得到哪些接口没有被自动化,反哺到自动化平台用例的补充,以完善自动化接口覆盖率,流程上形成闭环。
接口变更兼容性校验:
我们还可以做接口参数变更兼容性验证,测试过程中通过研发效能平台持续集成触发检测,挑选出接口兼容性可能存在问题的接口,邮件通知到测试人员。
传统软件测试过程中,缺陷由测试人员录入到缺陷管理平台,只负责发现缺陷。开发人员针对这些缺陷进行定位、排查和远程调试,如果测试人员提交的缺陷是比较模糊的功能描述,那么开发人员将会花费大量的时间去排查问题。
通过精准测试平台,对于执行失败或者不通过的用例,根据用例执行详细的路径追溯信息,自动分析缺陷产生的代码块,给出缺陷产生的可疑代码排名。
参考实际的缺陷定位手法,实现把抽象的定位思路转变成直观的可视化图形界面。
通过对测试人员测试执行和代码的路径追溯信息,进行聚类分析:
客观的呈现每个测试人员的测试思路和能力曲线,比如测试是否充分的功能用圆形来展现,越充分直径越大,习惯聚焦的功能点用距离来展现,越聚焦距离该功能越近等。
精准测试是一个完整的质量体系架构,传统的黑盒测试与白盒测试相结合的模式,通过不断的对人的行为的分析得出不足点和漏洞点,引导开发和测试有针对性的改正纠偏,逐步的完善整个质量保障体系。
更多相关技术内容欢迎关注 网易智企技术+ 公众号。