写点什么

测试人社区软件测试技术沙龙,基于代码链路分析的白盒精准测试方案

作者:测试人
  • 2023-03-19
    北京
  • 本文字数:1875 字

    阅读完需:约 6 分钟

欢迎领取测试人社区技术沙龙课程包:沙龙回放、精准测试入门课及质量保证PPT

3 月 12 日,测试人社区成功举办了一场软件测试领域相关的技术沙龙圆桌会,其中 Thomas 老师分享了基于代码链路分析的白盒精准测试方案的 Topic 深受大家的关注和认可。 在这篇文章中,我们将对本次 Topic 进行回顾。

首先,Thomas 老师带领大家分析了传统测试存在的痛点,其中之一就是在复杂的系统中,测试或开发很难快速了解一个方法或一行代码的影响范围。

在当前微服务架构体系下,软件系统复杂度越来越高,测试迎来了更大的挑战。应对这个挑战,通常会从以下三个方面去解决:人、流程、自动化

  • 传统的手工测试方式测试效率低下、成本高昂,测试结果也无法准确衡量。

  • 单纯依靠测试流程,虽然可以避免一些低级错误,但对线上质量的提升作用有限。

  • 自动化测试具有更高的效率和准确性,但是无法完全覆盖所有测试场景,需要考虑自动化测试的 ROI。

因此,在实际测试工作中,需要根据实际情况选择合适的测试方法和工具,同时注重测试流程的优化和自动化程度的提高,以提高测试效率和测试质量

其次,Thomas 老师向大家介绍了精准测试的核心思想:追溯。该思想包含两个环节:正向追溯和逆向追溯。

  • 正向追溯建立了从测试用例到代码的关联关系,通过测试覆盖率统计,为用例设计、用例执行效果提供了准确的度量。

  • 逆向追溯则建立了从代码到测试用例的关联关系,指导新增改动的用例设计和回归用例的选取范围,极大地减少了回归测试的工作量和盲目性,达到测试覆盖率最大化的目的。

然后,Thomas 老师结合自己的实战经验,为大家分享了精准测试的三个核心能力:精准评估、精准推荐和精准度量

  • 精准评估是一种用于分析影响面和测试用例的方法。在研发提测了功能后,我们可以使用精准评估来确定该功能的影响范围和需要执行的测试用例。

  • 精准推荐是一种基于链路分析的技术。在精准评估中,底层依赖的是代码链路分析,而在精准推荐中,底层依赖的是追溯关系。在得到基于评估的影响面之后,我们可以通过正向追溯来推荐适合回归的用例集合。这些用例集合是通过分析代码的依赖关系来识别出与待测代码最相关的测试用例。

  • 精准度量是一种衡量精准推荐效果的方法。在执行推荐的用例集合(包括手工用例和自动化用例)之后,我们可以通过测量测试覆盖率来评估测试效果。通常情况下,我们将增量的覆盖率基线定义为 80%以上。这意味着,推荐的用例集合需要覆盖被测试软件的 80%以上的功能和需求,才能够被认为是有效的测试用例集合。

此外,Thomas 老师还分享了工作中用到的精准测试技术方案。整个精准测试的核心技术方案,需要将几个核心的能力进行串联。如下图所示,首先从代码 MR 开始,到 Code Diff代码链路分析, 再到 Diff 影响面,就是代码链路分析的精准评估能力。



精准测试的核心技术方案分三部分,第一部分是代码链路分析,第二部分是用例和代码的追溯关系,第三部分是覆盖率

首先第一部分是代码链路分析,通过对代码的静态分析和动态跟踪,建立代码之间的关联关系。第二部分是用例和代码的追溯关系,通过正向追溯和逆向追溯建立用例与代码之间的关联,为用例的设计和回归提供指导。第三部分是覆盖率,通过对用例执行后的代码覆盖率进行度量和分析,提供精准的测试结果。

最后在介绍精准测试平台设计方案时,Thomas 老师提到了精准测试全流程,该流程包括开始、链路分析、用例集推荐、用例执行完成、覆盖率分析和完成等步骤。 通过这些步骤,精准测试可以为业务带来多种收益。

首先,精准测试可以快速定位问题,使得开发人员能够及时处理和修复错误。其次,精准测试能够提高测试效率 ,减少测试周期和测试成本。 同时,通过测试结果的反馈,精准测试还能够帮助业务质量得到进一步的改进。最后,通过精准测试的数据分析,测试团队可以对测试质量进行度量和评估。

为了更好地实现智能化的精准测试,我们可以从多个方面进行增强。首先,可以通过链路分析和追溯关系,快速发现系统中的潜在问题和缺陷。其次,可以优化覆盖率分析,对测试用例的有效性进行评估,提高测试用例的质量。此外,测试用例管理和数据库操作关联也是精准测试智能化的重要方面。通过对这些方面进行增强,可以使得精准测试更加高效和智能化。

综上所述,精准测试是一种基于代码链路分析的白盒测试方法,其核心能力包含精准的评估、精准的推荐和精准的度量。 通过对代码依赖关系和数据流动路径的分析,精准测试能够快速准确地定位代码变更的影响范围,并生成相应的测试用例。在 Thomas 老师的分享和与会者之间的交流中,大家都对精准测试有了更深入的认识和理解。

欢迎领取测试人社区技术沙龙课程包:沙龙回放、精准测试入门课及质量保证PPT

发布于: 刚刚阅读数: 6
用户头像

测试人

关注

专注于软件测试开发 2022-08-29 加入

霍格沃兹测试开发学社,测试人社区:https://ceshiren.com/t/topic/22284

评论

发布
暂无评论
测试人社区软件测试技术沙龙,基于代码链路分析的白盒精准测试方案_软件测试_测试人_InfoQ写作社区