【技术实现步骤摘要】
编译器测试方法、用例生成方法及装置、指令存储结构
[0001]本公开涉及计算机
,尤其涉及一种编译器的测试方法、用例生成方法方、装置、设备及存储介质、测试指令的存储结构。
技术介绍
[0002]编译器通常用于将程序由一种语言编译成另外一种语言,编译器编译结果的准确性是保证程序正常运行的前提。如果编译器的功能出现异常,不仅会使得程序得不到原本想要的运行结果,甚至还会对后续程序的debug产生误导。因而,在研发一种编译器后,有必要提供一种可以对该编译器进行测试的方案,以及时发现编译器存在的异常。
技术实现思路
[0003]本公开提供一种编译器的测试方法、用例生成方法、装置、设备及存储介质、测试指令的存储结构。
[0004]根据本公开实施例的第一方面,提供一种编译器的测试方法,所述方法包括:
[0005]基于指令数据库中存储的与测试指令相关的数据构建测试用例,以及所述测试用例对应的参考编译指令;
[0006]利用待测试的编译器编译所述测试用例,得到目标编译指令;
[0007]基于所述测试用例对应的参考编译指令与所述目标编译指令的比对结果,判定所述编译器是否存在异常。
[0008]在一些实施例中,所述测试用例包括功能性测试用例和/或稳定性测试用例,每个所述功能性测试用例包括单条测试指令,用于测试所述编译器的功能;每个所述稳定性测试用例由多条测试指令拼接得到,用于测试所述编译器的稳定性。
[0009]在一些实施例中,所述稳定性测试用例符合以下一种或多种条件: ...
【技术保护点】
【技术特征摘要】
1.一种编译器的测试方法,其特征在于,所述方法包括:基于指令数据库中存储的与测试指令相关的数据构建测试用例,以及所述测试用例对应的参考编译指令;利用待测试的编译器编译所述测试用例,得到目标编译指令;基于所述测试用例对应的参考编译指令与所述目标编译指令的比对结果,判定所述编译器是否存在异常。2.根据权利要求1所述的方法,其特征在于,所述测试用例包括功能性测试用例和/或稳定性测试用例,每个所述功能性测试用例包括单条测试指令,用于测试所述编译器的功能;每个所述稳定性测试用例由多条测试指令拼接得到,用于测试所述编译器的稳定性。3.根据权利要求2所述的方法,其特征在于,所述稳定性测试用例符合以下一种或多种条件:所述编译器编译所述稳定性测试用例的时长大于预设时长;所述稳定性测试用例中包括的测试指令数量大于预设数量;所述稳定性测试用例的数据量大于预设数据量。4.根据权利要求2或3所述的方法,其特征在于,所述测试用例包括功能性测试用例以及稳定性测试用例,基于所述测试用例对应的参考编译指令与所述目标编译指令的比对结果,判定所述编译器是否存在异常,包括:基于每个功能性测试用例对应的参考编译指令,与每个功能性测试用例对应的目标编译指令的比对结果,判定所述编译器的功能是否存在异常;在所述编译器的功能不存在异常的情况,基于所述稳定性测试用例对应的参考编译指令,与所述稳定性测试用例对应的目标编译指令的比对结果,判定所述编译器的稳定性是否存在异常。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,所述测试指令包括多个组成部分,所述与测试指令相关的数据包括任一组成部分对应的多条特征数据以及任一条特征数据对应的参考编译数据,任一个组成部分对应的特征数据与所述多个组成部分中除该任一个组成部分之外的其余组成部分对应的特征数据关联存储。6.根据权利要求5所述的方法,其特征在于,所述组成部分包括以下一种或多种:指令类型、控制域、指令地址,其中,所述控制域用于表示所述测试指令包括的控制操作。7.根据权利要求5或6所述的方法,其特征在于,所述测试用例包括用于测试所述编译器功能的多个功能性测试用例,基于指令数据库中存储的与测试指令相关的数据构建测试用例,以及所述测试用例对应的参考编译指令,包括:遍历所述多个组成部分对应的每条特征数据,针对任一所述组成部分对应的任一条目标特征数据,分别从所述多个组成部分中除该任一组成部分以外的其余组成部分中确定与所述目标特征数据关联存储的关联特征数据;基于所述目标特征数据和所述关联特征数据生成测试指令,基于所述目标特征数据对应的参考编译数据,以及所述关联特征数据对应的参考编译数据得到所述测试指令对应的参考编译指令;分别将生成的每个测试指令作为一个功能性测试用例,将每个测试指令对应的参考编译指令作为该功能性测试用例对应的参考编译指令。
8.根据权利要求5或6所述的方法,其特征在于,所述测试用例包括用于测试所述编译器稳定性的稳定性测试用例,基于指令数据库中存储的与测试指令相关的数据构建测试用例,以及所述测试用例对应的参考编译指令,包括:针对任一所述组成部分中的任一条目标特征数据,分别从所述多个组成部分中除该任一组成部分以外的其余组成部分中确定与所述目标特征数据关联存储的关联特征数据;基于所述目标特征数据和所述关联特征数据生成测试指令,基于所述目标特征数据对应的参考编译数据,以及所述关联特征数据对应的参考编译数据得到所述测试指令对应的参考编译指令;利用生成的多个测试指令拼接得到所述稳定性测试用例,利用所述多个测试指令对应的参考编译指令拼接得到所述稳定性测试用例对应的参考编译指令。9.根据权利要求6
‑
8任一项所述的方法,其特征在于,所述测...
【专利技术属性】
技术研发人员:苗瑞秋,侯化成,王野,徐宁仪,
申请(专利权)人:上海阵量智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。