嵌入式软件测试(精)
嵌入式软件的测试方法与技术

嵌入式软件的测试方法与技术引言嵌入式软件的测试方法与技术是保证嵌入式系统质量的关键环节。
随着科技的发展,嵌入式系统在各个领域得到了广泛应用,从家用电器到汽车,从医疗设备到航空航天,都离不开嵌入式软件。
而这些应用领域对于系统的可靠性和安全性要求越来越高,因此对于嵌入式软件的测试方法与技术也提出了更高要求。
一、嵌入式软件测试方法概述1.1 黑盒测试黑盒测试是一种基于功能需求和接口规范来进行测试的方法。
在黑盒测试中,我们不关心被测系统内部是如何实现的,只关注其输入和输出之间是否符合预期。
这种方法可以很好地验证系统是否满足需求,并且可以提前发现潜在问题。
1.2 白盒测试白盒测试是一种基于代码内部结构来进行测试的方法。
通过分析代码逻辑、覆盖率等指标来评估被测系统是否符合预期。
白盒测试可以发现代码中隐藏的逻辑错误和漏洞,并且可以提供更详细的测试覆盖率信息。
1.3 灰盒测试灰盒测试是黑盒测试和白盒测试的结合,既关注系统功能,也关注系统内部结构。
在灰盒测试中,可以利用黑盒测试的方法验证系统功能,同时通过白盒测试的方法发现潜在问题。
这种方法可以综合利用黑白两种方法的优点。
二、嵌入式软件测试技术2.1 静态分析技术静态分析技术是一种通过分析源代码或二进制代码来发现潜在问题的方法。
静态分析可以帮助开发人员在编码阶段发现错误和漏洞,并且可以提供代码质量评估和优化建议。
2.2 动态分析技术动态分析技术是一种通过运行时监测来评估系统行为和性能的方法。
动态分析可以帮助开发人员了解系统运行时状态,并且可以提供性能优化建议。
2.3 模糊测试技术模糊测试是一种通过生成大量随机输入来验证系统鲁棒性和安全性的方法。
模糊测试可以帮助开发人员找到输入错误处理不当或存在漏洞的地方,并且可以提供安全防护建议。
2.4 测试自动化技术测试自动化技术是一种通过编写测试脚本和使用自动化工具来提高测试效率和准确性的方法。
测试自动化可以帮助开发人员快速执行大量的测试用例,并且可以提供准确的测试结果。
嵌入式软件测试规范

嵌入式软件测试规范篇一:嵌入式软件测试和验证嵌入式软件测试和验证一、软件测试1.1定义1993 年 IEEE 对软件测试给出了一个综合的定义:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;②是对①中所述方法的研究。
它指出软件工程是一种层次化的技术。
科学的测试是贯穿整个产品生命周期中的测试。
要突破原来对测试的理解,着眼于整个软件生存期,特别是着眼于编码以前各开发阶段的测试工作,以保证软件的质量。
1.2软件测试的真正目标软件测试的真正目标是寻找bug。
即使是在交付时间表很紧的情况下,采取一个步骤来想一下从哪里开始着手,这样,测试才会是最有效率的。
但即使在时间非常充足的情况下,也不可能测试出每一个bug,所以必须将测试划分优先级,划分的根据是基于产品目前的状态(新的,修改的或者只是纯漏洞)和对客户的可能影响而进行的最诚实的评估。
避免采用知道软件可以处理的测试数据和操作;测试人员的任务是在测试中扩大软件的边界。
在设计自动化测试时,也要避免“踩灭”失败条件的误区。
测试人员的任务不是创造大量的总是可以干净的成功运行的测试。
测试人员需要去寻找和理解故障条件。
不要浪费时间去想软件产品中是否存在bug。
它肯定有bug,并且不可能全部找出它们。
测试的目的是指望测试人员找出那些最有影响的bug。
必须要做的是,要从消极的角度考虑这些问题。
1.3软件测试的意义1.发现软件错误;2.有效定义和实现软件成分由低层到高层的组装过程;3.验证软件是否满足任务书和系统定义文档所规定的技术要求;4.为软件质量模型的建立提供依据;即软件测试包括“找错”、“组装”、“确认”和“评估”四个层次的作用。
1.4软件测试方法从不同的角度来看,可以将软件测试的方法分为以下几类:根据是否需要运行被测软件的角度,软件测试分为静态测试方法和动态测试方法。
根据在动态测试中是否需要了解被测软件代码结构的角度,又分为白盒测试和黑盒测试。
嵌入式软件测试(一)

要求固态存储,以提高速度。软件代码 要求高质量和高可靠性、实时性。
(5)嵌入式软件开发走向标准化
嵌入式系统的应用程序可以没有操作系统直接在芯
片上运行。
为了合理地调度多任务、利用系统资源、系统函数
以及和专家库函数接口,用户必须自行选配RTOS (Real-Time Operating System)开发平台,这样 才能保证程序执行的实时性、可靠性,并减少开发 时间,保障软件质量。
嵌入式软件测试
王海鹏
第一部分 嵌入式系统基本概念
嵌入式系统IEEE定义
根据IEEE(国际电气和电子工程师协会)的定义:
嵌入式系统是“用于控制、监视或者辅助操作 机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
多任务运行的实现实际上是靠CPU(中央处理单元)在 许多任务之间转换、调度。 CPU只有一个,轮番服务于一系列任务中的某一个。 多任务运行使CPU的利用率得到最大的发挥,并使应 用程序模块化。 在实际应用中,多任务的最大特点是,开发人员可以 将很复杂的应用程序层次化。
3.4系统内核(Kernel)与调度(Scheduler)
非占先式(Non-Preemptive)
低优先级任务
(1)
(2)
ISR
(4) (5)
(3)
TIME 中断服务程序使 高优先级任务就绪
(6)
高优先级任务 (7)
低优先级任务释放 CPU使用权
占先式(preemptive)
当系统响应时间很重要时,要使用占先式 (preemptive)内核。最高优先级的任务一旦就绪, 总能得到CPU的控制权。 当一个运行着的任务使一个比它优先级高的任务进入 了就绪态,当前任务的CPU使用权就被剥夺了,或者 说被挂起了,那个高优先级的任务立刻得到了CPU的 控制权。 使用占先式内核时,应用程序不应直接使用不可重入 型函数。如果调入可重入型函数时,低优先级的任 务CPU的使用权被高优先级任务剥夺,不可重入型函 数中的数据有可能被破坏。
嵌入式系统开发测试题(含答案)

嵌入式系统开发测试题(含答案)一、单选题(共100题,每题1分,共100分)1、Make预置了一些内部宏,其中$@表示A、以上都不是B、没有扩展名的当前目标文件C、当前目标文件最近更新的文件名正确答案:A2、关于U-Boot,下列说法错误的是()A、支持的处理器有ARM、MNPSB、是遵循GPL条款的开放源码项目C、支持的操作系统有LINUX、QNX正确答案:A3、Makefile是()A、调试器B、编辑器C、项目管理器正确答案:C4、C语言文件预处理生成哪个后缀的文件A、iB、SC、o正确答案:A5、直接编译进内核,又称()。
A、下载文件B、静态连接C、动态连接正确答案:B6、实时在线仿真是一种用于替代目标上()的设备A、CPUB、GPUC、NOU正确答案:A7、GDB软件是()。
A、调试器B、编译器C、文本编辑器正确答案:A8、嵌入式系统设计的重要特点是()多样化A、技术B、应用C、操作正确答案:A9、ARM的工作模式有?A、非特权模式和特权模式B、特权模式C、非特权模式正确答案:A10、嵌入式操作系统的特点不包括()。
A、有一定的实时性B、强交互性C、可裁剪正确答案:B11、TCP/IP参考模型不包括()A、表示层B、应用层C、传输层正确答案:A12、Linux内核的功能不包含下面哪种()A、处理机管理B、内存管理C、进程管理正确答案:A13、下列CPSR寄存器标志位的作用说法错误的是A、V:借位B、C:进位C、Z:零正确答案:A14、()显示屏是利用有机电致发光二极管制成的显示屏。
A、OLEDB、ABCDC、EFGH正确答案:A15、动态链接是指程序运行时需要调用共享库文件,其后缀为()A、aB、cC、so正确答案:C16、MCU偏重于()A、信号处理B、控制正确答案:B17、()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。
A、交叉编辑B、交叉开发C、交叉编译正确答案:C18、Flash程序烧写时,需准备好的软件不包括()。
嵌入式软件测试之串口工具的使用

嵌入式软件测试之TT工具的使用【摘要】在嵌入式软件(如手机)测试过程中,有时会用到一些串口工具来捕捉一些软件运行信息,通过分析有关信息来进行查找原因,帮助开发人员进行Debug.以下介绍一款常用串口工具软件(Tera Term)的使用。
【关键词】串口工具Tera Term一、软件安装1.设备需求硬件:串口线一条、PC一台、手机一个(在此以手机为例)软件:USB转串口驱动工具(PL-2303 Driver Installer.exe)、Tera Term软件2.安装过程分别安装USB转串口工具(PL-2303 Driver Installer.exe)和Tera Term,按安装向导进行,很简单,略。
二、测试配置1.将串口线将手机和PC连接起来;2.如下图进入设备管理器查看串口信息.(在桌面右键点击“我的电脑”图标→属性→硬件→设备管理器)由图可知串口的端口为COM3.3.退出设备管理器后,由<开始>→<程序>打开Tera Term串口工具。
打开后的界面如下图。
4.在Tera Term界面,打开<Setup>菜单,选择其子菜单<Serial port…>并打开,如下图。
在图中我们选择配置Port为COM3,Baud rate为115200.点击OK完成设置。
完成设置后回到主界面即可打印出手机端的串口信息了。
5.如下图Tera Term可以显示记录有关手机端运行信息了。
6.你也可以对Tera Term的主界面根据个人喜好进行一些个性化的设置,如下图,通过调整三原色RGB来对界面颜色和文字颜色进行设置等。
7.其他,你可以保存log文件和有关设置等,操作很简单,试一下就可知道了。
三、常见问题1.有时候我们Tera Term所记录的信息为全是乱码,这种情况请确认Baud rade设置是否正确。
2.Tera Term连上后,无信息记录。
原因可能是端口设置不正确,请重新设置COM口进行确认;3.Tera Term的端口设置只能到COM4,而我们在设备管理器中查看的所连接的端口大于4,比如COM5,这种情况下可能是PC上已经安装了其他一些虚拟串口导致,请删除这些虚拟串口,更改COM口设置。
嵌入式软件接口测试方法

三、嵌入式软件接口测试方法
API接口测试 协议接口——底层:信号类 协议接口——中间层:数据类 协议接口——高层:文本类
三、嵌入式软件接口测试方法
API接口测试 API接口函数 测试接口函数的功能和性能 测试方法:
编写测试程序,调用API函数 交叉编译 可执行程序下载到嵌入式设备 运行,获取测试结果
接口的分类(二)
人与系统 硬件与硬 的接口 件的接口
软件与软 软件与硬 件的接口 件的接口
一、接口与接口测试
底层软件提供的应用编程接口 系统API 开发包API
人与计算机操作用户界面 GUI CLI
接口的分类(三)
API
总线/网
络接口
人机交互 界面
数据库 接口
部件与部件通过总线/网络相连 Ethernet、RS232、CAN、
很大比例是安全关键软件,关系到生命安全和国家安全,要求
非常严格 一般来说上比非嵌入式软件更困难一些
测试 人员
二、嵌入式软件接口测试
嵌入式软件接口测试
对嵌入式软件测试包括静态和动态,包括基于结构的白盒测试和基于 需求规约的黑盒测试
嵌入式软件接口测试:对嵌入式软件提供的接口按照接口需求进行测 试和验证 ➢ 测试嵌入式软件接口信息数据与控制逻辑的正确性 ➢ 测试正常情况和异常情况(包括数据和逻辑) ➢ 测试接口的功能性、性能、安全性和稳定性
pass data and control correctly to one another.
一、接口与接口测试
接口测试(interface testing) 军用软件测评实验室测评过程与技术能力要求 接口测试是对软件需求规格说明或设计文档中的接口需求逐项进行的 测试。接口测试一般需进行:
嵌入式软件考试试题

一、单项选择题(在备选答案中只有一个是正确的,将它选出填入空格中,每小题1分,共20分) 1、某计算机采用8位整数补码表示数据,则运算 ( )将产生溢出。
A .-127+1 B .-127-1 C .127+1 D .127-1 2、ARM 汇编语言中,一常量8_5642也代表____________ A 、整数5642 B 、整数5642H C 、整数Ox5642 D 、整数2978 3、ARM 指令集和Thumb 指令集分别是( )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位 4、下列叙述哪个是错误的( ) A 、ARM 指令为32位的长度,Thumb 指令为16位长度 B 、Thumb 代码与等价的ARM 代码相比较,用ARM 指令要比Thumb 指令节省30%-40% 以上的存储空间 C 、 使用Thumb 代码的系统,其功耗要低 D 、Thumb 指令的密度高 5、和PC 机系统相比下列哪个不是嵌入式系统独具的特点( ) A 、系统内核小 B 、专用性强 C 、可执行多任务 D 、系统精简 6、ARM 微处理器为_________________ A 、16位RISC 架构 B 、32位CISC 架构 C 、 32位RISC 架构 D 、64位RISC 架构 7、存储一个32位数0x2168465到2000H ~2003H 四个字节单元中,若以大端模式存储,则2000H存储单元的内容为()。
A. 0x21B. 0x68C. 0x65D. 0x028、ADD R0,R1,R2属于()寻址方式。
A. 立即寻址B.寄存器间接寻址C. 寄存器寻址D. 相对寻址9、AREA伪指令的含义是()。
A. 新的代码段的指示符B. 子程序的入口C. 定义一个宏D. 数据区域的标号符10、ARM寄存器组有( B )个通用寄存器。
A.37B. 31C. 6D. 3511、以下叙述中正确的是( C )。
嵌入式系统软件测试及测试案例开发

嵌入式系统软件测试及测试案例开发测试是传统软件开发的最后一步。
整个软件开发过程,需要收集要求、进行高层次的设计、详细设计、创建代码、进行部分单元测试,然后集成,最后才开始最终测试。
最佳的开发实践应包含代码检查这个步骤。
然而代码检查一般只能找出70%的系统错误,因此完美的测试环节绝对必不可少。
测试就像个复式记帐系统,可以确保将缺陷扼杀在最终推出的产品之前。
在所有其它的工程实践中,测试都被视为基本环节。
比如,在美国,每一座联邦政府出资修建的桥都必须经过大量的风洞测试。
而在软件领域,测试并没有很受重视。
尽管测试是所有工程实践准则的关键部分,但编写测试程序却感觉是在浪费时间。
好在嵌入式系统设计界内的许多领域已经将测试作为其工作的核心部分,他们认识到将这个关键步骤放在项目末期极不明智,因而主张同步地编写测试程序和应用程序。
嵌入式系统软件测试在诸多方面都与应用软件测试一样。
不过,应用测试与嵌入式系统测试之间还是存在一些重要差异。
嵌入式开发人员一般会用到基于硬件的测试工具,而这类工具通常不会用于应用开发过程中。
此外,嵌入式系统一般都有些独一无二的特性,这些特性应该在测试计划中得以体现。
本文将介绍测试和测试案例开发的基础知识,并指出整个嵌入式系统测试工作的特有细节。
何时测试以及如何测试从图1可以看出,在可行的条件下,测试应尽早展开。
一般来讲,最早的测试是由最初的开发人员进行的模块或单元测试。
遗憾的是,开发人员大多对如何建构一整套测试例程以进行测试所知不足。
由于精心设计的测试例程通常直到集成测试时才能使用,因此许多在单元测试过程中就能找出的缺陷直到集成测试时才会被发现。
比如,硅谷的一家大型网络设备厂商为找出其软件集成问题的关键原因,进行了一项研究。
这家厂商发现,在项目集成阶段找出的缺陷中,有70%是由在集成之前从没被执行过的程序所产生的。
图1:改正问题的成本。
单元测试:开发人员在单独进行模块级测试时一般是编写存根代码(stub code)取代余下的系统软硬件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
24
3.4 交互式软件测试(续)
• 有人提出最好从软件设计方面解决。将软件设计称接口部分(键盘和触摸屏 操作)是独立可移去的模块。接口模块可以在测试软件主要部分时移去,然 后单独测试接口部分。主要是由于接口模块功能相对而言比较简单。
16
3.2 监测真实硬件运行情况(续)
• 方法2:使用指令集仿真器 指令集仿真器是一个仿真另一种计算机指令集的 程序。这种仿真一般包括处理器和内存,但很少 涉及时间或目标机外围设备仿真,在没有实际外 部设备时,这种仿真在应用程序功能需求测试方 面的作用受到局限;
17
3.2 监测真实硬件运行情况(续)
软件测试工程师 (Ⅱ 级 ) 培训
嵌入式系统软件测试
1
PART 3 嵌入式系统软件测试
1 嵌入式软件的特点 2 嵌入式软件测试的特点 3 困难及解决办法 4 嵌入式软件开发及测试工具 5 例子
2
前言
• 嵌入式软件指嵌入式计算机系统中的软件
• 嵌入式计算机系统:其主要目的不是进行计算, 而是较大系统中成为其完整不可分割部分的计算 机系统; 如武器,航天,航空,指挥控制或运输系统中的 计算机系统。 • 嵌入式软件可能是最难测试的一类软件。
15
3.2 监测真实硬件运行情况
监测嵌入式系统中的真实硬件运行情况的困难 方法1:使用某种对目标机和宿主机都适用的编译器的高 级语言,即采用生成宿主机代码在宿主机上进行目标程序 的运行和测试; (如常用vc编译调试算法,而后移植到单片机中 )
(需要认真估计目标机和宿主机之间的差异,仔细注意可能 存在的问题,如算法字长等) 宿主机上测试的正确运行只能说明测试也将在目标机上正确 运行的有力证据;
20
3.3 实时性测试(续)
(4)在原因(1)中提及的改变也会影响程序的功能性。 如软件可能在覆盖插装的条件下运行正确,而在没有覆盖 插装时运行不正确。覆盖插装改变了程序执行过程,相应 地,内存状态、执行时间等受到改变,从而引起程序执行 结果地差异。 因此,功能特性必须在侧重于时间性的测试阶段从系统级进 行检查。
28
目标数据环境的数字仿真
数据描述包括数据序列,即用直接列表方式或数据 文件方式给出数据,自动数据产生器(信号源), 例如正弦波、锯齿波,脉冲等信号发生器,中断, 包括随机、定时、键盘控制等。
在这些数据的基础上还可以进一步描述数据类型, 数据间时序或逻辑上的关系,数据时间特性等;
29
全数字仿真技术的目的和意义
• 作用:便于测试人员 明确和理解程序的逻 辑,同时也是开发人 员自省的过程。因为 实践表明,开发人员 在讲解过程中能发现 许多自己的错误。
11
静态测试方法
• 框架结构的测试 在实际中,采用“生成引用表”的方 法来完成。即在表中列出各子程序和 函数的属性:已定义、未定义、定义 类型;输入参数的个数、顺序、类型; 输出参数的个数、顺序、类型;已引 用、未引用、引用次数等。通过对引 用表的分析和对照来检查程序的框架 结构。
1.
2. 3. 4. 5. 6. 7. 8.
在不具备硬件目标环境时用软件尽可能真实地仿真 目标环境; 提供更可控的运行环境; 测试可重复 相对于半实物实验更为安全,可靠,节省经费; 全数字仿真技术可以支持调试和可靠性测试; 使软件调试,测试可以和硬件开发并行进行,易于 提前发现问题; 可发现硬件测试中不易发现的问题; 支持结构测试,故障植入
12
静态测试方法-函数结构的测试
• (1)由于其是模块化和结构化的,从而可以通过使 用一系列规则从程序推导出相应的流图模型。然 后将其和设计文档的流图进行对比,校验设计与 源代码的一致性。
(2)通过对流图的走查(walk-through),应用逻辑覆 盖、分支覆盖和路径覆盖方法来测试函数的健壮 性。 (3)函数结构的封闭性测试。
7
嵌入式软件测试特点(续)
(3)嵌入式软件的实时性要求使输出仅在某个有限 的时间内有限,并且必须在这个时间段内生效。 (如飞机控制必须快速对飞行器的姿态变化作出 反应以保证飞行的稳定性)
(4)嵌入式软件还可能是交互的。 交互的因素与前面三个因素可能同时,使测试过 程更加困难。
8
测试困难存在的更本原因?
33
嵌入式软件开发环境
• 嵌入式软件环境增强了嵌入式软件开发的资源能 力,具有良好的人机界面和输入/输出处理能力 • 新的嵌入式软件开发环境还为测试工具提供了进 一步的支持。如:内存读写操作分析,可显示未 曾运行的程序(相当于未读过的内存)。 • 完整的嵌入式开发环境包括嵌入式实时操作系统 在内的诸多功能部件。
30
全数字仿真技术的缺点和局限
• 仿真运行速度慢; • 仿真的真实性局限
31
嵌入式软件测试自动化及工具
• 4.1 嵌入式软件开发环境 • 4.2 嵌入式软件测试工具
32
4.1 嵌入式软件开发环境
• 嵌入式软件开发所需的一组自动工具、固件和硬件的集合。 • 自动工具可能包括(但不局限于)编译程序、汇编程序、 装入程序、调试器、模拟器、仿真器、测试工具、文档编 制工具、数据库管理系统及操作规程等。 • 硬件可能包括:在线模拟器,I/O通道 • 嵌入式软件开发环境通常以在线模拟器方式提供软件运行 环境,通过交叉编译或汇编生成目标机代码,装入目标机 在线模拟器中运行,可以进行程序调试工作;
全数字仿真使用计算机仿真的方式构造嵌入式软件 所需要的硬件环境-目标机,同时仿真了嵌入式 软件运行时所需要的大量的数据源
(这些数据源的特性及变化决定了嵌入式软件的运 行)
27
目标硬件环境的数字仿真
通过对处理器(CPU)、内存、外围可编程芯片以及上述各器 件间连接的仿真,构造目标机硬件环境。 处理器仿真:对处理器指令集、寄存器、中断处理机制的仿 真; 内存仿真:内存寻址,写,读仿真 外围可编程芯片仿真:对工作模式,命令字的响应,输入输 出特性,功能特性的仿真; 器件间连接仿真:为这些芯片的数据端口,控制端口设置I/O 地址,决定其间输入/输出关系。
• 一般测试技术和测试工具的实施缺乏基本 条件。
9
3 问题对应的解决办法
• • • • • • • 3.0 评审和静态测试 3.1 专用设备问题 3.2 监测真实硬件运行情况 3.3 实时性测试 3.4 交互式软件测试 3.5 并发系统,网络通信问题 3.6 采用全数字仿真技术解决上述问题
10
3.0 静态测试
6
2 嵌入式软件测试特点
(1)嵌入式软件几乎全部涉及专用计算机外部设备 (2)嵌入式软件的运行平台-嵌入式计算机系统可能由于 没有通常的外部设备而很难在测试过程中进行检测和观察。 (因为外部设备支持有限或者需要相关硬件开发,实际的 嵌入式计算机硬件甚至不能用来测试) (如某些设备既没有存储,又没有显示、打印甚至键盘等 设备)
13
静态测试方法-细节专项检查
• 测试人员根据以往的测试档案和工作经验,事先列出一份常见 错误清单,然后有针对性地进行检查。实践中列出的专项包括: (1)数组下标是否越界,变量值是否越界? (2)是否避免了依赖了程序设计语言中的缺省值的代码? (3)除数是否有可能为零? (4)浮点数运算是否进行分析检查? (5)栈是否会溢出? (6)用过的内存是否已释放? (7)全局变量的使用是否必要? (8)函数引用时,变量类型和个数是否对应? (9)代码是否包含无穷循环? (10)递归是否存在问题?
34
TRACE32
• 德国Lauterbach Datentechnik公司产品,在线模拟方式 • 支持的测试功能包括:外部触发输入、触发输出、目标机 时钟控制,具有跟踪通道,进行采样及性能分析,进行函 数分析,调用/被调用关系分析以及动态函数调用嵌套分 析。进行内存读写分析,可显示未曾运行的程序。 • 支持高级语言,汇编语言,嵌入式实时操作系统内核的调 试工具。 • 支持300种CPU,包括386,486,186,196族,60种编译器, 6种语言,C, C++, Pascal, Ada, Assembler,支持15种操 作系统,支持10种多任务实时操作系统。
4
嵌入式软件的特点(续)
(2)嵌入式软件通常要求强实时性 嵌入式软件一般由于要在规定的时间内完 成处理功能,同时时间也是某些处理的重 要输入参数。 嵌入式软件有更严格的处理时序要求。
5
嵌入式软件的特点(续)
(3)嵌入式软件一般采用更低层的语言编写 考虑到速度和性能的要求,物理设备尺寸和内存空间的限 制,嵌入式软件的实现仍然要把空间紧凑和尽量节省运行 时间作为追求的目标。 • 有些情况下必须采用汇编语言编制,这种语言结构化程度 低、规范化程度低,程序不易理解,不易维护,自身可靠 性差。 许多测试工具在应用到这些程序上有许多困难甚至不能支 持。
35
XRAY Master Works
• 美国Microtech Research公司的产品,通过指令 集仿真器和在线模拟器两种方式提供运行环境; • XRAY源代码开发器,XRAY调试器,XRAY仿真 器。 • XRAY源代码开发器和XRAY调试器一起工作时, 可显示动态调用结构。 XRAY调试器支持源程序 级调试,监视程序执行情况,检查数据结构的值, 修改数据结构的值,进行复杂和简单的断点设置, 单步运行、代码插入和连续动态监视。
22
3.4 交互式软件测试(续)
键盘: 用文件来模拟字符序列的输入,程序运行时从文件读入字符 就如同从键盘上输入一样。 要求:字符序列须有意义的,因此字符序列须于人工输入或 由相当复杂的程序产生;
23
3.4 交互式软件测试(续)
触摸屏和鼠标: 这两种设备的输入都于屏幕上的显示内容有关,仅 仅记录输入的屏幕坐标即可。
21
3.4 交互式软件测试