首页 > 其他分享 >精准测试实践-测试范围分析| 京东云技术团队

精准测试实践-测试范围分析| 京东云技术团队

时间:2024-05-14 15:57:38浏览次数:26  
标签:分析 调用 字节 代码 测试 京东 方法 精准

一、背景

需求迭代过程中产研漏评估业务影响点是bug漏到生产环境的主要原因之一。减少漏评估问题的发生是提升交付质量的重要方向,精准测试是除依赖产研人员能力及经验外的另一种分析业务影响点的方式。

二、实践方案

1.方案简介

下面介绍针对java单应用的代码改动影响自动分析方案。

1)原理介绍

基于代码依赖关系分析改动的代码影响到哪些入口代码(接口、消息、任务等入口方法)。

举例,如下图,假设某应用改动了底层方法1,则基于代码间调用关系可以分析出方法a、b、z为被方法1影响的该应用最外层入口方法。

 


 

2)实施流程介绍

 


 

代码依赖分析方案详细介绍:

a.基于asm框架对java字节码文件进行解析,可解析出代码间调用关系。

举例,下图为字节码文件部分内容的截图,方法中的invokexxx指令为字节码中调用方法的指令,用asm字节码分析框架,可分析出如在methodA中调用了methodB。

 


 

b.以提测分支与master分支含diff的方法作为查询对象,结合方法间调用关系数据,可查出某方法影响到哪些入口方法

三、实践效果

结合coding的webhooks,实现代码提测后自动获取代码diff及其影响代码的自动分析。

 


 

四、未来规划

基于分析出的影响接口、消息入口信息,结合对应接口的测试用例,可以进一步实现测试用例的推荐与自动运行,及结合代码覆盖率分析能力自动给出测试覆盖率报告。

 

 

作者:京东科技 吕俊

来源:京东云开发者社区

标签:分析,调用,字节,代码,测试,京东,方法,精准
From: https://www.cnblogs.com/Jcloud/p/18191479

相关文章

  • Rust数据驱动-参数化测试
    需求假如有以下测试用例,同样的逻辑,我们需要测试多组数据。modtests{#[test]fntest_add(){leta=1;letb=2;assert_eq!(a+b,3);}}一般情况下我们不在用例中使用for循环(即subtests子测试模式)来验证多组数据。modtest......
  • 自动生成测试数据
    AutoFixtureAutoFixture是一个用于.NET的测试工具,它允许开发者在单元测试中自动生成随机的测试数据。它支持广泛的数据类型,包括常见的基元类型、复杂对象、集合等。AutoFixture通过使用继承、接口、属性和构造函数等机制来推断如何创建复杂的对象。安装:Install-PackageAut......
  • 单元测试
    实验项目名称:实验四单元测试2          一、 实验目的1、 掌握单元测试技术,并按单元测试的要求设计测试用例。 2、 掌握一种单元测试工具的使用。二、 实验内容自行学习C#或python或C++的其中一种单元测试工具的使用,自选一段单元代码(不少于15行),进行测试。完......
  • java测试-Xpath定位
     Xpath定位调式方法console方式:$x("xpath表达式")xpath基础语法1、/从该节点的子元素选取2、//从该节点的子孙元素选取$x('//*')匹配所有3、*通配符查找所有4、nodename标签名(不是属性)$x('//input')5、..当前节点的父节点$x("//*[@id='ember61'......
  • 软件评测师笔记08--测试用例设计
    决策表(判定表)测试用例设计步骤1、依据软件规格说明:确定规则个数2、列出所有的条件项和动作桩3、输入条件项4、输入动作项,制定初始判定表5、合并相似规则   场景法设计测试用例步骤1、根据规格说明,描述出程序的基本流及各项备选流2、根据基本流和备选流确定场景3、......
  • WEB自动化测试-CSS定位
    CSS相对定位:1、可维护性更强2、语法更加简洁3、可以解决复杂定位场景调试方法:1、进行浏览器的console:2、输入:$(""),输入内有字符串和外层字符串相反,外单内双,外双内单CSS基础语法4方式1、id:$("#site-logo")格式:$("#+id")2、class:(".logo-big")格式:$("......
  • 使用 Playwright 复用 Cookie:简化自动化测试的高效方法
    前言在进行自动化测试时,有时需要在多个测试用例之间共享相同的会话状态。为了实现这一目标,Playwright提供了一种称为Cookie复用的功能,可以让我们在不同的测试用例之间共享同一组Cookie数据。本文将深入介绍如何使用Playwright复用Cookie,并探讨其使用方法和优势。什么是......
  • 模拟手机设备:使用 Playwright 实现移动端自动化测试
    前言在今天的Web开发中,移动设备已经成为用户访问网站的主要方式之一。因此,确保网站在移动设备上的正确显示和功能正常运行至关重要。Playwright是一个强大的自动化测试工具,可以帮助开发人员模拟各种移动设备,并进行自动化测试。本文将深入介绍如何使用Python编写代码来模拟......
  • 使用 Playwright 脚本录制简化自动化测试:完全指南
    前言自动化测试是软件开发中的重要环节,它可以提高测试效率和代码质量。然而,编写自动化测试脚本可能需要花费大量时间和精力。为了简化这一过程,Playwright提供了一个强大的功能,称为脚本录制,它可以帮助开发人员通过交互式操作自动生成测试脚本。本文将深入介绍如何使用Playwrigh......
  • 精准记录:使用 Playwright 实现屏幕截图
    前言在软件开发和测试中,屏幕截图是一种常用的工具,用于记录应用程序的状态、错误信息等。Playwright提供了一种简单而强大的方式来实现屏幕截图,帮助开发人员和测试人员轻松捕获和分析应用程序的界面。本文将介绍如何使用Playwright实现屏幕截图。screenshot截图在Playwrig......