基于嵌入式软件的覆盖测试问题研究
基于嵌入式系统的BullseyeCoverage逻辑覆盖测试方法

• 204•目前嵌入式软件的覆盖率测试相对通用平台软件具有一定的的复杂性和困难性,本文介绍了一种基于嵌入式系统的BullseyeCoverage 逻辑覆盖测试概念及方法,研究了代码覆盖率工具 BullseyeCoverage 的工作原理,并应用到实际嵌入式系统测试案例中,实践结果表明, BullseyeCoverage 测试工具能够从函数覆盖、条件/判定覆盖多个角度快速、准确地定位未被测试的代码,并给出测试报告,便于测试人员有针对性地设计测试用例,以便发现潜在的软件缺陷,最终提高软件产品质量。
针对嵌入式系统而言,其开发平台与运行平台一般不同,开发工具运行在软硬件配置丰富的测试计算机上,嵌入式执行程序运行在软硬件资源相对缺乏的目标机上,由于开发环境与运行环境存在较大差异,且常规的测试方法和技术在嵌入式软件系统中难以奏效,故嵌入式软件相对于通用平台的软件而言,测试工作有一定的复杂性。
嵌入式软件的覆盖率测试,其充分性测试具有重要意义。
借助于覆盖率分析工具可以降低测试难度同时可以提高测试效率。
本文介绍了一种基于嵌入式系统的BullseyeCoverage 逻辑覆盖测试方法,通过搭建基于arm-xilinx-linux 目标板的嵌入式软件动态测试平台进行动态覆盖测试,根据覆盖率分析情况补充测试用例,实现软件的充分性测试。
1 软件的覆盖测试1.1 覆盖率概念覆盖率测试也称为逻辑测试,测试时需要访问测试代码本身然后对代码进行插装,主要以程序的内部结构为基础来设计测试用例,因此,它也是白盒测试的一种方法;覆盖率度量指标有多种,包括函数覆盖、语句覆盖、条件覆盖、分支覆盖、分支/条件覆盖、路径覆盖等,其中语句覆盖是最基本的覆盖标准。
覆盖率是代码执行所占的百分比,覆盖率按照式(1)计算:覆盖率=已执行的程序对象数量/程序中可执行的程序对象的总数×100% (1)覆盖率测试基本准则是测试用例要尽可能多地覆盖程序的内部逻辑结构,发现隐藏的错误和问题。
关于嵌入式软件测试的研究

关于嵌入式软件测试的研究作者:滕昭跃来源:《科学与财富》2016年第12期摘要:随着近些年嵌入式软件技术的迅猛发展,为了确保这一软件技术的质量,有必要测试嵌入式软件,本文在此背景下,阐述嵌入式软件测试的概念、环境、策略、特征,可以为测试嵌入式软件提供一定参考。
关键词:嵌入式;软件技术;测试1 嵌入式软件测试基本情况1.1 嵌入式软件测试概念界定为了对嵌入式软件测试进行分析,首先则是应该对其概念了解,基于概念这一层面,可以将嵌入式软件测试看成是交叉测试,不管是嵌入式软件测试还是非嵌入式软件,往往目的都会相同。
硬件在设计嵌入式系统当中逐步被软件替代,为了降低系统成本与增加灵活性,应该通过性能更佳的测试工具与方法测试嵌入式与实时软件[1]。
为确保嵌入式系统作用的发挥,在这里应该让其可靠性存在十分高的要求。
从安全性这一层面进行分析,昂嵌入式系统安全性失效,可能引发十分严重后果。
这就应该严格验证、确认、测试嵌入式软件。
1.2 嵌入式软件测试特征根据对嵌入式软件测试进行分析,其主要存在以下特征:一是嵌入式软件测试实施相应的运行则必须应该立足于相应的某种特定硬件环境当中;二是应该为嵌入式软件所具备的实时性要求提供必要的保证;三是在实施嵌入式软件测试环节当中除了应该做好性能测试之外,还必须测试GUI与覆盖分析,运行嵌入式软件并不应该出现泄漏,应该测试嵌入式软件内存;四是嵌入式产品可以将全部功能满足的过程当中,测试最终目的就是可靠安全运行,这就必须实施产品测试[2]。
2 嵌入式软件测试环境分析2.1 仿真测试环境一是全实物。
被测软件处于这样的绝对真实的仿真测试环境下运行,测试就是直接把整个系统与交联物理设备相助建立真实链接而逐步形成闭环[3]。
其侧重点是测试被测系统和别的设备接口,相对来说拥有比较低的测试环境要求。
二是半实物。
仿真测试的半实物环节则是指凭借着充分有效利用所建立的仿真模型来仿真被测系统交联系统,在这一过程当中,需要值得重点关注的问题是,被测系统则是处于真实性的环境当中。
嵌入式软件单元测试方法研究

嵌入式软件单元测试方法研究作者:刘佳杨永文李金华来源:《软件工程》2019年第08期摘; 要:嵌入式软件通常采用交叉开发的方式,尽早进行软件测试可以及时发现软件开发初期的不足。
单元测试是嵌入式软件开发过程中最基础级别的测试活动。
本文对嵌入式软件的单元测试进行了分析,主要包括测试工具的选择、测试内容的梳理和测试过程的优化,重点阐述了注意事项及原则。
通过总结分析,提出了适宜操作的嵌入式软件单元测试方法。
实践证明,该方法大大提高了软件测试水平和软件产品代码的质量。
关键词:测试计划;单元测试;测试过程;嵌入式软件中图分类号:TP311.5; ; ;文献标识码:AAbstract:As the cross-development method is usually applied for embedded software,software testing is conducted early,so as to promptly find out the defects and problems at the early stage of software development.Unit testing is the basic testing in the process of embedded software development.This paper analyses embedded software unit testing,including the choice of testing tools,the analysis of testing content and the optimization of testing process,mainly describing the notes and principles.Through the comprehensive summary and analysis,the paper proposes an easy-to-operate and suitable unit testing method for embedded software.Practice indicates that this method greatly improves the level of software testing and software product quality.Keywords:testing plan;unit testing;testing process;embedded software1; ;引言(Introduction)由于嵌入式软件运行在嵌入式计算机系统中,且实时性强。
嵌入式系统的调试与测试技术研究

嵌入式系统的调试与测试技术研究嵌入式系统是一种高度集成的各种硬件和软件系统,其应用范围广泛,包括汽车、医疗设备、航空航天、工业自动化等领域。
嵌入式系统的调试和测试是确保系统可靠性和稳定性的重要步骤。
本文将从嵌入式系统的调试和测试技术入手,深入探讨如何提高嵌入式系统的可靠性和稳定性。
一、嵌入式系统的调试和测试方法嵌入式系统的调试和测试在整个系统开发过程中起着至关重要的作用。
常见的嵌入式系统调试和测试方法包括:仿真测试、单元测试、集成测试、验收测试等。
其中,仿真测试是利用仿真器或者模拟器对嵌入式系统进行各种测试,可以帮助开发人员在没有实际硬件的情况下快速进行开发和调试;单元测试是对嵌入式系统中的各个模块进行测试,确保每个模块的功能正确性;集成测试是对整个系统进行测试,确保各个模块之间的协同工作正常;验收测试是为了验证开发的系统是否符合客户的需求和要求。
二、硬件调试测试技术硬件调试测试技术是指对嵌入式系统硬件进行测试和调试,主要包括CPU分析器、电路分析仪、万用表、示波器等设备。
在进行硬件调试时,一般首先要进行硬件电路图的设计和分析,确保电路图的正确性和稳定性。
其次,要对板子进行功率测试、时钟测试、引脚测试等测试,保证板子的正常工作。
最后,要进行连通性测试,确保各个模块之间的连接正常。
三、软件调试测试技术软件调试测试技术是指对嵌入式系统软件进行测试和调试,主要包括GDB调试、Trace调试、代码覆盖率测试、文本比对测试等技术。
在进行软件调试时,一般首先要对软件进行静态分析和代码审查,发现潜在的错误和问题。
其次,要利用GDB调试器进行调试,对函数的输入、输出进行跟踪和观察。
最后,要进行文本比对测试,确保程序输出结果的正确性和稳定性。
四、嵌入式系统测试工具嵌入式系统测试工具是指针对嵌入式系统进行测试和调试的软件工具,包括MBIST、JTAG debugger、FileScope、Coverity等工具。
MBIST是一种存储器内置自检工具,可以帮助开发人员快速发现存储器中的问题。
嵌入式软件的覆盖测试

覆 盖 策 略 语 句覆盖
工 具 。 另 外 , 还 有 一 些 特 殊 用 途 的 或 专 用 工 具 , 如 协 议 测 试 仪 、内 存 检 测 工 具 等 。这 些 工 具 都 有 较 为
成 熟 的 商 业 化 产 品 , 也 可 通 过 自 行 开 发 的 方 式 获
得 。
从 以 上 简 要 介 绍 可 看 出 , 这 几 种 覆 盖 策 略 的 严 格程 度 试 等等 。
2 软件 覆盖测试
覆 盖 是 一 种 白 盒 测 试 方 法 , 测 试 人 员 必 须 拥 有 程 序 的 规 格 说 明 和 程 序 清 单 , 以程 序 的 内部 结 构 为 基 础 , 来 设 计 测 试 案 例 。 其 基 本 准 则 是 用 测 试 案 例 来 尽 可 能 多地 覆 盖 程 序 的 内 部 逻 辑 结 构 , 以发 现 其 中 的 错 误 和 问 题 。 所 以 , 覆 盖 测 试 一 般 应 用 在 软 件 测 试 的 早期 , 即单 元 测试 阶 段 。 覆 盖 的 几 种 方 法 或 策 略 如 表 1所 列 。
维普资讯
专 题 论 述
嵌 入 式 软 件 的 覆 盖 测 试
■ 电子科技大 学 陈 丽 蓉 熊 光泽 罗蕾 赖 倩
关键词
嵌 入 式操 作 系统
覆 盖 测 试
软 件 测试 工具
1 概
述
对 现 有测 试 工具 的 适 应性 改 造 和测 试 实例 说 明 。
表 1 几 种 典 型 的 覆 盖 策 略
要 达 到 比较 好 的 测 试 效 果 , 除 了 要 有 周 全 的 测 试 计 划 、 可 控 的 测 试 过 程 、 钡 试 4 人 员 丰 富 的 经 验 外 , 还 需 要 借 助
嵌入式软件的覆盖测试

设计 测试用例。 其基本准则是测试用例尽可能多的覆盖程序
的内部逻辑结构 , 发现其中的错误和 问题 。 1 覆盖测试工具
标机上。对于这类软件的测试也存在 着同样的 问题 : 测试工
: 恩运行在宿主机上 ,而测试所需要 的信息 则在 目标机上 产 生, 并通过一定的物理 /逻辑连 接传输到 宿主机上 , 由测 试
f
例、 插桩过的被测代码 、 搜集覆盖信息并进行分析 的工具 。 代 码插桩 由测试工 具 自动完成 , 通过执行 测试用例, 由工具 再 搜集覆 盖信息并进行分析, 就可 以看到覆盖率指标。 2嵌入式软件的覆盖测试 原理
测试前 的准备 即为支 持对 D 1aOE的测试 所做 的移 etcR 植工作。 为了支持嵌入式程序 的测试,。icp 提供 了运行在 Lgsoe 目标机方 的程序代码 ( 或称为 目标机端的支持库) ,内部包
要取得 较好的覆盖 测试 效果 ,需 要借 助一定 的工具软 件 。这些工具软件一般具备如下的功能特点, 可弥补人为测 试的缺陷 :
①分析软件内部结构, 帮助制定覆盖策略及设计测试用
工具接收 。因此, 嵌人式软件测试的一个重要 问题是建立 宿 主机与 目 标机之间的物理 / 逻辑 连接 , 解决数据信息 的传 输 问题 。
Lgsoe Vrlg oicp 是 eio 公司的 cs 产品,对软件的编 AE
码、 、 测试 维护提供多方面的服务, 并且 支持嵌入 式软件的覆 盖 测试 。 目前,oicp 已经为 一些成熟 的商 用嵌 入式操 Lgsoe
作系统提供 了支持, 比如 p o 。D 1 a o E是我 国 自主开发 s s e tc R 的嵌入式强实时操作系统 内核。 3 1测试前的准备 .
基于TESTBED的嵌入式软件测试方法

基于TESTBED的嵌入式软件测试方法发布时间:2021-12-04T10:59:19.632Z 来源:《中国科技信息》2021年11月上31期作者:王新[导读] 软件研制过程中为保证软件质量,一般都会开展不同级别的软件测试,测试作为重要的验证方法普遍使用,利用测试工具进一步提高测试的效率及保证测试的有效性。
本文通过基于VxWorks操作系统的嵌入式软件的测试描述,提供一种使用TESTBED开展软件测试的方法。
陕西宝成航空仪表有限责任公司王新陕西宝鸡 721006摘要:软件研制过程中为保证软件质量,一般都会开展不同级别的软件测试,测试作为重要的验证方法普遍使用,利用测试工具进一步提高测试的效率及保证测试的有效性。
本文通过基于VxWorks操作系统的嵌入式软件的测试描述,提供一种使用TESTBED开展软件测试的方法。
关键词:软件测试 VxWorks TESTBED 引言随着系统集成度越来越高,软件在系统中占比不断提高,复杂度增大,软件研制成本不断增大。
软件测试作为保证软件质量的重要手段,贯穿于整个研制过程中。
利用测试工具可配置、自动化等手段可解放开发人员和测试人员,提高测试效率和保证测试质量。
1软件概述本软件运行于PowerPc处理器,利用实时操作系统VxWorks多任务调度策略[1]实现数据采集、数据处理和数据输出功能,集成开发环境为Wind River Workbench 3.2。
2TESTBED概述TESTBED作为专业性测试工具,支持Workbench、Keil、Borland C/C++3.1等多种编译运行环境下的软件测试工作,广泛应用于航空、航天、工业等领域。
其提供编程标准验证、软件度量分析、质量标准验证、静态数据流分析等静态分析;源代码自动插装、覆盖率分析、断言分析、测试用例分析等动态分析功能;并提供图形化结果显示[2],充分满足各种测试需求。
3软件测试概述软件测试目的为验证软件满足质量特性要求,发现软件错误,为软件产品质量的评价提供依据。
通用嵌入式测试平台技术研究

科技与创新┃Science and Technology&Innovation ·108·2023年第21期文章编号:2095-6835(2023)21-0108-03通用嵌入式测试平台技术研究范义杰1,赵昶宇2(1.陆装驻天津地区军代室,天津300240;2.天津津航计算技术研究所,天津300308)摘要:为了快速构建嵌入式系统的测试平台,并提高嵌入式系统测试平台的通用性、可维护性和可扩展性,提出一种嵌入式系统分层结构的测试平台,将测试平台分为GUI(Graphical User Interface,图形用户接口)层、XML(Extensible Markup Language,可扩展标记语言)层和通信层,利用XML脚本技术的平台及编程语言无关性,建立了嵌入式系统的通用测试平台,提高了嵌入式系统的测试效率和测试准确率。
该方法已在某地面监控设备中得到应用和验证,不仅降低了开发成本,而且提高了代码的通用性和重用率。
关键词:嵌入式系统;软件测试;配置文件;XML脚本技术中图分类号:TP311.52文献标志码:A DOI:10.15913/ki.kjycx.2023.21.032随着当下信息化技术的飞速发展和进步,嵌入式系统的种类日益增多,嵌入式设备的复杂程度也在不断地增长。
由于嵌入式软件一般具有内存空间不够富裕、实时性要求较高、研发专用的测试工具价格昂贵以及与硬件密切相关等特性,目前大多数嵌入式系统都根据本系统中的硬件配置定制专门的测试工具和平台。
这样一来,就会出现不同硬件的嵌入式设备需要开发不同的测试平台,导致测试成本和人力资源的极大浪费。
为快速构建嵌入式系统的测试平台,并提高嵌入式系统测试平台的通用性、可维护性和可扩展性,本文提出一种嵌入式系统分层结构的测试平台,将测试平台分为GUI层、XML层和通信层,利用XML脚本技术的平台及编程语言无关性,建立了嵌入式系统的通用测试平台,提高了嵌入式系统的测试效率和测试准确率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键 词 :覆盖 测试 ; 嵌入 式软件 ;Mc ae C b
I v si a i n o h o e a e t s i g o m b d e o t r n e tg t n t e c v r g e tn fe o e d d s fwa e
JN We i ,S a — n I ii a HIXio mi
( h n h A rsa eC mp tra dT c n lg nt ue S a g a 2 10 , hn ) S a g  ̄ eop c o ue n eh ooyIs tt, h n h i 0 9 C ia i 1
2 1 年 第4 01 期
中 图分 类 号 :F 1 T3 1 文 献 标 识码 : A 文 章 编 号 :09— 5 2 2 1 )4— l7— 4 10 25 (0 1 O 0 1 0
基 于 嵌 入 式 软 件 的 覆 盖 测 试 问题 研 究
金 维佳 ,施 小 敏
( 海 航 天 电子 技 术 研 究 所 ,上海 2 10 ) 上 0 19
码 的覆 盖准则 包括 : 1 语 句 覆盖 ( tt e t o— () Sa m n C y e ห้องสมุดไป่ตู้
中, 给软件测 试带来 了很 大的 困难 , 使得 一般 的软 件
测试技术和方 法很难 适用 。本文便 针 对这 一类 特 殊
Absr t Co e a e t si g i h s ie tve ng a d ef ci e me o o e s r h u f in y o tac : v r g e t s te mo td r c— i wi n f tv t d t n u e t e s f c e c f n e h i t si g a d o e r h h e r b e o ot r . Ai n a te h r ce si o ra —i e e tn n t s a c t p o l ms f s fwa e mi g t h c a a t r tc f e ltme mbe d d i d e s fwa e,a d c mb n d wi t e prn i l o he o e a e e tn o mb d e s fwa e, t i p p r ot r n o i e t h i cp e f t c v rg tsi g f e e d d ot r h s a e h p e e t he meh d a d tc n l g fc v r g e t g o mbe d d s f r y Mc b r s n s t t o n e h oo y o o e a e tsi fe n d e o t e b Ca e.Ai n tt e wa mi g a h s e ilp o lmso he c v r g e t g o mbe d d s fwa e,i a s rn sa c re ts l to p c a r be ft o e a e t si fe n d e ot r t lo b g o r c ou in. i Ke r s: c v rg e tn y wo d o e a e t si g;e e d d s f r mb d e o t e;Mc b wa Ca e
覆 盖率 数据 ) 入 到本 地 文 件 中形 成 历 史 文 件 , 写 通 过 对这 个 历 史 文 件 进 行 分 析 , 而 得 到 代 码 覆 盖 从 率 l。 1 J 覆盖 测试 的基本 准则是 测试用 例尽 可能 多地覆 盖程 序 的 内部 逻 辑 结 构 , 现 其 中 的错 误 和 问题 。 发
件问题 。
1 覆 盖 测 试 的方 法和 工 具
一
般用 于代码 覆 盖率分 析 的技术 为 软件插装 技
术, 其原 理是 根据程 序 流程结 构在程 序 的特征点 , 即
函数 人 口 、 口和 程 序 分 支 插 装 代 码 , 后 编 译 执 出 然 行, 执行 的过 程 中 , 插装 代 码将 执 行 历史 数 据 ( 代表
摘
要 :覆 盖 测试是保 证软件 测 试 的 充分 性 和 查找 软件 问题 的 最 直观 ,最有 效 的 方 法之 一 。针
对 实时嵌入 式软件 的特 点 ,结合嵌入 式软 件覆 盖测试 的原 理 ,介 绍 了利 用 Mc ae测 试 工具进 行 Cb
嵌入 式软件覆 盖 率分析 的方 法和技 术。 同时针 对嵌 入 式软件 覆 盖 测 试 中遇 到 的 特殊 问题 ,提 出
不 同的覆 盖技术考 察 不 同层 次 的结 构 , 反 映 出测 也
承担过 程控制 、 系统 指 挥 和数 据 处理 等 关 键 任 务 的软件有 大量是 实时嵌 入式 软件 。这些 软件 的实 时性 要求高 , 运行 于特 定 的或 具 有 特殊 条 件 的环境
试 的全面性 和彻底 性 。覆盖 的几种 技术方 法也 即代
0 引言
在 软件 的确 认 测试 中, 试 的完 备 性是 判 断 软 测 件 测试质 量好 坏 的重要 指标之 一 。测 试 的完备性 是 指 测试用 例不仅 要覆盖 任务 书和需求 规格说 明中所 提 出的功 能和性 能要求 , 达到 10% 的功能 覆盖 , 0 同 时也要 覆盖 软件 代 码 的全 部 语 句 和 所有 分支 ] 。 而覆盖 测试就 是监控 软件代 码覆 盖率 的一种 有效 的 测试方 法 。覆 盖测试 能够在 提高软 件测 试充分 性 的 同时有 效地避 免 由于代 码未 被执行 而产 生 的遗 留软