CN109002391A - 自动检测嵌入式软件接口测试数据的方法 - Google Patents
自动检测嵌入式软件接口测试数据的方法 Download PDFInfo
- Publication number
- CN109002391A CN109002391A CN201810683124.2A CN201810683124A CN109002391A CN 109002391 A CN109002391 A CN 109002391A CN 201810683124 A CN201810683124 A CN 201810683124A CN 109002391 A CN109002391 A CN 109002391A
- Authority
- CN
- China
- Prior art keywords
- interface
- data
- rule
- inspection
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明提出一种自动检测嵌入式软件接口测试数据的方法,旨在提供一种适用于接口测试不同阶段,自动化接口测试数据完整性、充分性、有效性的检查方法。本发明通过下述技术方案予以实现:基于接口测试用例设计方法、接口关系、接口特性、知识经验建立规则检查模型,基于接口测试数据完整性、设计颗粒度、有效性、等价类比、接口消息处理流程建立接口测试数据度量模型;通过设置接口数据格式、约束关系及UML顺序图完成接口格式设置;通过选择规则及度量指标、配置用例和/或数据模板完成检查规则配置;通过导入接口测试用例或数据自动完成接口测试数据的分析与检查;通过检查报告查看接口测试数据度量结果、遗漏情况及建议报告。
Description
技术领域
本发明涉及计算机信息处理技术领域嵌入式软件接口测试技术,尤其是涉及一种基于规则的自动检测嵌入式软件接口测试数据的方法。
背景技术
随着计算机硬件和软件技术的飞速发展,嵌入式系统的硬件规模和性能得到了极大的提高,嵌入式系统、嵌入式软件对可靠性的要求也越来越高。系统安全性的失效可能会导致灾难性的后果,即使是非安全性系统也会导致严重的经济损失。嵌入式系统具有实时性强,存储、计算等资源有限,与硬件紧密相关等特点,嵌入式系统的特殊性决定了运行在其上的系统和应用软件必须精简高效,稳定可靠,使得软件的开发在整个嵌入式系统开发中的比重越来越高,软件的质量对整个产品的质量起到了决定性的作用。嵌入式系统接口是嵌入式软件与外部设备和环境进行数据交换的桥梁,是系统对外体现功能和性能的关键部件。常见的嵌入式系统接口包括RS422、RS232、RS485、ARINC429、1553B、DI、DO、AI、AO、FC、AFDX、1394B等,嵌入式软件功能的实现通过交联接口获取接口消息(命令或数据)进行处理后再通过规定的接口将处理后的结果发送给外部设备或环境,即通过交联接口完成与其它系统或设备的数据交互从而实现系统的完整功能。因此,接口消息的实现是整个系统功能实现的基础也是整个系统运行的保障。
软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试是软件质量保证的关键步骤,也是软件生命周期的重要环节。嵌入式软件测试是一项任务艰巨过程复杂的过程,对测试人员的要求也比较高。嵌入式系统接口是被测试软件与外部设备和环境进行数据交换的桥梁,是系统对外体现功能和性能的关键部件,嵌入式软件接口测试通常侧重2个方面:输入输出接口消息是否覆盖完整,即是否对所有的输入输出接口都设计了测试用例;输入输出接口消息测试数据设计是否充分,即是否对所有的接口消息进行了正常、异常、边界等分析和设计。
随着嵌入式系统的发展,嵌入式软件的复杂程度越来越高,接口种类越来越多,接口数据也越来越复杂,嵌入式软件的测试特别是接口测试正面临前所未有的挑战。接口测试涉及所有外部输入及输出接口,包含的接口数据根据系统复杂程度可能几十条也可能上万条,接口测试是否完备直接影响了软件测试的质量乃至嵌入式系统的质量。接口测试不同于其他测试类型的特点之一就是输入输出均是接口数据,接口数据不仅便于采集,更便于对数据进行统计、检查、分析。当前的接口测试数据生成采用人工方式或自动方式进行,但接口测试数据检查主要采用人工的方式进行,自动化程度低,检查效率低,人员工作强度大且过程不规范,检查结果受主观因素影响大,无法有效的对接口测试数据进行统计、检查和分析。当前接口测试数据检查主要存在以下问题:
1)接口测试数据检查受项目进度、成本等影响,往往采用评审或抽查的方式进行检查,无法全面、有效的对接口测试数据进行全面检查和评估。
2)面对复杂的嵌入式系统涉及上千条接口数据时,依靠人工的方式根本无法对接口数据进行检查。
3)接口测试数据检查受检查人员背景、知识、经验等影响,检查结果往往因人而异,缺乏统一规范的要求,存在较大的质量隐患。
4)缺乏对接口测试完整性的自动检查及度量手段,如接口测试覆盖是否满足100%的分析与度量、边界测试数据的设计情况、异常数据的设计情况度量等,无法对接口测试质量情况进行评估。
5)已存在的接口缺陷不能快速转变为测试经验或知识,无法直接或间接的提高接口测试设计的质量。
发明内容
为了解决上述技术问题,本发明的目的是提供一种在嵌入式软件接口测试的不同阶段能够完整、充分、有效自动化测试接口测试数据,提高检查工作的自动化水平,提升接口测试设计检查效率的基于规则的嵌入式软件接口测试数据检自动查方法。
本发明的上述目的可以通过以下措施来达到,一种自动检测嵌入式软件接口测试数据的方法,具有如下技术特征:在接口测试的不同阶段,根据用例设计方法建立基于数值规则及组合的检查规则,根据接口关系建立基于约束及流程的检查规则,根据接口特性建立基于帧格式及接口类型的检查规则和根据知识经验建立基于知识及异常数据隔离的检查规则;基于接口测试完整性建立消息覆盖率、边界覆盖率及枚举覆盖率的度量指标,基于接口测试用例设计密度建立接口测试设计颗粒度指标,基于测试数据的有效性及唯一性建立数据重复率及等价重复率,基于接口消息内容的有效及无效等价类比例建立正常与异常测试数据的度量指标和基于消息处理流程建立基于消息处理流程覆盖率的度量指标;基于数值规则、约束规则、组合规则、流程规则、帧格式规则、接口类型规则、知识规则及异常数据隔离规则的接口测试设计构建模型文件,根据上述建立的模型文件、检查规则及度量指标构建接口测试检查模型;接口测试检查模型根据通过录入接口数据格式设置接口约束关系及UML顺序图的流程设置,完成被测试软件的接口格式和接口配置,将配置好的接口配置信息存储在数据库中,并设置接口标识的唯一关键字、后台生成标准的XML格式文件、配置检查规则及用例模板和/或数据模板;然后通过配置检查规则及检查参数配置检查规则的配置文件,导入接口测试用例或数据文件,自动完成接口测试数据的分析与检查,接口测试数据度量结果检查和遗漏情况检查,采用脚本语言实现的规则检查算法生成检查报告,根据所选规则、度量指标结合检查结果给出接口测试设计的建议报告。
本发明的优点和积极效果在于:
测试接口测试数据完整、充分、有效。本发明基于数值规则、约束规则、组合规则、流程规则、帧格式规则、接口类型规则、知识规则及异常数据隔离规则的接口测试设计构建模型文件,根据建立的模型文件、检查规则及度量指标构建的接口测试检查模型及规范了接口测试设计检查规则,可检测接口测试遗漏情况、异常测试遗漏、边界测试遗漏、枚举数据遗漏、重复接口测试数据、无效测试数据、基于知识经验的遗漏等,同时,通过不断的扩充基于知识经验的规则,可以较为全面的对接口测试数据进行完整、规范的检查,自动化测试接口测试数据完整性、充分性、有效性,有效减少了测试人员的工作量。通过规则描述与规则执行算法分离,采用脚本语言实现规则检查算法,可快速实现检查规则的修改、增加与部署,适应不同项目的需求,有效减少测试人员的工作量。
提高了测试效率。本发明通过录入接口数据格式、设置接口约束关系及UML顺序图的流程设置,完成接口格式和接口配置,将配置好的接口配置信息存储在数据库中并设置接口标识的唯一关键字,后台生成标准的XML格式文件,实现接口测试全阶段的检查,可实现接口测试执行前、测试执行中及测试执行后的接口测试分析。若测试执行前接口测试数据已具备,通过检查可提前对遗漏及设计不足之处进行完善;若测试执行前接口测试数据未完成准备或主要以文字描述,可通过在执行中对采集到的接口测试数据进行实时分析,实现边执行、边分析、变检查、边完善的动态检查;若测试执行完成后收集了接口测试原始数据,可通过执行检查对接口测试的效果及风险进行评估与定量评价,确保接口测试实施的完整性及有效性,大幅度提高了测试效率。
提高检查工作的自动化水平。本发明基于完整性、颗粒度、有效性及等价类比的度量数据,从接口测试设计颗粒度、接口消息内容测试设计颗粒度、接口消息覆盖率、边界值及枚举值覆盖率、测试数据重复率、测试数据等价类重复率及正常异常比例方面对嵌入式软件接口测试进行了量化评价,建立量化接口测试设计,为项目团队对接口测试的质量评价提供了数据支撑,通过配置检查规则及用例模板和/或数据模板,然后通过配置检查规则及用例模板配置检查规则的配置文件;导入接口测试数据及检查,通过导入接口测试数据自动完成接口测试数据的分析与检查,进一步提高了检查工作的自动化水平。
提高了接口测试质量。本发明可进行接口测试不同阶段的检查,特别是在测试用例完成后执行前,通过检查,可以对接口测试设计的完整情况、异常接口测试的设计、边界测试的设计及流程的设计进行全面检查,从技术上改善和提高了接口测试的质量,避免了接口测试设计的随意性和盲目性,实现了接口测试设计的可视化检查与评估。可对测试执行前的接口测试数据进行检查,确保接口测试的完整性和有效性,也可以对正在执行或已执行的接口测试数据进行检查、分析,丰富了接口测试手段。
提升接口测试设计检查效率。本发明采用脚本语言实现规则检查算法生成检查报告,通过规则描述与规则执行算法分离检查规则模型的实现,便于了快速对检查规则进行修改、增加与部署。检查接口测试数据度量结果、遗漏情况,根据所选规则、度量指标结合检查结果给出接口测试设计的建议报告,可快速实现适应不同项目的需求,可以基于已规定的接口设计规则,可实现对成千上万条接口测试数据的自动检查和分析,快速实现接口消息测试数据100%覆盖检查,可提高接口测试数据检查效率80%以上。提高检查效率的同时也提升了检查效果,客观的反应接口测试设计质量,为测试人员改善接口测试设计提供了支撑。并且基于知识经验的检查规则持续提升组织整体接口测试质量,同时随着接口测试知识及缺陷的不断积累,检查规则库也得到不断补充和完善,实现组织接口测试质量的整体及持续提升。
附图说明
图1是本发明自动检测嵌入式软件接口测试数据的流程示意图。
图2是图1的接口测试检查规则模型示意图。
图3是图1的接口消息格式示意图。
图4是图1的接口测试检查规则模型基于流程检查的配置检查流程示意图。
图5是图1的接口测试检查规则模型导入接口测试数据的检查流程示意图。
为使本发明的目的、技术方案和优点更加清楚,同时也为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步详细、深入的描述。应当理解,此处所描述的实施仅用作说明和解释本发明,并不用于限定本发明。
具体实施方式
参阅图1。根据本发明,在接口测试的不同阶段,根据用例设计方法建立基于数值规则及组合的检查规则,根据接口关系建立基于约束及流程的检查规则,根据接口特性建立基于帧格式及接口类型的检查规则和根据知识经验建立基于知识及异常数据隔离的检查规则;基于接口测试完整性建立消息覆盖率、边界覆盖率及枚举覆盖率的度量指标,基于接口测试用例设计密度建立接口测试设计颗粒度指标,基于测试数据的有效性及唯一性建立数据重复率及等价重复率,基于接口消息内容的有效及无效等价类比例建立正常与异常测试数据的度量指标和基于消息处理流程建立基于消息处理流程覆盖率的度量指标;基于数值规则、约束规则、组合规则、流程规则、帧格式规则、接口类型规则、知识规则及异常数据隔离规则的接口测试设计构建模型文件,根据上述建立的模型文件、检查规则及度量指标构建接口测试检查模型;接口测试检查模型根据录入接口数据格式设置接口约束关系及UML顺序图的流程设置,完成被测试软件的接口格式和接口配置,将配置好的接口配置信息存储在数据库中,并设置接口标识的唯一关键字、后台生成标准的XML格式文件、配置检查规则及用例模板和/或数据模板;然后通过配置检查规则及检查参数配置检查规则的配置文件,导入接口测试用例或数据文件,自动完成接口测试数据的分析与检查,接口测试数据度量结果检查和遗漏情况检查,采用脚本语言实现的规则检查算法生成检查报告,根据所选规则、度量指标结合检查结果给出接口测试设计的建议报告。最后通过检查报告查看接口测试数据度量结果、遗漏情况及建议报告。具体步骤包括:
步骤101,在建立接口测试检查模型中,基于用例设计方法、接口关系、接口特性和知识经验建立基于数值、约束、组合、流程、帧格式、接口类型、知识及异常数据隔离八类规则的检查集。基于完整性接口测试设计颗粒度、用例设计颗粒度、测试数据有效性、正常异常用例比例及消息处理流程覆盖率建立度量指标。
在建立基于数值规则中,依据用例设计方法的等价类划分、边界值分析逐项完成对接口测试数据中以下数值的检查:固定取值数据的正常与异常测试数据检查、枚举数据的遍历及异常检查和数据范围类型的检查;数据范围类型含边界范围数据的上下边界值、上下边界内及1个步进单位边界外值、0值、0值上下边界、极大极小异常值等。
在建立基于约束规则中,检查接口数据中数据元间的约束关系,约束关系检查包括:互斥关系、限制关系检查和依赖关系;在进行互斥关系检查时,若数据元A取值为true,数据元B取值为false,反之亦然;在进行限制关系检查时,若数据元M有效,数据元N数值取值范围0≤N≤100,否则,数据元N数值取值范围500≤N≤1000;在进行依赖关系检查时,若数据元X取值为true,则数据元Y取值为true,反之数据元Y取值为false。
在建立基于组合规则中,基于业务领域、软件实现及项目环境,根据组合测试的检查规则,在接口数据约束的基础上进行形式化建模,进行t≥2的t维及全对偶的组合接口测试数据的检查,其中用于组合测试检查的数据可通过配置选择固定值、边界值、随机值、基于有效等价类的数值及无效等价类的数值。
在建立基于流程规则中,检查基于UML顺序图的接口流程测试,在顺序图中设置接口消息唯一标识,使用UML语法分析器分析标准顺序图的MDL文件,生成顺序图的信息中间表结构,通过读取顺序图信息与接口消息唯一标识关联接口消息生成控制流图,基于控制流图识别所有路径,通过对比接口测试数据检查流程路径是否完全覆盖。
在建立基于帧格式规则中,基于帧结构的检查规则,针对帧头、消息内容及帧尾格式正常及异常进行检查,包括正常帧结构、帧头异常、帧尾异常、帧前存在多余字节、帧后存在多余字节、消息内容包含帧头、消息内容包含帧尾、消息内容包含帧头帧尾、数据帧长度比规定长度多或少、校验和异常、断帧传送和连续多帧数据的检查,可根据设定的校验和数据自动完成异或、累加及CRC等校验和检查。
在建立基于接口类型规则中,根据接口特性进行如RS422中存在的起始位、数据位、校验位等的检查;在建立基于知识规则中,基于知识经验的检查规则,针对日期或时间的正常异常设计、平年、闰年及大小月的测试数据检查及边界值、异常值进行检查;在机载软件中需分别考虑轮载有效无效业务常识的测试;在电台软件中需考虑跳频模式频率表不同频点数量、跳频表中存在异常频点或相同频点业务常识的测试。基于知识经验的规则包括基于常识及业务知识的规则。通过不断的积累及增加规则,将会有效的提升测试设计的质量进而提升测试质量。
在建立基于异常数据隔离规则中,基于测试数据故障隔离的检查规则与组合测试检查不同,该规则是确保每条接口异常测试数据中存在仅1个异常数据,以便于进行故障隔离、检查与分析。用例设计颗粒度、测试数据有效性、正常异常用例比例及消息处理流程覆盖率建立度量指标。
在完整性建立度量指标中,基于接口消息的测试覆盖率其中:接口消息总数为m,若第i条消息有对应1条以上的接口测试数据,则第i条接口消息对于的测试数据mi记为1,否则记为0,mi之和即为至少包含一条测试数据的接口消息总数;基于边界值的测试数据覆盖率其中含边界值测试数据总和定义如下:若一条接口消息中有n个元素定义了1个边界范围,则边界值测试数据总和为n×1,测试数据统计时对同一元素相同边界值做去重处理;基于枚举值的测试数据覆盖率其中:若一条接口消息中包含p个元素的枚举值且每个元素取值为q,则枚举值测试数据总和为p×q;测试数据统计时对同一元素相同枚举值做去重处理;
用例设计颗粒度建立度量指标中,基于接口测试的设计颗粒度其中,若未指定用例模板或测试数据分离规则,一个用例就对应一条接口测试数据;基于消息内容的测试设计颗粒度其中,若未指定用例模板或测试数据分离规则,一个用例就对应一条接口测试数据;
测试数据有效性建立度量指标中,基于测试数据的重复率 基于测试数据等价类的重复率其中等价相同的测试数据定义:除边界值及枚举值外,若测试数据x与测试数据y中的数据取值不同,但都在同一等价类取值范围内,则x、y即为等价重复数据;
有效无效等价类比例建立度量指标中,基于正常测试数据与异常数据的比例I8越大越好;
消息处理流程覆盖率建立度量指标中,基于接口消息处理流程的测试覆盖率
规则模型采用文件形式进行存储,分别存储在规则模型描述文件及规则算法文件中。规则模型描述文件中含每条规则的标识号、具体的定义与是否执行检查的开关标识,通过后续规则选取配置可改变开关标识取值,开启时才会执行相应规则检查。规则算法文件采用脚本语言Python实现,规则算法文件包含每个规则模型下不同规则的检测算法,通过规则模型描述文件中的规则标识号进行关联。当需要增加规则时,需同时增加规则模型文件及算法文件才能正确实现规则检查。
步骤102,接口数据格式设置,如图3所示,每个接口消息均有唯一的标识字,接口消息的最小单位是数据元,数据元对应接口控制文件中的一个消息字段,数据元组成帧头、消息内容、帧尾,帧头主要包括帧长度及接口数据的固定标识;消息内容是数据帧中具体的内容,一般为可变内容,如枚举、限定范围及无范围限定的数据元素;帧尾一般包含校验和及帧结束标识。每个数据元的属性包括名称、长度、取值范围及关联数据元;按照不同项目的软件接口协议要求设置接口协议总类如1553B、ARINC429或RS422等,完成接口相关电气特性、帧头、消息内容及帧尾的接口配置,并完成接口数据大小端序、约束关系设置,将配置好的接口配置信息存储在数据库中并设置接口标识的唯一关键字,后台生成XML格式文件,供后续测试数据分析使用。
进行接口流程测试检查时,除了需要完成基本的接口格式设置,还需配置UML顺序图的MDL文件,其中UML顺序图中接口消息标识的需保证与数据库及XML中接口标识的一致性,如图4所示,若接口消息标识不是唯一标识将无法正常进行流程检查。
步骤103,在配置检查规则及用例或数据模板中,根据项目要求可从设计规则库中选择并配置本次检查所需的检查规则,可单独选择也可组合使用,配置完成后规则模型文件中的开关标识将根据配置情况自动进行调整。同时,可对规则的检查参数进行配置,如组合测试检查中的t维取值、元素取值的约定等。初次完成配置后将自动生成配置文件,里面包含已选择规则及相关模板配置信息。
完成检查规则及参数配置后,根据使用要求进行用例模板和/或数据模板的配置。配置用例模板说明:若是测试用例中包含了详细的接口数据描述,可通过配置用例模板自动提取接口测试数据完成检查。导入用例的后缀名为.dot的word用例模板进行配置,可自动提取表格中的接口测试数据;若使用测试用例管理系统对用例管理进行管理,提供接口说明或xml配置可完成用例模板配置。配置数据模板说明:若是针对接口测试原始记录或导出的接口测试数据,也需要进行数据模板配置,包括txt、excel、CVS、dat等数据文件,通常一个用例可能包含多条测试数据,其中数据文件与用例存在最大的不同就是缺少用例标识识别出完整的用例,因此在后续分析时存在无法对测试用例辨识的情况,可在模板配置时采用默认的方法进行处理:有时间戳的数据,设置时间戳范围识别测试用例;以换行为标识的数据,设置以换行为标识识别测试用例;若是严格按照测试规程(主要是用例执行顺序)执行的用例,可通过导入测试规程自动识别测试用例;若都不满足,默认采用上下文识别方法,对可能组成测试用例的数据进行识别。
步骤104,接口测试数据导入及检查,可通过以下几种方式进行接口测试数据导入:word、txt、excel、CVS、dat。检查包括以下步骤:导入数据预处理、配置规则检查、接口测试数据时间评估、规则检查、检查结果去重。首先,根据配置的用例或数据模板对接口测试数据进行预处理,检查接口数据的不规范、接口测试数据与接口格式不匹配、用例文件或数据文件与配置的模板不匹配或无法提取接口测试数据等问题。接着,进行规则配置正确性的检查,检查规则文件不存在、规则文件不完整、规则文件格式不正确、规则内容被破坏、规则配置与开关不一致等问题。再通过涉及的接口消息总数及接口测试数据总数、选取的检查规则总数估算检查时间。然后按照选定的规则进行检查,采用基于接口消息的深度优先策略(即对某条接口消息及对应接口测试数据进行所有选定规则检查后,再进行其他接口消息检查)进行检查。最后,进行检查结果去重,针对不同规则检查出的结果可能存在重复问题的情况,如数值检查与帧结构检查中帧头异常、帧尾异常等情况存在结果重复,进行检查结果去重,确保检查问题的唯一性。
步骤105,检查结果报告。检查结果报告包括规则检查报告、度量结果报告及建议报告。规则检查报告根据所选规则分析结果进行报告,包括整体概况、具体规则违反次数及详细信息说明等,可从多维度进行规则检查结果查看,可按接口消息查看违反情况、也可按规则分类查看、还可按输入及输出接口查看。度量结果报告根据选择的度量指标进行展示,可查看整体情况及详细的度量情况,还可调整指标查看违反指标要求情况。建议报告将根据所选规则、度量指标结合检查结果给出接口测试设计的建议报告,目的是为了针对现有检查问题提出改进建议提高接口测试质量。
参阅图2。接口测试检查规则模型包括:规则模型与度量模型,其中,规则模型按用例设计方法分为基于数值及基于组合的规则,按接口关系分为基于约束及基于流程的规则,按接口特性分为基于帧格式和基于接口类型的规则,按知识经验分为基于知识及基于异常数据隔离的规则;度量模型按完整性分为消息覆盖率、边界覆盖率及枚举覆盖率,按用例设计颗粒度分为用例设计颗粒度及接口消息颗粒度,按测试数据有效性分为数据重复率及等价数据重复率,按有效无效等价类比分为正常异常测试数据比,按流程覆盖分为基本流程路径覆盖率。
参阅图3。接口测试检查规则模型设置被测接口消息格式时,接口消息1由帧头、消息内容及帧尾三部分组成,帧头由数据元1、数据元2组成,消息内容由数据元3、数据元4…组成,帧尾由数据元n、数据元n+1组成,在数据元1、数据元、数据元3、数据元4…数据元n、数据元n+1中,数据元表示接口消息的一个字段,每个数据元的属性包括数据元名称、长度、取值范围及关联数据元,数据元可以是一个Byte、一个Bit,也可以是多个Bit或Byte的组合或跨字节组合。
参阅图4。接口测试检查规则模型基于流程检查的配置检查,首先读取UML顺序图MDL文件,若文件不存在后续不再进行流程检查,结束配置检查;若读取UML顺序图MDL文件成功,则获取接口信息,判断消息标识ID与录入接口是否匹配,若录入接口匹配,则根据接口信息进行控制流分析,根据分析结果生成所有流程路径,否则结束。在读取UML顺序图MDL文件时,若MDL文件存在,读取文件中的消息标识ID及消息交互等信息;接着判断读取的消息标识ID是否存在于步骤102中设置的接口消息标识中,若读取的消息标识ID不在已设置的接口消息标识中,记录消息标识ID及对应MDL文件名称,后续不再进行基于该顺序图的流程检查;若读取消息标识ID满足要求,将按照消息交互流程生成接口消息处理控制流程图,进行控制流分析并按照满足基本路径覆盖率100%的要求生成所有的用例供接口测试数据流程检查使用。
参阅图5。接口测试检查规则模型导入接口测试数据的预处理是为了确保对有效的接口测试数据进行规则检查,提高自动化检查的效率。导入接口测试用例和/或数据后,首先读取接口格式XML文件,若XML文件不存在,不再执行后续流程;若读取文件成功,读取XML文件中的接口格式信息,接着读取用例模板,若模板读取失败,不再执行后续流程;若用例模板读取成功,将对导入的用例与模板进行匹配检查,若检查失败,流程结束;若匹配成功,将对接口测试数据提取,然后再对数据的规范性进行检查,若存在数据为乱码、特殊字符等情况,将对不规范的数据进行记录,后续不对该数据进行检查;若规范性检查通过,再对数据与接口格式的匹配情况进行检查,若存在完全与接口格式不匹配的数据将进行记录,后续不再进行检查。
Claims (10)
1.一种自动检测嵌入式软件接口测试数据的方法,具有如下技术特征:在接口测试的不同阶段,根据用例设计方法建立基于数值规则及组合的检查规则,根据接口关系建立基于约束及流程的检查规则,根据接口特性建立基于帧格式及接口类型的检查规则和根据知识经验建立基于知识及异常数据隔离的检查规则;基于接口测试完整性建立消息覆盖率、边界覆盖率及枚举覆盖率的度量指标,基于接口测试用例设计密度建立接口测试设计颗粒度指标,基于测试数据的有效性及唯一性建立数据重复率及等价重复率,基于接口消息内容的有效及无效等价类比例建立正常与异常测试数据的度量指标和基于消息处理流程建立基于消息处理流程覆盖率的度量指标;基于数值规则、约束规则、组合规则、流程规则、帧格式规则、接口类型规则、知识规则及异常数据隔离规则的接口测试设计构建模型文件,根据上述建立的模型文件、检查规则及度量指标构建接口测试检查模型;接口测试检查模型根据录入接口数据格式设置接口约束关系及UML顺序图的流程设置,完成被测试软件的接口格式和接口配置,将配置好的接口配置信息存储在数据库中,并设置接口标识的唯一关键字、后台生成标准的XML格式文件、配置检查规则及用例模板和/或数据模板;然后通过配置检查规则及检查参数配置检查规则的配置文件,导入接口测试用例或数据文件,自动完成接口测试数据的分析与检查,接口测试数据度量结果检查和遗漏情况检查,采用脚本语言实现的规则检查算法生成检查报告,根据所选规则、度量指标结合检查结果给出接口测试设计的建议报告。
2.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:接口测试检查规则模型包括:规则模型与度量模型,其中,规则模型按用例设计方法分为基于数值及基于组合的规则,按接口关系分为基于约束及基于流程的规则,按接口特性分为基于帧格式和基于接口类型的规则,按知识经验分为基于知识及基于异常数据隔离的规则;度量模型按完整性分为消息覆盖率、边界覆盖率及枚举覆盖率,按用例设计颗粒度分为用例设计颗粒度及接口消息颗粒度,按测试数据有效性分为数据重复率及等价数据重复率,按有效无效等价类比分为正常异常测试数据比,按流程覆盖分为基本流程路径覆盖率。
3.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:接口测试检查规则模型设置被测接口消息格式时,接口消息1由帧头、消息内容及帧尾三部分组成,帧头由数据元1、数据元2组成,消息内容由数据元3、数据元4…组成,帧尾由数据元n、数据元n+1组成,在数据元1、数据元、数据元3、数据元4…数据元n、数据元n+1中,数据元表示接口消息的一个字段,每个数据元的属性包括数据元名称、长度、取值范围及关联数据元,数据元可以是一个Byte、一个Bit,也可以是多个Bit或Byte的组合或跨字节组合。
4.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:接口测试检查规则模型基于流程检查的配置检查,首先读取UML顺序图MDL文件,若MDL文件存在,读取文件中的消息标识ID及消息交互等信息;接着判断读取的消息标识ID是否存在于已设置的被测接口消息标识中,若读取的消息标识ID不在已设置的接口消息标识中,记录消息标识ID及对应MDL文件名称,后续不再进行基于该顺序图的流程检查;若读取消息标识ID满足要求,将按照消息交互流程生成接口消息处理控制流程图,进行控制流分析并按照满足基本路径覆盖率100%的要求生成所有的用例供接口测试数据流程检查使用。
5.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:接口测试检查规则模型导入接口测试数据,首先读取接口格式XML文件,若XML文件不存在,不再执行后续流程;若读取文件成功,读取XML文件中的接口格式信息,接着读取用例模板,若模板读取失败,不再执行后续流程;若用例模板读取成功,将对导入的用例与模板进行匹配检查,若检查失败,流程结束;若匹配成功,将对接口测试数据提取,然后再对数据的规范性进行检查,若存在数据为乱码、特殊字符等情况,将对不规范的数据进行记录,后续不对该数据进行检查;若规范性检查通过,再对数据与接口格式的匹配情况进行检查,若存在完全与接口格式不匹配的数据将进行记录,后续不再进行检查。
6.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:在建立基于数值规则中,依据用例设计方法的等价类划分、边界值分析逐项完成对接口测试数据中以下数值的检查:固定取值数据的正常与异常测试数据检查、枚举数据的遍历及异常检查和数据范围类型的检查;数据范围类型含边界范围数据的上下边界值、上下边界内及1个步进单位边界外值、0值、0值上下边界和极大极小异常值。
7.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:在建立基于约束规则中,检查接口数据中数据元间的约束关系,约束关系检查包括:互斥关系、限制关系检查和依赖关系;在进行互斥关系检查时,若数据元A取值为true,数据元B取值为false,反之亦然;在进行限制关系检查时,若数据元M有效,数据元N数值取值范围0≤N≤100,否则,数据元N数值取值范围500≤N≤1000;在进行依赖关系检查时,若数据元X取值为true,则数据元Y取值为true,反之数据元Y取值为false。
8.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:在建立基于组合规则中,基于业务领域、软件实现及项目环境,根据组合测试的检查规则,在接口数据约束的基础上进行形式化建模,进行t≥2的t维及全对偶的组合接口测试数据的检查,其中用于组合测试检查的数据可通过配置选择固定值、边界值、随机值、基于有效等价类的数值及无效等价类的数值。
9.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:在建立基于流程规则中,检查基于UML顺序图的接口流程测试,在顺序图中设置接口消息唯一标识,使用UML语法分析器分析标准顺序图的MDL文件,生成顺序图的信息中间表结构,通过读取顺序图信息与接口消息唯一标识关联接口消息生成控制流图,基于控制流图识别所有路径,通过对比接口测试数据检查流程路径是否完全覆盖。
10.如权利要求1所述的自动检测嵌入式软件接口测试数据的方法,其特征在于:基于接口消息的测试覆盖率其中:接口消息总数为m,若第i条消息有对应1条以上的接口测试数据,则第i条接口消息对于的测试数据mi记为1,否则记为0,mi之和即为至少包含一条测试数据的接口消息总数;
基于边界值的测试数据覆盖率其中含边界值测试数据总和定义如下:若一条接口消息中有n个元素定义了1个边界范围,则边界值测试数据总和为n×1,测试数据统计时对同一元素相同边界值做去重处理;
基于枚举值的测试数据覆盖率其中:若一条接口消息中包含p个元素的枚举值且每个元素取值为q,则枚举值测试数据总和为p×q;测试数据统计时对同一元素相同枚举值做去重处理;
基于接口测试的设计颗粒度其中,若未指定用例模板或测试数据分离规则,一个用例就对应一条接口测试数据;
基于消息内容的测试设计颗粒度其中,若未指定用例模板或测试数据分离规则,一个用例就对应一条接口测试数据;
基于测试数据的重复率
基于测试数据等价类的重复率其中等价相同的测试数据定义:除边界值及枚举值外,若测试数据x与测试数据y中的数据取值不同,但都在同一等价类取值范围内,则x、y即为等价重复数据;
基于正常测试数据与异常数据的比例
基于接口消息处理流程的测试覆盖率
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683124.2A CN109002391B (zh) | 2018-06-28 | 2018-06-28 | 自动检测嵌入式软件接口测试数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810683124.2A CN109002391B (zh) | 2018-06-28 | 2018-06-28 | 自动检测嵌入式软件接口测试数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002391A true CN109002391A (zh) | 2018-12-14 |
CN109002391B CN109002391B (zh) | 2021-07-30 |
Family
ID=64600235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810683124.2A Active CN109002391B (zh) | 2018-06-28 | 2018-06-28 | 自动检测嵌入式软件接口测试数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002391B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618906A (zh) * | 2019-08-07 | 2019-12-27 | 中移(杭州)信息技术有限公司 | 漏测接口检测方法、装置、网络设备及存储介质 |
CN110795847A (zh) * | 2019-10-29 | 2020-02-14 | 北京世冠金洋科技发展有限公司 | 一种建模方法、装置及电子设备 |
CN111176991A (zh) * | 2019-12-23 | 2020-05-19 | 北京轩宇信息技术有限公司 | 一种嵌入式软件接口用例自动化生成方法 |
CN111813593A (zh) * | 2020-07-23 | 2020-10-23 | 平安银行股份有限公司 | 一种数据处理方法、设备、服务器及存储介质 |
CN111884882A (zh) * | 2020-07-29 | 2020-11-03 | 北京千丁互联科技有限公司 | 一种监控覆盖率检测方法及装置 |
CN113535565A (zh) * | 2021-07-19 | 2021-10-22 | 工银科技有限公司 | 一种接口用例生成方法、装置、设备、介质和程序产品 |
CN113704123A (zh) * | 2021-08-31 | 2021-11-26 | 平安银行股份有限公司 | 接口测试方法、装置、设备以及存储介质 |
CN115576853A (zh) * | 2022-11-24 | 2023-01-06 | 云账户技术(天津)有限公司 | 一种判断用例完整性的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101607151A (zh) * | 2009-01-09 | 2009-12-23 | 湖南华博科技开发有限公司 | 嵌入式智能加药控制器及其控制方法 |
CN104618502A (zh) * | 2015-02-15 | 2015-05-13 | 中国科学院遥感与数字地球研究所 | 一种用于卫星数据地面接收站网的联调测试平台 |
US20180040114A1 (en) * | 2016-08-04 | 2018-02-08 | Altia, Inc. | Automated Forensic Artifact Reconstruction and Replay of Captured and Recorded Display Interface Streams |
CN107678946A (zh) * | 2017-09-12 | 2018-02-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于模型的机载嵌入式软件测试环境构建方法 |
US9940226B2 (en) * | 2016-05-26 | 2018-04-10 | International Business Machines Corporation | Synchronization of hardware agents in a computer system |
-
2018
- 2018-06-28 CN CN201810683124.2A patent/CN109002391B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101607151A (zh) * | 2009-01-09 | 2009-12-23 | 湖南华博科技开发有限公司 | 嵌入式智能加药控制器及其控制方法 |
CN104618502A (zh) * | 2015-02-15 | 2015-05-13 | 中国科学院遥感与数字地球研究所 | 一种用于卫星数据地面接收站网的联调测试平台 |
US9940226B2 (en) * | 2016-05-26 | 2018-04-10 | International Business Machines Corporation | Synchronization of hardware agents in a computer system |
US20180040114A1 (en) * | 2016-08-04 | 2018-02-08 | Altia, Inc. | Automated Forensic Artifact Reconstruction and Replay of Captured and Recorded Display Interface Streams |
CN107678946A (zh) * | 2017-09-12 | 2018-02-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于模型的机载嵌入式软件测试环境构建方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618906B (zh) * | 2019-08-07 | 2023-07-18 | 中移(杭州)信息技术有限公司 | 漏测接口检测方法、装置、网络设备及存储介质 |
CN110618906A (zh) * | 2019-08-07 | 2019-12-27 | 中移(杭州)信息技术有限公司 | 漏测接口检测方法、装置、网络设备及存储介质 |
CN110795847A (zh) * | 2019-10-29 | 2020-02-14 | 北京世冠金洋科技发展有限公司 | 一种建模方法、装置及电子设备 |
CN110795847B (zh) * | 2019-10-29 | 2020-06-26 | 北京世冠金洋科技发展有限公司 | 一种建模方法、装置及电子设备 |
CN111176991A (zh) * | 2019-12-23 | 2020-05-19 | 北京轩宇信息技术有限公司 | 一种嵌入式软件接口用例自动化生成方法 |
CN111813593A (zh) * | 2020-07-23 | 2020-10-23 | 平安银行股份有限公司 | 一种数据处理方法、设备、服务器及存储介质 |
CN111813593B (zh) * | 2020-07-23 | 2023-08-18 | 平安银行股份有限公司 | 一种数据处理方法、设备、服务器及存储介质 |
CN111884882A (zh) * | 2020-07-29 | 2020-11-03 | 北京千丁互联科技有限公司 | 一种监控覆盖率检测方法及装置 |
CN113535565A (zh) * | 2021-07-19 | 2021-10-22 | 工银科技有限公司 | 一种接口用例生成方法、装置、设备、介质和程序产品 |
CN113535565B (zh) * | 2021-07-19 | 2022-10-04 | 工银科技有限公司 | 一种接口用例生成方法、装置、设备和介质 |
CN113704123A (zh) * | 2021-08-31 | 2021-11-26 | 平安银行股份有限公司 | 接口测试方法、装置、设备以及存储介质 |
CN113704123B (zh) * | 2021-08-31 | 2024-04-23 | 平安银行股份有限公司 | 接口测试方法、装置、设备以及存储介质 |
CN115576853A (zh) * | 2022-11-24 | 2023-01-06 | 云账户技术(天津)有限公司 | 一种判断用例完整性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109002391B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002391A (zh) | 自动检测嵌入式软件接口测试数据的方法 | |
Rodriguez et al. | On software engineering repositories and their open problems | |
CN110088744B (zh) | 一种数据库维护方法及其系统 | |
CN110377524B (zh) | 报表系统的测试方法、装置、系统及介质 | |
CN110764980A (zh) | 日志处理方法和装置 | |
CN106776339A (zh) | 自动化测试方法及装置 | |
Söylemez et al. | Challenges of software process and product quality improvement: catalyzing defect root-cause investigation by process enactment data analysis | |
CN115952081A (zh) | 一种软件测试方法、装置、存储介质及设备 | |
Wang et al. | On the value of quality of service attributes for detecting bad design practices | |
CN114785710A (zh) | 一种工业互联网标识解析二级节点服务能力的评估方法及系统 | |
Herraiz et al. | Impact of installation counts on perceived quality: A case study on debian | |
CN112153378A (zh) | 一种视频审核能力的测试方法及其系统 | |
CN111209180A (zh) | 一种基于模糊匹配的回归测试方法和装置 | |
CN115525575A (zh) | 一种基于Dataworks平台的数据自动化测试方法及系统 | |
KR101039874B1 (ko) | 정보통신 통합플랫폼 테스트 시스템 | |
CN113791980A (zh) | 测试用例的转化分析方法、装置、设备及存储介质 | |
CN114490413A (zh) | 测试数据的准备方法及装置、存储介质和电子设备 | |
CN113590825A (zh) | 文本质检方法、装置及相关设备 | |
CN113342632A (zh) | 仿真数据自动化处理方法、装置、电子设备及存储介质 | |
CN111694752A (zh) | 应用测试方法、电子设备及存储介质 | |
CN111352818A (zh) | 应用程序性能分析方法、装置、存储介质及电子设备 | |
Gruszczyński | Enhancing business process event logs with software failure data | |
CN113220594B (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN111737096B (zh) | 一种tpc-h前测试系统整体定级的检测方法及装置 | |
CN109286605A (zh) | 一种基于大数据的业务行为路径监控方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |