CN115145808A - 一种机载嵌入式软件自动化测试方法 - Google Patents
一种机载嵌入式软件自动化测试方法 Download PDFInfo
- Publication number
- CN115145808A CN115145808A CN202210642136.7A CN202210642136A CN115145808A CN 115145808 A CN115145808 A CN 115145808A CN 202210642136 A CN202210642136 A CN 202210642136A CN 115145808 A CN115145808 A CN 115145808A
- Authority
- CN
- China
- Prior art keywords
- test
- automatic
- testing
- embedded software
- automated
- 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
Links
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3664—Environments for testing or debugging software
-
- 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/3692—Test management for test results analysis
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
本申请属于飞机管理设计领域,为一种机载嵌入式软件自动化测试方法,通过自动设计连续型输入信号和离散型输入信号,得到测试用例,而后通过搭建自动化执行环境,进行自动化测试,而后通过搭建自动换分析模型,进行自动化分析,最后根据测试结果自动化编写测试文档。中间需要的人工干预极少,仅在流程的间隔和执行每个步骤的开始需要测试人员进行工具的配置和测试相关指令的注入,从而在最大程度进行了自动化的软件测试,测试效率高,测试不确定性少、准确性高。
Description
技术领域
本申请属于飞机管理设计领域,特别涉及一种机载嵌入式软件自动化测试方法。
背景技术
机载嵌入式软件是飞机系统中具有高安全等级要求的软件,因而针对机载嵌入式软件的测试也十分重要。
当前针对机载嵌入式软件的测试方法依然沿袭了传统的软件测试方法,即从测试策划、测试用例设计到测试执行和测试结果分析,每个过程由人手工完成,即便是中间某些过程采用一定程度的计算机辅助,但是整个过程下来依然有大量的人工干预。人为因素容易造成不易察觉的疏忽和失误,给测试过程和结果带来不准确性和不确定性。因而本发明提出一种全流程软件自动化测试方法,以提高准确性和确定性。
发明内容
本申请的目的是提供了一种机载嵌入式软件自动化测试方法,以解决现有技术中人工测试带来的不准确性和不确定性的问题。
本申请的技术方案是:一种机载嵌入式软件自动化测试方法,包括:分别进行连续型输入信号的用例自动设计和离散型输入信号的用例自动设计,得到测试用例;搭建自动化测试执行环境,执行自动化测试;通过预先设置的测试准则搭建自动化分析模型,进行测试结果自动化分析;根据测试结果自动化编写测试文档。
优选地,所述连续型输入信号的自动设计方法为:确定信号的取值范围,根据取值范围设计线性调频信号作为输入波形,选取调频范围和调频斜率。
优选地,通过模拟退火法进行调频范围和调频斜率的选取。
优选地,所述离散型输入信号的自动设计方法为:按照MC/DC测试用例覆盖准则,设计出测试用例真值表,根据真值表对离散型输入信号进行赋值,得到测试用例。
优选地,当测试用例在结论和测试用例未通过时进行软件缺陷溯源,利用采用Adaboost方法搭建的定位模型,并采用基于决策树的Adaboost方法进行软件缺陷定位。
优选地,所述测试文档自动化编写的方法为:编写VBA脚本进行自动整合,将测试结果填入相应的测试文档中。
本申请的一种机载嵌入式软件自动化测试方法,通过自动设计连续型输入信号和离散型输入信号,得到测试用例,而后通过搭建自动化执行环境,进行自动化测试,而后通过搭建自动换分析模型,进行自动化分析,最后根据测试结果自动化编写测试文档。中间需要的人工干预极少,仅在流程的间隔和执行每个步骤的开始需要测试人员进行工具的配置和测试相关指令的注入,从而在最大程度进行了自动化的软件测试,测试效率高,测试不确定性少、准确性高。
附图说明
为了更清楚地说明本申请提供的技术方案,下面将对附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。
图1为本申请整体流程示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行更加详细的描述。
一种机载嵌入式软件自动化测试方法,为一种全流程自动化测试方法,具体包括如下步骤:
步骤S100,分别进行连续型输入信号的用例自动设计和离散型输入信号的用例自动设计,得到测试用例;
测试用例是软件测试的核心内容,以往的测试用例设计方法都是测试人员根据软件需求规格说明或软件设计说明等需求类文档利用头脑风暴的方式设计针对某一功能需求或性能需求等的测试输入条件及测试执行方法。随着飞机系统功能的逐渐增多和飞机飞行逻辑的愈发复杂,头脑风暴的人工设计方法越来越暴露出一些弊端:例如设计测试用例覆盖度不足,及用例的有效比例不高等。因而,需要一种能够利用计算机自动设计测试用例的方法,以减少人工方法引入的不足。
自动设计测试用例的方法分为两部分:针对连续型输入信号的用例自动设计和针对离散型输入信号的用例自动设计。针对连续型输入信号,首先需要确定信号的取值范围,然后根据取值范围设计线性调频信号作为输入波形,调频范围和调频斜率可视情选取。从理论上来说,2个频率范围不同的线性调频信号只要信号时间够长,那么可以取到幅值范围内任意数值组合,因而这种信号选取方法可以较大程度上遍历到不同的逻辑分支。但是由于信号时间长度不可能无限大,所以针对一定长度的时间信号,需要以一定的概率对其作出更改,从而使其取值能够遍历所有逻辑分支,而更改的方法可以采用模拟退火法,即按照一定的评价准则和一定的概率更改输入信号的属性(幅值、频率等),以达到遍历更多分支的目的。
针对离散型输入信号,采用MC/DC测试用例覆盖准则设计测试用例,可以最大程度降低测试用例耦合,使测试用例专注于单一功能逻辑。具体的设计方法是,按照MC/DC测试用例覆盖准则,设计出测试用例真值表,根据真值表对离散型输入信号进行赋值,从而得到测试用例。将以上两类信号结合到一起,就得到了采用自动方法设计的测试用例。
步骤S200,搭建自动化测试执行环境,执行自动化测试;
传统的测试执行方法是人工搭建测试环境,在搭建好的测试环境下按顺序执行上一步设计好的测试用例。在测试用例执行过程中,测试用例输入接口注入和执行测试用例并记录测试结果是最为重要的,但也是最为繁琐,测试人员需要将不同测试用例的输入接口注入到测试环境中,然后回采测试结果并记录。将该过程进行自动化处理,实现测试用例的自动化执行,能够大幅减少人工操作,同时提高测试效率。
测试用例的自动化执行需要搭建相应的自动化测试执行环境。在该测试环境中,可以将所有接口以表格的形式列出,并具有可视化功能,能够通过简单的选定功能可视化展示某个输入接口在特定测试用例下的取值波形。测试用例的注入可以采用手工输入,也支持后台脚本读取,从而实现无人干预也能注入测试用例。测试的执行为后台自动执行,执行后能够自动保存测试结果并加以可视化展示。测试环境具有连续静默执行测试用例的功能,也可以保存当前测试用例以便随时进行回归测试。
步骤S300,通过预先设置的测试准则搭建自动化分析模型,进行测试结果自动化分析;
在传统的测试方法中,测试用例的通过与否,测试结果对比曲线,以及未通过测试用例的复查和分析都需要大量的人工审查。人工审查的优势是可以利用人的经验发现一些问题,但是劣势则是对测试人员要求较高,当系统较复杂时难以有效找出软件缺陷,效率也极为低下。通过建立一个自动化分析模型将复杂的分析逻辑交给计算机处理,不仅能够利用模型批量地处理相似的软件问题,从而按照规则系统地将软件缺陷全部定位,而且能够极大地提高测试分析效率,降低人力成本。
通过预先设置的测试准则为现有的测试准确,现将其写入程序中,自动化分析模型中存储有标准数据,通过实时采集自动化测试中的结果与对比的标准数据进行自动对比,从而完成自动化分析。
针对上一步生成的测试结果,利用自动化分析手段,可以得到以下结果:测试用例是否需要在结论和测试用例未通过情况下进行软件缺陷溯源。测试结果是否通过需要根据预先设置的测试准则来判别。例如,测试结果中有两条曲线,一条是预期结果,另一条是实际测试结果,两条曲线在多大程度上的吻合能够表明测试用例通过与否?这涉及到准则的制定,不在本发明探讨范围内。如果判定结果为未通过,那么需要根据测试结果进行软件缺陷溯源,这里主要采用基于决策树的Adaboost方法进行软件缺陷定位。采用Adaboost方法搭建的定位模型,一开始很难准确预测缺陷位置,但是随着测试用例数据的增多和人工反馈的结合,测试模型会渐渐进行学习,不断利用梯度下降的方法找到具有软件缺陷可能性最大的模块,从而辅助软件设计人员定位软件缺陷。
步骤S400,根据测试结果自动化编写测试文档。
测试文档主要包括测试计划、测试说明和测试报告等内容,其中测试计划主要体现测试策划的内容,而测试说明和测试报告则包含了全部设计的测试用例、测试执行的结果和测试分析结果,事实上就是以上三个步骤相关结果的文字化表述。传统的测试文档编制由人工完成,一般是将测试过程中得到的表格、图片和记录等内容整合到相应的测试文档中。整合的过程其实涉及大量人工操作,而且是纯粹的手工重复劳动。通过将测试结果发送至文档编写单元,利用计算机程序自动生成测试文档,可以省时省力,同时降低低级失误(例如贴错图等)发生的几率。利用测试结果数据自动编写测试文档的方式比较现有,在此不再赘述。
根据以上步骤得到的测试结果,可以编写VBA脚本进行自动整合,按照一定的格式(如军用标准GJB438B)将测试结果填入相应的测试文档中。
本申请通过自动设计连续型输入信号和离散型输入信号,得到测试用例,而后通过搭建自动化执行环境,进行自动化测试,而后通过搭建自动换分析模型,进行自动化分析,最后根据测试结果自动化编写测试文档。中间需要的人工干预极少,仅在流程的间隔和执行每个步骤的开始需要测试人员进行工具的配置和测试相关指令的注入,从而在最大程度进行了自动化的软件测试,测试效率高,测试不确定性少、准确性高。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种机载嵌入式软件自动化测试方法,其特征在于,包括:
分别进行连续型输入信号的用例自动设计和离散型输入信号的用例自动设计,得到测试用例;
搭建自动化测试执行环境,执行自动化测试;
通过预先设置的测试准则搭建自动化分析模型,进行测试结果自动化分析;
根据测试结果自动化编写测试文档。
2.如权利要求1所述的机载嵌入式软件自动化测试方法,其特征在于,所述连续型输入信号的自动设计方法为:
确定信号的取值范围,根据取值范围设计线性调频信号作为输入波形,选取调频范围和调频斜率。
3.如权利要求2所述的机载嵌入式软件自动化测试方法,其特征在于:通过模拟退火法进行调频范围和调频斜率的选取。
4.如权利要求1所述的机载嵌入式软件自动化测试方法,其特征在于,所述离散型输入信号的自动设计方法为:
按照MC/DC测试用例覆盖准则,设计出测试用例真值表,根据真值表对离散型输入信号进行赋值,得到测试用例。
5.如权利要求1所述的机载嵌入式软件自动化测试方法,其特征在于:当测试用例在结论和测试用例未通过时进行软件缺陷溯源,利用采用Adaboost方法搭建的定位模型,并采用基于决策树的Adaboost方法进行软件缺陷定位。
6.如权利要求1所述的机载嵌入式软件自动化测试方法,其特征在于,所述测试文档自动化编写的方法为:编写VBA脚本进行自动整合,将测试结果填入相应的测试文档中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642136.7A CN115145808A (zh) | 2022-06-07 | 2022-06-07 | 一种机载嵌入式软件自动化测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210642136.7A CN115145808A (zh) | 2022-06-07 | 2022-06-07 | 一种机载嵌入式软件自动化测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145808A true CN115145808A (zh) | 2022-10-04 |
Family
ID=83407665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210642136.7A Pending CN115145808A (zh) | 2022-06-07 | 2022-06-07 | 一种机载嵌入式软件自动化测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145808A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629996A (zh) * | 2022-12-21 | 2023-01-20 | 深圳市微克科技有限公司 | 一种嵌入式软件自动化测试方法 |
-
2022
- 2022-06-07 CN CN202210642136.7A patent/CN115145808A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629996A (zh) * | 2022-12-21 | 2023-01-20 | 深圳市微克科技有限公司 | 一种嵌入式软件自动化测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Blackburn et al. | Why model-based test automation is different and what you should know to get started | |
CN109739766B (zh) | 一种快速搭建fpga数字仿真模型的系统及方法 | |
Ould et al. | Testing in software development | |
EP2778929B1 (en) | Test script generation system | |
US20120116561A1 (en) | Program testing apparatus, method of testing a program, and program testing program | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
CN111258881B (zh) | 一种用于工作流程测试的智能测试系统 | |
CN107080945B (zh) | 测试游戏中人工智能行为的方法、装置及电子设备 | |
US20120117537A1 (en) | Flow Chart Programming Platform for Testers and Simulators | |
CN105912460A (zh) | 一种基于qtp的软件测试方法及系统 | |
CN104615544A (zh) | 面向问题的gui软件关联功能分析方法及装置 | |
CN103678116A (zh) | 用于促进自动化程序测试的方法和系统 | |
KR20010023999A (ko) | 집적회로 테스트용 테스트 시스템에서의 명명된 디바이스파라미터 데이터를 저장 및 검색하는 시스템 | |
CN114915643B (zh) | 铁路信号集中监测系统的配置方法、装置、设备及介质 | |
CN115145808A (zh) | 一种机载嵌入式软件自动化测试方法 | |
CN110069414A (zh) | 回归测试方法及系统 | |
KR102271857B1 (ko) | 테스트 자동화 시스템 | |
Li et al. | Application of large-data-driven PHM technology in satellite test and on-orbit management | |
CN105653445A (zh) | 一种满足do-178c测试结果的实现方法 | |
CN110717305A (zh) | 适用于fpga的验证与确认的方法、系统、设备及介质 | |
Flemström et al. | Exploring test overlap in system integration: An industrial case study | |
CN112699035A (zh) | 一种多分区机载应用软件关联索引测试方法和装置 | |
CN114116503A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
Kochaleema et al. | Methodology for Integrating Computational Tree Logic Model Checking in Unified Modelling Language Artefacts: A Case Study of an Embedded Controller. | |
RU2817186C1 (ru) | Система подтверждения тестов и тестирования встроенного программного обеспечения электронных устройств |
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 |