-
公开(公告)号:CN119988237A
公开(公告)日:2025-05-13
申请号:CN202510457455.4
申请日:2025-04-14
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/3668
Abstract: 一种使用结构化种子用例引导的单元测试智能生成方法,属于软件测试技术领域,包括:解析被测函数,构建被测函数的上下文,并根据被测函数构建预设结构的种子用例;根据被测函数的上下文、代码块和种子用例构建提示词,将提示词输入大模型生成所述预设结构的测试用例,并将测试用例转化为预设标准的测试代码;执行所述测试代码,获得测试覆盖率,根据测试覆盖率情况确定优化需求。本发明通过分析被测函数接口数据,为被测函数构建一个结构化的种子用例,用于引导大模型生成结构化的测试用例,使用基于规则的方法将结构化的测试用例转为测试代码,解决了大模型直接生成测试代码出错概率高的问题,提高了大模型在单元测试中的表现能力。
-
公开(公告)号:CN111176994B
公开(公告)日:2023-03-31
申请号:CN201911349540.X
申请日:2019-12-24
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明实施例提供了一种针对嵌入式软件IO端口的单元测试用例生成方法及装置。所述方法包括:对待测试程序进行静态分析,获取所述待测试程序中的关键数据;启动基于解释器的符号执行引擎;在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域;采用所述符号执行引擎根据所述IO区域查询表、所述IO专用内存区域、IO端口输入映射到IO专用内存和所述关键数据,确定所述待测试程序对应的测试用例。本发明实施例能够自动识别IO端口,无需人工配置,生成用例效率提升,且解决了IO端口地址作为输入时生成的用例覆盖率低的问题。
-
公开(公告)号:CN114896145A
公开(公告)日:2022-08-12
申请号:CN202210453325.X
申请日:2022-04-27
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 一种用于符号执行的复杂类型输入变量懒符号化方法及系统,包括生成输入驱动文件,通过入口函数指定输入变量和驱动被测函数;分配符号内存;当执行到一条语句时,解释执行和符号执行分别对同一地址上的实际值和符号值进行操作;在执行过程中对内存地址访问时,解释执行直接读写实际值映射表内容;符号执行先检查符号值映射表中该地址上是否存在符号值,存在则直接读写;不存在则创建一个新符号值,符号值映射表中新增一条地址与符号值的映射,再进行正常读写;一次符号执行结束后对收集的约束取反以及求解,最终得到表达式与值的映射关系,生成用例数据文件。本发明针对复杂类型的输入变量,采用懒符号化策略,提升用例的生成速度和降低内存开销。
-
公开(公告)号:CN114817045B
公开(公告)日:2024-10-25
申请号:CN202210472030.7
申请日:2022-04-29
Applicant: 北京轩宇信息技术有限公司
Abstract: 本发明涉及一种高效的源代码覆盖率确定方法及系统。该方法在插桩时计算出MC/DC真值表,利用位向量压缩真值表并在采集过程中实时计算真值表覆盖情况,具有精度高、膨胀率低和执行速度快的优点。同时,该方法无需额外的辅助插桩点,也无需频繁I/O和输出大量信息,产生的数据量与现有的执行标记方式相当,从而实现了低膨胀率和快速的精确覆盖率分析。
-
公开(公告)号:CN115658507A
公开(公告)日:2023-01-31
申请号:CN202211323818.8
申请日:2022-10-28
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明公开了针对实时嵌入式软件源代码覆盖率分析系统,包括CPU指令集模拟器模块,所述CPU指令集模拟器模块包括包括插桩模块、编译模块、目标码符号分析模块、配置文件生成模块、配置接口模块、指令执行模块、时钟计时和维护模块、函数检查模块、函数调用栈维护模块、覆盖率收集模块、覆盖率分析模块、覆盖率展示模块和报告生成模块,本发明在维持插桩方式不变的情况下,利用指令集模拟器执行实时嵌入式软件目标程序,在执行探针代码时钟暂停计时,使得插桩后代码执行的时钟周期与非插桩的一致,结合高效的源代码插桩和分析方法,该发明的系统具有膨胀率低、保证实时性的优点,同时提升了该系统的执行速度。
-
公开(公告)号:CN114817045A
公开(公告)日:2022-07-29
申请号:CN202210472030.7
申请日:2022-04-29
Applicant: 北京轩宇信息技术有限公司
Abstract: 本发明涉及一种高效的源代码覆盖率确定方法及系统。该方法在插桩时计算出MC/DC真值表,利用位向量压缩真值表并在采集过程中实时计算真值表覆盖情况,具有精度高、膨胀率低和执行速度快的优点。同时,该方法无需额外的辅助插桩点,也无需频繁I/O和输出大量信息,产生的数据量与现有的执行标记方式相当,从而实现了低膨胀率和快速的精确覆盖率分析。
-
公开(公告)号:CN111176994A
公开(公告)日:2020-05-19
申请号:CN201911349540.X
申请日:2019-12-24
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本发明实施例提供了一种针对嵌入式软件IO端口的单元测试用例生成方法及装置。所述方法包括:对待测试程序进行静态分析,获取所述待测试程序中的关键数据;启动基于解释器的符号执行引擎;在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域;采用所述符号执行引擎根据所述IO区域查询表、所述IO专用内存区域、IO端口输入映射到IO专用内存和所述关键数据,确定所述待测试程序对应的测试用例。本发明实施例能够自动识别IO端口,无需人工配置,生成用例效率提升,且解决了IO端口地址作为输入时生成的用例覆盖率低的问题。
-
公开(公告)号:CN114896145B
公开(公告)日:2024-09-20
申请号:CN202210453325.X
申请日:2022-04-27
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 一种用于符号执行的复杂类型输入变量懒符号化方法及系统,包括生成输入驱动文件,通过入口函数指定输入变量和驱动被测函数;分配符号内存;当执行到一条语句时,解释执行和符号执行分别对同一地址上的实际值和符号值进行操作;在执行过程中对内存地址访问时,解释执行直接读写实际值映射表内容;符号执行先检查符号值映射表中该地址上是否存在符号值,存在则直接读写;不存在则创建一个新符号值,符号值映射表中新增一条地址与符号值的映射,再进行正常读写;一次符号执行结束后对收集的约束取反以及求解,最终得到表达式与值的映射关系,生成用例数据文件。本发明针对复杂类型的输入变量,采用懒符号化策略,提升用例的生成速度和降低内存开销。
-
公开(公告)号:CN118331857A
公开(公告)日:2024-07-12
申请号:CN202410368374.2
申请日:2024-03-28
Applicant: 北京轩宇信息技术有限公司
Abstract: 一种覆盖率驱动的测试用例自动生成方法,对被测程序进行静态分析记录程序中的所有分支集合以及每个循环体对应的内部分支集合;创建初始的程序执行路径,根据路径搜索策略确定当前执行路径;对当前执行路径中pc指向的语句进行符号执行,在符号执行过程中干预循环执行,裁剪大量由循环语句衍生出的冗余路径;将路径中已覆盖的所有分支记录到全局已覆盖分支中并进行约束求解,求解结果即为该路径对应的用例并输出;在确认分支全部覆盖后结束迭代,生成测试用例集合。本发明在有限的资源下提升单元测试的覆盖率,同时提升自动生成测试用例的效率及有效性。
-
公开(公告)号:CN112783765B
公开(公告)日:2024-02-09
申请号:CN202110043899.5
申请日:2021-01-13
Applicant: 北京轩宇信息技术有限公司
IPC: G06F11/36
Abstract: 本申请公开了一种适用于指针的单元测试用例生成方法及装置,该方法包括:对预设被测程序进行静态分析确定输入元素中的成员类型,根据成员类型判断输入元素是否为void*或含void*成员的结构体;若是void*或含void*成员的结构体,则确定void*或void*成员指向的实际类型以及根据实际类型生成输入驱动文件;判断实际类型是否为结构体类型且结构体类型中的结构体是否包含指向动态堆数据结构的成员;若是结构体类型且结构体类型中的结构体包含指向动态堆数据结构的成员,则设置指针或结构体展开层次,并根据展开层次生成配置文件,根据驱动文件以及配置文件自动生成测试用例。本申请解决了现有技术中生成的测试用例覆盖率较
-
-
-
-
-
-
-
-
-