CN107368408A - 一种面向接口的软件故障注入自动化测试方法 - Google Patents

一种面向接口的软件故障注入自动化测试方法 Download PDF

Info

Publication number
CN107368408A
CN107368408A CN201710398941.9A CN201710398941A CN107368408A CN 107368408 A CN107368408 A CN 107368408A CN 201710398941 A CN201710398941 A CN 201710398941A CN 107368408 A CN107368408 A CN 107368408A
Authority
CN
China
Prior art keywords
interface
test
failure
message
measured piece
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.)
Pending
Application number
CN201710398941.9A
Other languages
English (en)
Inventor
吴立金
张凯
韩新宇
唐龙利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTRODUCTION OF TECHNOLOGY RESEARCH & ECONOMY DEVELOPMENT INSTITUTE
Original Assignee
INTRODUCTION OF TECHNOLOGY RESEARCH & ECONOMY DEVELOPMENT INSTITUTE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by INTRODUCTION OF TECHNOLOGY RESEARCH & ECONOMY DEVELOPMENT INSTITUTE filed Critical INTRODUCTION OF TECHNOLOGY RESEARCH & ECONOMY DEVELOPMENT INSTITUTE
Priority to CN201710398941.9A priority Critical patent/CN107368408A/zh
Publication of CN107368408A publication Critical patent/CN107368408A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本方法提供一种面向接口的软件故障注入自动化测试方法,能够实现接口故障注入的自动化测试。首先对交联接口建模、通信行为建模、协议数据建模,然后设计故障注入算子并进行测试用例建模,在此模型基础上自动生成XML格式的测试用例,最后基于XSLT将测试用例自动生成C++语言的测试脚本,调用windows SDK自动生成测试程序并自动执行,通过Windows管道技术实现结果收集,并对测试结果进行评价,从而完成整个交联接口的故障注入测试。本方法有效提高接口故障注入测试工具实现的通用性与易用性,提高了接口测试的效率,降低了测试成本。

Description

一种面向接口的软件故障注入自动化测试方法
技术领域
本发明涉及软件测试技术领域,具体涉及一种面向接口的软件故障注入自动化测试方法。
背景技术
故障注入技术采用人为的在目标系统中引入故障的方法,来加速系统的失效,通过观察 系统在出现故障之后的行为反应对系统的可靠性进行评价。目前,故障注入从技术实现上来 分可分为四类:基于硬件的技术、基于软件的技术、基于模拟的技术和离子辐射的技术。
基于软件的技术包括程序变异测试技术、模块或构件故障注入技术、软件交联接口故障 注入技术和系统运行环境故障注入技术。其中,环境故障注入是指软件运行时对其环境实体 如寄存器值、内存位、系统和用户环境变量、磁盘文件系统、网络环境及系统调用等进行故 障注入测试。交联接口故障注入是针对交联设备的网络接口、串口、CAN总线等接口形式的 报文进行故障注入来模拟软件运行中接口异常的测试技术。
目前,软件故障注入技术的研究主要集中在程序变异测试技术和系统外部环境故障注入 测试技术,而针对模块或构件故障注入测试、软件交联接口故障注入测试尚未形成有效方法。
交联接口故障注入研究主要以基于硬件的技术为主,而基于硬件的交联接口故障注入是 在电气层注入,主要针对硬件系统进行测试,不适合针对软件的测试。本发明以软件故障注 入技术为基点,提出了一种基于交联接口形式化建模的软件故障注入测试方法,能够可视化 建立被测件的接口协议形式化模型,准确、高效地表达接口协议规则及要素,能够自动生成 测试脚本和测试程序,实现故障注入测试自动执行和数据收集,能够有效的保证软件交联接 口故障注入测试的实施。
发明内容
本发明提供一种面向接口的软件故障注入自动化测试方法,具体步骤如下:
步骤一、交联接口建模,交联接口模型采用如下关系表示:
R={被测件,外围交联设备,输入输出关系,接口类型、通信参数};
步骤二、通信行为分析,分析所述外围交联设备对所述被测件的输入以及被测件的输出 的交互行为;
第三步、协议数据建模,按照被测件与外围交联设备定义的报文格式,对协议数据建模, 协议数据模型包括名称、所属接口和元素属性,元素属性具体包括元素名称、元素类型、元 素初始值、元素数量属性;
第四步、交联接口故障注入算子设计,包括报文故障注入算子和通信故障注入算子;所 述报文故障注入算子指的是针对报文中字段的值进行变异,模拟的是报文中的的字段数据错 误;所述通信故障注入算在是指针对接口交互行为的变异,模拟的是通信过程中包括周期、 同步、反馈在内的交互行为中的各种故障;
第五步、可视化测试用例建模,描述所述外围交联设备对所述被测件的操作过程,测试 用例建模使用剖面模型;
第六步、测试脚本自动生成,遍历测试用例模型生成具体操作步骤,利用故障注入算子 生成具体测试数据,将可视化的交联接口形式化测试模型形成XML格式的测试脚本;
第七步、利用转换关系映射语言,将XML形式测试脚本的节点与C++语言代码段进行关 系映射,利用C#.NET框架中的XSLT处理器自动生成测试程序;
第八步、得到所述测试脚本程序后,测试(按照)用户指定的顺序依次执行测试程序, 并记录测试结果;
第九步、根据交联接口测试充分性指标,针对测试结果进行测试充分性评价评价;若交 联接口测试充分,测试完成;若交联接口测试不充分,参照所述教练接口测试充分性指标评 价结果,重新进行交联结构故障注入测试并进行充分性评价。
所述交联接口建模具体步骤为:
步骤一、分析所述被测件与所述外围交联设备之间的通信关系;
步骤二、以图形化的形式描述被测件与所述外围交联设备输入输出关系;
步骤三、分析所述被测件与所述外围交联设备之间的接口类型,所述接口类型包括RS232、 RS422、RS485、CAN总线、Ethernet,每一个输入输出关系对应一个接口类型;
步骤四、设置每个接口类型的通信参数;
所述被测件接口类型包括RS232、RS422、RS485、CAN总线、Ethernet。
所述报文故障注入算子的设计步骤为:
步骤一、收集接口通信中数据相关的常见故障,包括报文的长度故障、报文的数值错误、 数值的精度与实际要求不符、某些枚举值出现枚举范围外的值、字段的类型不对;
步骤二、分析每类常见故障产生的原因;
步骤三、针对每类常见故障产生的原因,抽象成为详细故障,对每个所述详细故障按照 “输入-变异-输出”形式设计成报文故障注入算子。
所述通信故障注入算子设计步骤为:
步骤一、收集接口通信中与通信行为相关的常见故障,包括数据通信不稳定、通信周期 异常、同步异常、反馈异常、相关约束异常和通信参数错误;
步骤二、分析每类常见故障的表现形式;
步骤三、针对每类常见故障的表现形式,抽象成为详细故障,对每个所述详细故障按照 “输入-变异-输出”形式设计成通信故障注入算子。
所述剖面模型包括操作和步骤两种元素,所述操作是对软件所能完成功能点测试任务的 一种说明,能够从软件需求中直接获得的系统需要完成的最小任务要求。
所述步骤是是输入变量的赋值信息,描述的是直接施加给被测件的输入。
所述被测件测试充分性指标包括交联接口类型覆盖率、接口个数覆盖率、报文类型覆盖 率、交互行为覆盖率、故障类型覆盖率的乘积。
本方法具有以下优势与特点:
本发明是一种基于模型的自动化故障注入技术,通过测试可视化建模,能够自动生成测 试执行环境配置文件和可执行的测试脚本程序,能够自动对接口转换设备进行配置并调用脚 本程序执行测试,自动收集测试结果。
本故障注入方法与实用新型《一种多功能接口转换设备》(公开号:204291002U)有机结 合,针对报文形式的接口信息进行故障注入,可实现网口、串口RS422\RS232\RS485、can总 线多种接口类型的故障注入测试。
本故障注入方法能够有效降低对故障注入运行平台的要求,使其无需接入额外板卡,只 需支持网络通讯即可,提高了本方法实现的工具的通用性与易用性。
本方法采用接口可视化建模技术和脚本自动化生成与执行技术,降低了接口故障注入测 试用例设计的难度,提高了测试的效率。在复用接口测试用例时,只需要复用接口可视化测 试模型即可,提高了接口测试用例的可复用性。
本方法以交联接口测试可视化建模为基础的,在故障注入算子选择为空时,可作为正常 的通用接口仿真自动化测试方法,降低接口测试的工作成本。
本方法能够自动生成可执行的测试脚本程序,测试脚本程序可以使用通过调用Windows SDK编译运行,也可以通过普通编码工具如VS2010单独调试。该技术与直接对XML用例文件 解析执行技术相比,提高了脚本的可测试性与可复用性,增加了利用本方法实现的测试工具 的灵活性。
附图说明
图1一种面向接口的软件故障注入自动化测试方法的流程图;
图2接口类型建模示意图;
图3可视化测试用例建模示意图;
图4测试脚本和测试程序自动生成方法图;
图5测试执行过程示意图。
具体实施方式
本发明提出一种面向接口的软件故障注入自动化测试方法,能够实现接口故障注入的自 动化测试。首先获取交联接口关系、通信行为、协议数据,然后设计故障注入算子并进行测 试用例建模,在此模型基础上自动生成XML格式的测试用例,最后基于XSLT将测试用例自 动生成C++语言的测试脚本,调用windows SDK自动生成测试程序并自动执行,通过Windows 管道技术实现结果收集。
下面结合附图对本发明的具体实施方式进行描述。
图1给出了一种面向接口的软件故障注入自动化测试方法的流程图,具体流程如下:
第一步,交联接口建模,交联接口模型采用如下关系表示:
R={被测件,外围交联设备,输入输出关系,接口类型、通信参数}
建模具体步骤为:
1)分析被测件与哪些外围交联设备具有通信关系;
2)以图形化的形式描述被测件与外围交联设备输入输出关系,图2给出了接口类型建模 示意图;
3)分析被测件与外围交联设备之间的接口类型,被测件常见接口类型有:RS232、RS422、 RS485、CAN总线、Ethernet等,每个输入输出关系对应一个接口类型;
4)设置每个接口类型的通信参数,常见接口类型的通信参数如表1所示。
表1接口类型的通信参数
第二步,通信行为分析,按照表2所示的交互类型,依次分析外围交联设备对被测件的 输入以及被测件的输出有哪些交互行为。
表2交互行为类型及行为
第三步,协议数据建模。按照被测件与外围交联设备定义的报文格式,对协议数据建模。 协议数据模型是对报文格式的一种抽象描述,本发明中定义协议数据模型如表3所示,协议 数据模型包括名称、所属接口和元素属性,元素属性具体包括元素名称、元素类型、元素初 始值、元素数量属性。
表3协议数据模型
第四步,交联接口故障注入算子设计,分为报文故障注入算子和通信故障注入算子。故 障注入算子用于将正常的报文数据和通信行为映射为相应的报文数据故障和通信故障。
报文故障注入算子指的是针对报文中字段的值进行变异,模拟的是报文中的的字段数据 错误。本发明中报文故障注入算子设计步骤为:
1)收集接口通信中数据相关的常见故障,本发明中收集的常见故障有:报文的长度故障、 报文的数值错误、数值的精度与实际要求不符、某些枚举值出现枚举范围外的值、字段的类 型不对。
2)详细分析每类故障产生的原因。报文长度故障的可能的原因有2类,一类在通信过程 中报文数据少、报文末端数据多;另一个类是报文中表示长度的字段值与实际报文长度不符, 包括有效数据字节数大于标称字节数、有效数据字节数小于标称字节数、可变长度报文字节 数目超过规定的最大值。字段数值错误常见的原因有:偶然计算错误、出现上下限范围外的 值、总与正确值偏大或偏小、与某值有一定关系(恒等于、小于等于、大于等于)、Bit型数 据高低位发生变化、数据位全为0或1。数值精度常见的原因主要是精度不符合要求,包括 过大和过小2类。枚举类故障主要是数值取值为枚举集合外的值。字段类型类故障主要是有 符号数据符号位错误、变量类型不匹配造成的。
3)对每类故障产生的原因,抽象成更为详细的故障。例如,字段数值错误中出现上下限 范围外的值抽象为大于上限、小于下限2种故障,与某值有一定关系抽象为恒等于某值、小 于等于某值、大于等于某值。然后对每一个详细故障按照“输入-变异-输出”形式设计成故 障注入算子。本发明中设计的报文故障注入算子如表4所示。
表4报文故障注入算子
通信故障注入算在是指针对接口交互行为的变异,模拟的是通信过程中周期、同步、反 馈等交互行为中的各种故障。本发明中通信故障注入算子设计步骤为:
1)收集接口通信中与通信行为相关的常见故障,本发明中收集的常见故障有:数据通信 不稳定、通信周期异常、同步异常、反馈异常、相关约束异常和通信参数错误;
2)详细分析每类通信故障的表现形式。通信不稳定表现形式有:连续通信随机丢失数据 报文、通信位随机跳变、通信重复、一段时间内无任何数据输入。通信周期异常主要表现为 周期时间过长、过短、沿真值正态分布。同步异常主要表现形式为多接口时间同步异常、数 据同步异常。反馈异常主要表现形式反馈时间过长、过短或反馈丢失。相关约束异常主要表 现形式有:条件组合约束异常关系缺失、并发数过多、条件组合逻辑关系异常、交互顺序异 常。通信参数错误主要表现为传输速率和端口号错误。
3)对每类故障的表现形式,抽象成更为详细的故障。例如,通信参数错误传输速率错误 可以抽象为传输速率不匹配、传输速率在真值周围有正态分布的随机误差。然后对每一个详 细故障按照“输入-变异-输出”形式设计成故障注入算子。本发明中设计的通信故障注入算 子如表5所示
表5通信故障注入算子
第五步,可视化测试用例建模,描述外围交联设备对被测件的操作过程,通过输入变量 来描述外围交联设备对被测件的具体操作方法。
具体的,本发明测试用例建模使用剖面模型,包含操作与步骤两种元素。如图3所示。 其中:
操作。操作是对软件所能完成功能点测试任务的一种说明,指的是能够从软件需求中直 接获得的系统需要完成的最小任务要求。操作是一种动态的行为,是对软件的一种使用。一 个操作可以通过一个或多个步骤来实现。
在测试用例建模视图中,点击“操作”按钮,在网格中点击左键并拖动,完成添加操作; 选定操作并右键点击,点击“重命名”按钮并在对话框中输入“操作”名称,如图3所示。操作是指针对功能点的一次测试,可以设置操作循环次数进行多次测试。
步骤,用户为了使用软件的功能而对软件实施的具体动作。步骤包含的是输入变量的赋 值信息,描述的是直接施加给被测件的输入。在操作中添加步骤示意图如图4所示。
测试用例模型是对测试用例中数据和行为的抽象,是由多个步骤组成,每个步骤由接口 模型、协议数据模型、通信行为和故障注入算子构成,模型属性如表6所示。
表6测试用例模型
第六步,测试脚本自动生成,遍历测试用例模型生成具体操作步骤,利用故障注入算子 生成具体测试数据,将可视化的交联接口形式化测试模型形成XML格式的测试脚本。
1)从操作剖面到步骤序列
步骤是操作剖面中的最小单位。一个功能操作的完成需要进行一系列的步骤,依照一定 的顺序依次进行。所以测试用例生成过程的第一步就是从操作剖面得到步骤序列。
2)从步骤序列到变量序列
步骤描述的是软件接口的输入与输出,不同的输入输出抽象为不同的变量。步骤中的变 量来自于接口建模中的通信变量,其关系在用例建模中确定。找出每个步骤中的变量及其关 系,步骤序列也就转变成了变量序列。
3)从变量序列到输入序列
得到变量序列后并不能马上进行测试,因为还需要确定变量的具体取值。只有得到变量 的取值,才能对软件进行输入。所以把确定的变量序列及其取值统称为输入序列。
4)将顺序转变成时序
对普通软件来说,已知输入的顺序就足够进行软件测试,至于精确到什么时刻输入,对 测试的结果没有任何影响。但是针对嵌入式实时软件,其时序及其重要。当需要确定时序时, 软件必须预先知道以下信息:操作时间、操作间隔时间和相对变量时间。操作时间、操作间 隔时间和相对变量时间确定以后,按照输入序列就可以依次计算出所有变量的输入时刻,确 定出时序。
5)故障数据生成
故障数据生成时,一个报文中存在的故障多种多样,可能一个报文只有一个字段出现故 障,也可能有多个字段同时出现故障。为了实现故障组合注入测试,本发明中使用单字段故 障数据生成方法和多字段故障数据生成方法。
a)单字段故障数据生成
一个报文中只有一个字段进行故障注入,在进行测试用例建模时,一个步骤中的报文数 据只对一个字段选择故障注入算子,生成报文数据时,直接利用故障注入算子对该字段数据 进行变异映射,形成测试数据即可。
b)多字段故障数据生成
一个报文中可能存在多个字段同时故障情况,本发明采用排列组合中的组合算法生成多 字段故障数据。即,有n个字段需要进行故障注入,设置有m(m<n)个字段同时故障注入, 从n个不同字段中任取m个字段进行算子变异,所有可能的组合情况形成测试数据。表7给 出了多字段故障数据生成算法。
表7多字段故障数据生成算法
6)形成XML形式测试用例。
本平台技术中接口协议建模和故障注入器配置信息,都以XML形式存储;通过基于操作 剖面的用例生成,也生成XML格式测试用例。
第七步,测试程序自动生成。利用转换关系映射语言(XSLT),将XML形式测试脚本的节 点与C++语言代码段进行关系映射,利用C#.NET框架中的XSLT处理器自动生成测试脚本程 序。如图4所示。
通过使用面向文本的自动变换方法,将XML格式的故障注入器配置信息、用户构建的被 测件接口协议模型和根据被测件操作剖面所生成的测试用例自动转换为测试主机可以识别并 能自动化执行的测试脚本文件(C++语言的脚本代码)。脚本的自动化生成过程主要基于XML 建模语言的自动化转换技术,使用同样基于XML的转换关系映射语言(XSLT),构建XSLT映 射关系文件时,将多个模型文件中的关键节点与文本程序段构建相应的映射关系。各种关系 通过XSLT提供的模板(template)节点组织管理。例如,针对测试用例中的每个操作 (operation)节点下的步骤(step)节点,将脚本程序中的test_stepX程序与其建立映射 关系。对于步骤中详细操作内容,如变量赋值(assignment)、相加(add)等操作,将相应 的文本段(var=value或var=value1+value2)等建立映射关系,通过XSLT处理器可自动得 到相应的脚本程序文本。
在基于XSLT的脚本自动化生成之后,通过自动调用windows SDK中的编译器,将测试脚 本自动编译为测试可执行程序,得到测试可执行程序后,故障注入主机程序将自动调用该测 试可执行程序执行测试,并通过管道实时记录测试结果。
本方法中生成的测试程序主要功能是实现故障数据的网络发送,通过“多功能接口转换 设备”将其转换为网络、串口和CAN口数据。
第八步,测试执行与数据收集,得到测试程序后,测试用户指定的顺序依次执行测试程 序,并记录测试结果。
测试执行与数据收集需要借助故障注入主控主机和多功能接口转换设备硬件平台。如图5 所示。
1)多功能接口转换设备配置,实现以太网的入口报文转换为串口、CAN总线和以太网口 形式的出口报文。配置信息模型包含信息如下:
●以太网至串口的转换参数配置信息有:本地IP、本地端口、设备IP、设备端口、包长度、间隔时间、波特率、数据位,校验位。
●以太网至CAN总线的转换参数配置信息有:本地IP、本地端口、设备IP、设备端口、 波特率、滤波模式、过滤验收、过滤屏蔽。
●以太网至以太网的转换参数配置信息有:本地IP、本地端口、设备IP、设备端口、对外IP、对外端口、目标IP、目的端口。
多功能接口转换设备配置信息以XML文件存储,在测试初始化时,需要将其转换成相应 的指令报文,利用以太网写入多功能接口转换设备,完成配置。故障注入主控主机与多功能 接口转换设备通过以太网连接,多功能接口转换设备与被测件间的数据通信。
2)自动调用测试可执行程序执行测试。
测试可执行程序通过Socket接口控制以太网设备,按照配置信息所记录的IP地址和端 口信息,利用socket接口与接口故障注入器通信,接口故障注入器将接收到的数据从指定的 外围交联设备接口(R232、CAN等)与被测件通信。
3)通过管道实时记录测试结果。测试数据接收过程中,故测试可执行程序从以太网接收 到来自接口转换设备的测试响应后,通过Windows管道传输到故障注入主机程序中结果收集 模块。管道是一种用于在进程间共享数据的机制,其实质是一段共享内存。Windows系统为 这段共享内存设计采用数据流I/O的方式来访问,由一个进程读、另一个进程写,类似于一 个管道两端,因此这种进程间的通信方式称作“管道”。在结果收集模块中,测试数据保存到 测试记录文件中。最后,测试记录文件可以加载到数据分析模块完成对测试数据的分析与评 价。
第九步,交联接口故障注入测试充分性评价,计算被测件测试充分性指标,对交联接口 的测试充分性进行评价。
交联接口测试充分性定义为交联接口类型覆盖率、接口个数覆盖率、报文类型覆盖率、 交互行为覆盖率、故障类型覆盖率的乘积。故障类型指的是故障注入算子对应的故障类型总 数。
故障注入测试充分性=接口类型覆盖率接口个数覆盖率报文类型覆盖率交互行为覆盖率 故障类型覆盖率。
具体应用时,可根据实际情况对覆盖率进行适当裁减。
测试充分性指标默认为100%,当试充分性指标为100%时,接口类型覆盖率、接口个数 覆盖率、报文类型覆盖率、交互行为覆盖率、故障类型覆盖率也分别为100%,则测试是充分 的。也可以根据被测件实际测试要求人工指定故障注入测试充分性指标,认为到达人工指定 的指标即是充分的。当交联接口测试不充分时,可参照各覆盖指标,考虑是否有遗漏,增加 新的测试数据,重新进行交联接口故障注入测试并进行充分性评价。

Claims (6)

1.一种面向接口的软件故障注入自动化测试方法,步骤如下:
步骤一、交联接口建模,交联接口模型采用如下关系表示:
R={被测件,外围交联设备,输入输出关系,接口类型、通信参数};
步骤二、通信行为分析,分析所述外围交联设备对所述被测件的输入以及被测件的输出的交互行为;
第三步、协议数据建模,按照被测件与外围交联设备定义的报文格式,对协议数据建模,协议数据模型包括名称、所属接口和元素属性,元素属性具体包括元素名称、元素类型、元素初始值、元素数量属性;
第四步、交联接口故障注入算子设计,包括报文故障注入算子和通信故障注入算子;所述报文故障注入算子指的是针对报文中字段的值进行变异,模拟的是报文中的的字段数据错误;所述通信故障注入算在是指针对接口交互行为的变异,模拟的是通信过程中包括周期、同步、反馈在内的交互行为中的各种故障;
第五步、可视化测试用例建模,描述所述外围交联设备对所述被测件的操作过程,测试用例建模使用剖面模型;
第六步、测试脚本自动生成,遍历测试用例模型生成具体操作步骤,利用故障注入算子生成具体测试数据,将可视化的交联接口形式化测试模型形成XML格式的测试脚本;
第七步、利用转换关系映射语言,将XML形式测试脚本的节点与C++语言代码段进行关系映射,利用C#.NET框架中的XSLT处理器自动生成测试程序;
第八步、得到所述测试脚本程序后,测试(按照)用户指定的顺序依次执行测试程序,并记录测试结果;
第九步、根据交联接口测试充分性指标,针对测试结果进行测试充分性评价评价;若交联接口测试充分,测试完成;若交联接口测试不充分,参照所述教练接口测试充分性指标评价结果,重新进行交联结构故障注入测试并进行充分性评价。
2.根据权利要求1所述的一种面向接口的软件故障注入自动化测试方法,其特征在于,所述交联接口建模具体步骤为:
步骤一、分析所述被测件与所述外围交联设备之间的通信关系;
步骤二、以图形化的形式描述被测件与所述外围交联设备输入输出关系;
步骤三、分析所述被测件与所述外围交联设备之间的接口类型,所述接口类型包括RS232、RS422、RS485、CAN总线、Ethernet,每一个输入输出关系对应一个接口类型;
步骤四、设置每个接口类型的通信参数;
所述被测件接口类型包括RS232、RS422、RS485、CAN总线、Ethernet。
3.根据权利要求1所述的一种面向接口的软件故障注入自动化测试方法,其特征在于,所述报文故障注入算子的设计步骤为:
步骤一、收集接口通信中数据相关的常见故障,包括报文的长度故障、报文的数值错误、数值的精度与实际要求不符、某些枚举值出现枚举范围外的值、字段的类型不对;
步骤二、分析每类常见故障产生的原因;
步骤三、针对每类常见故障产生的原因,抽象成为详细故障,对每个所述详细故障按照“输入-变异-输出”形式设计成报文故障注入算子。
4.根据权利要求1所述的一种面向接口的软件故障注入自动化测试方法,其特征在于,所述通信故障注入算子设计步骤为:
步骤一、收集接口通信中与通信行为相关的常见故障,包括数据通信不稳定、通信周期异常、同步异常、反馈异常、相关约束异常和通信参数错误;
步骤二、分析每类常见故障的表现形式;
步骤三、针对每类常见故障的表现形式,抽象成为详细故障,对每个所述详细故障按照“输入-变异-输出”形式设计成通信故障注入算子。
5.根据权利要求1所述的一种面向接口的软件故障注入自动化测试方法,其特征在于,所述剖面模型包括操作和步骤两种元素,所述操作是对软件所能完成功能点测试任务的一种说明,能够从软件需求中直接获得的系统需要完成的最小任务要求;
所述步骤是是输入变量的赋值信息,描述的是直接施加给被测件的输入。
6.根据权利要求1所述的一种面向接口的软件故障注入自动化测试方法,其特征在于,所述被测件测试充分性指标包括交联接口类型覆盖率、接口个数覆盖率、报文类型覆盖率、交互行为覆盖率、故障类型覆盖率的乘积。
CN201710398941.9A 2017-05-31 2017-05-31 一种面向接口的软件故障注入自动化测试方法 Pending CN107368408A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710398941.9A CN107368408A (zh) 2017-05-31 2017-05-31 一种面向接口的软件故障注入自动化测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710398941.9A CN107368408A (zh) 2017-05-31 2017-05-31 一种面向接口的软件故障注入自动化测试方法

Publications (1)

Publication Number Publication Date
CN107368408A true CN107368408A (zh) 2017-11-21

Family

ID=60305457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710398941.9A Pending CN107368408A (zh) 2017-05-31 2017-05-31 一种面向接口的软件故障注入自动化测试方法

Country Status (1)

Country Link
CN (1) CN107368408A (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009060A (zh) * 2017-11-29 2018-05-08 北京润科通用技术有限公司 一种rs485总线故障模拟方法及装置
CN108055167A (zh) * 2017-12-29 2018-05-18 长春长光精密仪器集团有限公司 一种面向应用的接口通信协议建模方法及装置
CN108228454A (zh) * 2017-12-29 2018-06-29 中国船舶工业综合技术经济研究院 一种基于环境故障注入的机电产品软件可靠性评价方法
CN108268348A (zh) * 2017-12-08 2018-07-10 广州视源电子科技股份有限公司 接口测试方法、装置、移动终端及存储介质
CN109491919A (zh) * 2018-11-28 2019-03-19 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109782738A (zh) * 2019-01-28 2019-05-21 北京天地玛珂电液控制系统有限公司 集成供液控制系统的仿真测试系统及方法
CN109885500A (zh) * 2019-02-27 2019-06-14 苏州浪潮智能科技有限公司 一种提高软件测试覆盖率的方法和系统
CN110474822A (zh) * 2019-08-08 2019-11-19 腾讯科技(深圳)有限公司 一种区块链节点检测方法、装置、设备及介质
CN110674028A (zh) * 2019-08-20 2020-01-10 华为技术有限公司 故障注入方法及其装置、业务服务系统
CN110928761A (zh) * 2018-07-30 2020-03-27 通用电气公司 需求链及其应用的系统和方法
CN111026631A (zh) * 2018-10-09 2020-04-17 顺丰科技有限公司 接口自动化检测方法、装置和服务器
CN111176991A (zh) * 2019-12-23 2020-05-19 北京轩宇信息技术有限公司 一种嵌入式软件接口用例自动化生成方法
CN111258827A (zh) * 2020-01-14 2020-06-09 吉利汽车研究院(宁波)有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN111324546A (zh) * 2020-03-20 2020-06-23 普信恒业科技发展(北京)有限公司 一种任务测试方法及装置
CN111338959A (zh) * 2020-02-27 2020-06-26 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
CN112199270A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 一种程序测试方法、装置、设备及介质
CN112436932A (zh) * 2020-11-20 2021-03-02 深圳市宏电技术股份有限公司 两路半双工接口控制方法、装置、电子设备及存储介质
CN112799900A (zh) * 2021-02-02 2021-05-14 苏州同元软控信息技术有限公司 基于Modelica的模型故障注入方法及系统
CN112925706A (zh) * 2021-02-08 2021-06-08 北京世冠金洋科技发展有限公司 一种数据处理方法及装置
CN113127331A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN113407450A (zh) * 2021-06-22 2021-09-17 平安国际智慧城市科技股份有限公司 基于参数自动识别的接口测试方法、装置、设备及介质
CN113472553A (zh) * 2020-03-30 2021-10-01 中国移动通信集团浙江有限公司 故障注入系统及方法
CN116126738A (zh) * 2023-04-17 2023-05-16 紫金诚征信有限公司 接口异常的识别方法、装置及电子设备
CN116431518A (zh) * 2023-04-26 2023-07-14 北京计算机技术及应用研究所 一种基于仿真平台的多层级、多模式软件故障注入方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650966A (zh) * 2011-02-24 2012-08-29 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN103701663A (zh) * 2013-12-25 2014-04-02 北京航天测控技术有限公司 一种1553b总线程控故障注入装置
CN104536303A (zh) * 2014-12-11 2015-04-22 中国航空工业集团公司第六三一研究所 一种故障注入方法
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102650966A (zh) * 2011-02-24 2012-08-29 王轶辰 一种面向复用的嵌入式软件测试方法及其测试系统
CN103701663A (zh) * 2013-12-25 2014-04-02 北京航天测控技术有限公司 一种1553b总线程控故障注入装置
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN104536303A (zh) * 2014-12-11 2015-04-22 中国航空工业集团公司第六三一研究所 一种故障注入方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈强 等: "基于模型的软件接口故障注入测试平台技术", 《计算机测量与控制》 *

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009060A (zh) * 2017-11-29 2018-05-08 北京润科通用技术有限公司 一种rs485总线故障模拟方法及装置
CN108268348A (zh) * 2017-12-08 2018-07-10 广州视源电子科技股份有限公司 接口测试方法、装置、移动终端及存储介质
CN108055167B (zh) * 2017-12-29 2020-08-14 长春长光精密仪器集团有限公司 一种面向应用的接口通信协议建模方法及装置
CN108055167A (zh) * 2017-12-29 2018-05-18 长春长光精密仪器集团有限公司 一种面向应用的接口通信协议建模方法及装置
CN108228454A (zh) * 2017-12-29 2018-06-29 中国船舶工业综合技术经济研究院 一种基于环境故障注入的机电产品软件可靠性评价方法
CN108228454B (zh) * 2017-12-29 2021-03-09 中国船舶工业综合技术经济研究院 一种基于环境故障注入的机电产品软件可靠性评价方法
CN110928761B (zh) * 2018-07-30 2023-08-11 通用电气公司 需求链及其应用的系统和方法
CN110928761A (zh) * 2018-07-30 2020-03-27 通用电气公司 需求链及其应用的系统和方法
CN111026631B (zh) * 2018-10-09 2024-03-26 顺丰科技有限公司 接口自动化检测方法、装置和服务器
CN111026631A (zh) * 2018-10-09 2020-04-17 顺丰科技有限公司 接口自动化检测方法、装置和服务器
CN109491919B (zh) * 2018-11-28 2021-10-26 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109491919A (zh) * 2018-11-28 2019-03-19 中电科西北集团有限公司 一种软件测试方法及测试平台
CN109782738A (zh) * 2019-01-28 2019-05-21 北京天地玛珂电液控制系统有限公司 集成供液控制系统的仿真测试系统及方法
CN109885500A (zh) * 2019-02-27 2019-06-14 苏州浪潮智能科技有限公司 一种提高软件测试覆盖率的方法和系统
CN112199270B (zh) * 2019-07-08 2024-02-27 腾讯科技(深圳)有限公司 一种程序测试方法、装置、设备及介质
CN112199270A (zh) * 2019-07-08 2021-01-08 腾讯科技(深圳)有限公司 一种程序测试方法、装置、设备及介质
CN110474822A (zh) * 2019-08-08 2019-11-19 腾讯科技(深圳)有限公司 一种区块链节点检测方法、装置、设备及介质
CN110674028A (zh) * 2019-08-20 2020-01-10 华为技术有限公司 故障注入方法及其装置、业务服务系统
WO2021032175A1 (zh) * 2019-08-20 2021-02-25 华为技术有限公司 故障注入方法及其装置、业务服务系统
CN111176991A (zh) * 2019-12-23 2020-05-19 北京轩宇信息技术有限公司 一种嵌入式软件接口用例自动化生成方法
CN113127331A (zh) * 2019-12-31 2021-07-16 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN113127331B (zh) * 2019-12-31 2024-01-05 航天信息股份有限公司 一种基于故障注入的测试方法、装置及计算机设备
CN111258827A (zh) * 2020-01-14 2020-06-09 吉利汽车研究院(宁波)有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN111258827B (zh) * 2020-01-14 2024-01-12 宁波吉利汽车研究开发有限公司 接口模型的确定方法、装置、电子设备及存储介质
CN111338959A (zh) * 2020-02-27 2020-06-26 腾讯科技(深圳)有限公司 一种数据处理方法及相关设备
CN111324546A (zh) * 2020-03-20 2020-06-23 普信恒业科技发展(北京)有限公司 一种任务测试方法及装置
CN113472553A (zh) * 2020-03-30 2021-10-01 中国移动通信集团浙江有限公司 故障注入系统及方法
CN112436932A (zh) * 2020-11-20 2021-03-02 深圳市宏电技术股份有限公司 两路半双工接口控制方法、装置、电子设备及存储介质
CN112799900A (zh) * 2021-02-02 2021-05-14 苏州同元软控信息技术有限公司 基于Modelica的模型故障注入方法及系统
CN112925706B (zh) * 2021-02-08 2023-07-21 北京世冠金洋科技发展有限公司 一种数据处理方法及装置
CN112925706A (zh) * 2021-02-08 2021-06-08 北京世冠金洋科技发展有限公司 一种数据处理方法及装置
CN113407450A (zh) * 2021-06-22 2021-09-17 平安国际智慧城市科技股份有限公司 基于参数自动识别的接口测试方法、装置、设备及介质
CN113407450B (zh) * 2021-06-22 2024-03-15 平安国际智慧城市科技股份有限公司 基于参数自动识别的接口测试方法、装置、设备及介质
CN116126738B (zh) * 2023-04-17 2023-07-21 紫金诚征信有限公司 接口异常的识别方法、装置及电子设备
CN116126738A (zh) * 2023-04-17 2023-05-16 紫金诚征信有限公司 接口异常的识别方法、装置及电子设备
CN116431518A (zh) * 2023-04-26 2023-07-14 北京计算机技术及应用研究所 一种基于仿真平台的多层级、多模式软件故障注入方法
CN116431518B (zh) * 2023-04-26 2023-09-26 北京计算机技术及应用研究所 一种基于仿真平台的多层级、多模式软件故障注入方法

Similar Documents

Publication Publication Date Title
CN107368408A (zh) 一种面向接口的软件故障注入自动化测试方法
Jensen et al. Colored Petri nets: a graphical language for formal modeling and validation of concurrent systems
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
CN102880546B (zh) 一种基于xml数据库的软件集成测试方法及系统
CN106021816B (zh) 一种基于行为树的分布式系统行为仿真分析工具的实现方法
Bernardeschi et al. A PVS-simulink integrated environment for model-based analysis of cyber-physical systems
Pohlmann et al. Generating functional mockup units from software specifications
CN111176984A (zh) 一种面向信号的自动测试实现方法
Zheng et al. On the state of the art in verification and validation in cyber physical systems
CN106201803A (zh) 一种基于被测试对象模型的通用自动化测试系统及方法
CN111782539A (zh) 一种基于国产操作系统的测试诊断一体化开发平台
Engels et al. Model-based verification and validation of properties
Cheng et al. Modana: An integrated framework for modeling and analysis of energy-aware CPSs
CN112035996A (zh) 一种装备测试性一体化设计与评估系统
Hartmann et al. UML-based test generation and execution
Naik et al. Testing communication protocols
Mehlhop et al. Model-aware simulation of IEC 61499 designs
CN110347610B (zh) 一种嵌入式代码调试系统及方法
Babic Model-based approach to real-time embedded control systems development with legacy components integration
Miao et al. A formal specification-based integration testing approach
Sattar et al. Automated DD-path Testing and its Significance in SDLC Phases
Sving et al. Pilot project for model based testing using conformiq qtronic
Huber et al. Model-based development of embedded systems
Jin et al. Description Method of Cyber-Physical System Fusion Model
Liu et al. A Model-Based Testing Tool for Embedded Software

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171121