常见的嵌入式测试错误

常见的嵌入式测试错误
常见的嵌入式测试错误

嵌入式软件测试与一般软件测试之异同研究

嵌入式软件测试与一般软件测试之异同研究 作者:网络转载发布时间:[ 2013/3/5 9:09:17 ]推荐标签: 摘要:随着计算机技术的普及,软件系统已经深入到生活的各个方面,从普通的计算机软件,到银行或超市的终端系统,甚至到手机的软件系统。对软件的质量要求也在不断提高,软件测试及其技术也有了飞速发展。在对软件测试技术相关基本概念研究解析的基础上,分析软件测试起源与发展,保证软件产品的质量、提高产品的可靠性。对于嵌入式软件系统,因其多样性,基于操作系统,使用的开发环境,微控制器都是日益繁多的,所以嵌入式软件测试与普通软件测试相比有其自身的特点。 关键字:软件测试;嵌入式测试;软件质量 1、引言 嵌入式软件的开发和测试也就与普通软件的开发和测试策略有了很大的不同,嵌入式软件系统是一种针对特殊任务、特殊环境而进行特殊设计的定制产品,有其专门的开发环境、软硬件紧密结合、严格的实时要求等特点。使得嵌入式软件测试与普通软件测试虽有相似之处,但有也有其自身独特的特点。 2、软件测试和嵌入式软件测试 2.1 软件测试的定义及目的 软件测试,即Software Testing。软件测试的定义有很多,在1979年出版的一本经典著作《软件测试艺术》(The art of software testing)中,GLEMFORD J.MYERS曾经对软件测试下过如下定义:软件测试就是为了发现错误而执行程序或系统的过程。虽然它不太完善,但放在当时的情况下是可以说的通的。 随着计算机和软件技术的发展,软件应用的复杂性和规模的不断扩大,软件测试技术的研究也取得了很大的突破。早期的定义已经不适用了,许多专家对软件测试提出了各种各样的定义。综合起来,我们可以定义“软件测试是由一个程序的行为在有限测试用例集合上,针对期望的行为的动态验证组成,测试用例是从通常的无限执行域中适当选取的”。

嵌入式软件测试报告(内部)

软件(内部)测试报告 XXX系统 测试分析报告评审 V1.0 编写人: 编写日期: 审核人: 审核日期:

修订页

目录 目录 (1) 软件测试报告(内部) (2) 安装及使用测试 (3) 运行环境 (3) 安装易用性 (3) XXX测试 (4) 安装、使用问题及建议 (4) 功能单元测试 (5) 串口指令响应功能测试 (5) 1.测试方法及工具 (5) 2.功能测试 (5) 3.性能测试 (6) 4.稳定及安全性测试 (6) 5.BUG及建议 (6) xxx功能测试 (7) 整机测试 (8) 长时间工作稳定性整机测试 (8) 1.测试方法及工具 (8) 2.测试步骤及结果 (8) xxx整机测试 (8) 整机测试问题及建议 (8) 安装及使用测试附件 (10) 功能单元测试附件 (11) 整机测试附件 (12)

软件测试报告(内部) CRABXLAB-0628-15 TA/0001 软件测试报告编写:首先做对产品的安装及使用测试,如从运行环境、软件安装、故障指示、用户可操作性、界面友好性等方面来检测是否合理可靠;其次从功能完整性上测试,并对每个功能单元进行功能测试、性能测试、安全及稳定性测试,保证每个功能单元都稳定可靠;最后做整机测试,整机测试主要从长时间工作稳定性、异常处理(如网络、电量异常)合理可靠性等方面检查整机稳定可靠性。

安装及使用测试 开发出来的软件要基于对客户或者量生产上考虑产品的使用及安装环境的易用、安全、可操作性、友好性等。 运行环境 安装易用性

XXX测试 章节同安装及使用测试范例,由开发人员完善其他需要的测试项安装、使用问题及建议

《嵌入式软件可靠性测试方法》-编制说明

国家标准《嵌入式软件可靠性测试方法》(征求意见稿) 编制说明 一、制定标准的背景 大多数软件测试方法都可以直接或间接地用于嵌入式软件的测试,但嵌入式软件可靠性测试与通用软件可靠性测试有着较大差别,当前“后PC时代”的来临及3C融合加速趋势的彰显,给中国以嵌入式软件为核心的嵌入式系统产业的高速增长带来了千载难逢的契机,嵌入式软件产业现已成为中国IT产业中的一个重要新兴产业和增长点,嵌入式软件可靠性测试对嵌入式系统产业的发展显得尤为重要。嵌入式软件软件对硬件的依赖性和专用性较强,对可靠性要求较高,目前针对嵌入式软件的测试和调试工具较少,这些都使得嵌入式软件的测试比通用计算机软件测试的复杂性、可继承性较差。嵌入式系统可靠性、安全性的失效可能会导致灾难性的后果,或者大批量生产也会导致严重的经济损失。因此,需要制订针对嵌入式系统软件的可靠性测试方法。鉴于现状制定《嵌入式软件可靠性测试方法》是非常必要的。 二、任务来源 根据国家标准化管理委员会2008年下达的国家标准制修订计划,国家标准《嵌入式软件可靠性测试方法》由中国电子技术标准化研究所、珠海南方软件产品测试中心、珠海许继电气有限公司、珠海炬力集成电路设计有限公司等单位负责起草,其项目计划号为20080488-T-469。 三、标准编制原则 本标准主要依据《软件可靠性工程》、GB/T 15532-2008《计算机软件测试规范》和GJB 899 《可靠性鉴定和验收试验》和一些企业的嵌入式软件可靠性测试相关方法和经验而制定的。 四、编制过程 计划下达后,首先成立了标准起草工作组,在珠海的一些嵌入式软件开发企业开展调研,收集相关资料,在此基础上起草了《嵌入式软件可靠性测试方法》初稿,然后召集国内嵌入式软件研发、测试专家,标准化专家研讨、审查、修改后形成征求意见稿。 五、有关技术说明 5.1测试目的说明 由于本方法是可靠性测试,所以定义的测试目的有两个,一是通过可靠性增长测试,查找软件错误,实现嵌入式软件的可靠性增长,估计失效强度;二是通过可靠性确认测试,验证嵌入式软件是否达到可靠性目标。 5.2测试环境的说明

实时嵌入式系统平台自动测试工具

收稿日期:2003-10-16 基金项目:国家863计划项目(2002AA1Z2306) 作者简介:王陈(1973-),男,助理研究员,硕士,主要研究方向:嵌入式操作系统、测试工具和技术; 左雪梅(1968-),女,高级工程师,主要研究方向:嵌入式操作系统、测试工具和技术、数据通讯; 黄烨明(1974-),女,高级工程师,硕士,主要研究方向:嵌入式操作系统、第三代移动通讯. 文章编号:1001-9081(2003)12Z -0339-02 实时嵌入式系统平台自动测试工具 王 陈,左雪梅,黄烨明 (中兴通讯股份有限公司成都研究所,四川成都610041) 摘 要:介绍实时嵌入式系统平台的结构,在此基础上介绍一种嵌入式平台自动测试工具的设计原理及具体组成。该工具的使用能提高测试人员的效率,保证嵌入式平台的质量。 关键词:嵌入式系统;自动测试工具;实时;消息中图分类号:TP316 文献标识码:A 1 引言 随着嵌入式技术的发展,嵌入式系统复杂性不断提高,对 嵌入式的测试技术的要求也越来越高,为了提高测试的效率和质量,对嵌入式自动测试工具的研究变得十分紧迫。本课题研究的自动测试工具是针对面向通讯领域的嵌入式操作系统平台的,但其研究结果适用于嵌入式系统应用程序的自动测试。嵌入式操作系统平台是通讯系统设备软件支撑环境。其本质就是封装操作系统本身,使得应用程序与嵌入式操作系统无关,并提供消息驱动机制。测试工具是建立在该平台之上的,利用其消息驱动机制对该平台进行功能性、业务性的测试,专注于测试该平台是否满足功能需求,而没有特别关心诸如代码覆盖率等这些泛泛目标。1.1 嵌入式操作系统平台介绍 如图1所示,嵌入式操作系统平台包括操作系统的适配:Linux 、VxWorks 、PSOS 等的适配。操作系统适配位于平台支撑和操作系统之间,实现对底层操作系统的屏蔽,对嵌入式软件平台及上层应用提供统一的系统调用。平台支撑部分提供了通讯设备分布式系统必须的基础功能,如内存管理、定时管理、调度管理、进程通信、系统监控、异常处理。支撑部分组成了消息驱动机制 。 图1 嵌入式软件平台系统结构图 本平台主要为通信系统级设备提供稳定的操作系统支撑 功能,屏蔽底层操作系统和硬件,向上为各处理机上的应用程序提供了一个统一的运行平台,其设计满足下列特性: 1)高可靠性,能满足电信网长时间稳定运行的要求;2)实时性,能满足电信信令、协议、业务应用、多处理机 间数据同步的时间要求; 3)自愈性,尽可能检测、处理和记录整个系统异常; 4)可维护性,能对核心资源和系统服务的使用和调用状况进行必要的跟踪和记录; 5)简单性,仅向应用程序提供必要的系统服务,屏蔽非必要的系统服务; 6)封装性,能完全屏蔽硬件特性,使应用层与硬件无关;彻底封装第三方的实时操作系统(VxWorks ,嵌入式Linux )的核心资源和系统服务,为各处理机的应用程序提供一个统一的和可移植的软件平台; 7)可移植性,能够方便地在商业实时操作系统间进行移植; 8)可扩充性,能增加、删除不同的模块和功能,具有很强的设计弹性和对不同产品的适应能力。1.2  设计原理 图2 自动测试工具总体结构 嵌入式系统测试的一般步骤是在主机上编写测试用例代 码,然后把该代码编译下载到目标机,接着通过调试器执行该测试用例目标代码。在嵌入式环境下测试一项系统功能耗费的时间和人力是惊人的。根据我们对过去多个项目的软件过程能力分析发现,测试执行所花费的时间占整个测试活动的50%左右,而编译下载这种繁琐低效的工作占了测试执行40%左右的时间。为了解决工作效率问题,我们需要一种工具,可以一次编译,然后根据命令多次执行。通过分析我们把嵌入式测试工具分成了三个部分,主机的脚本命令模式、主机和目标机的通讯以及目标机的代理测试执行。基本结构如图2所示,测试人员只需要利用测试工具通过脚本发送相应的命令,命令解析部分负责把命令组成相应的消息;消息通过通讯部分发送到目标测试代理上;测试代理根据解析出的消息 第23卷 2003年12月   计算机应用 Computer Applications   Vol.23Dec.,2003

嵌入式系统测试方法

GSM手机测试基础知识 测试手机的主要参数有: 1)发射功率等级TX power level(5~19) 2)频率误差frequency FER 3)相位误差Phase PER 4)射频频谱RF Spectrum 5)开关谱SwitchSpectrum 6)接受灵敏度RX Sensitivity 7)调制谱Modulation Spectrum 测试系统需要的主要设备: 1)模拟基站的综合测试仪如德国罗德-史瓦茨公司的CMU200 2)通信专用电源如2304A双通道移动通讯高速电源,该电源在脉冲负载变化时展现了他显著的电压稳定性,同时能够测量负载电流。对于测试需电池供电的无线通讯设备(例如便捷式电话),在非常短的时间间隔内经历真实的负载变化而言,这种电源是最优化的。 3)手机夹具等 4)测试开发软件labview或VB等labview快速方便 测试过程 实际测量系统的工作过程是首先手机开机,寻找与模拟基站CMU之间的频率同步;然后对PS(电源)与CMU进行初始化;初始化正确完成后在MSC上注册手机IMSI号;建立MS对BS(基站)的呼叫;当呼叫成功时,开始测量手机GSM900参数;首先测量信道1三个功率等级(Lv5,Lv10,Lv15)的发射功率;若符合标准,进入信道1的FER(频率误差)与PER(相位误差)测量;按同样的步骤测量信道62、123的发射功率、FER与PER;测量GSM900的Modulation Spectrum(调制谱)、SwitchSpectrum(开关谱);从GSM900切换到DCS1800;测量信道512,69 8,885的各发射功率,FER,PER,ModulationSpectrum和SwitchSpectrum;在测量过程中如果任何参数不符合标准,立即显示FAIL并生成报告退出,全部测试完毕显示PASS并生成报告退出。

嵌入式软件测试简介

一、嵌入式系统与嵌入式操作系统 1、嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的;适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌人式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌人式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结台在一起,它的升级换代也是和具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性;一般都固化在只读存储器中或间存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。 2、嵌入式操作系统 嵌入式操作系统EOS(Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌人系统的全部软、硬件资源的分配、调度工作,控制。 协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点: (1)可装卸性。开放性、可伸缩性的体系结构。 (2)强实时性。EOS实时性一般较强,可用于各种设备控制当中。 (3)统一的接口。提供各种设备驱动接日。 (4)操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用。 (5)提供强大的网络功能,支持TCP门P协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口。 (6)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS臭有较强的稳定性。嵌入式操作系统的用户接日一般不提供操作命令,它通过系统调用命令向用户程序提供服务。 (7)固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。 (8)更好的硬件适应性,也就是良好的移植性。 二、三种常用的嵌入式操作系统 1. PALM OS Palm是3Corn公司的产品,其操作系统为Palm OS。Palm OS是一种32位的嵌入式操作系统。Palm提供了串行通信接口和红外线传输接口;利用它可以方便地与其它外部设备通信、传输数据;拥有开放的OS应用程序接口,开发商可根据需要自行开发所需的应用程序。Palm OS是一套具有极强开放性的系统,现在有大约数千种专门为Palm OS编写的应用程序,从程序内容上看,小到个人管理、游戏,大到行业解决方案,Palm OS无所不包。在丰富的软件支持下,基干Palm OS的掌上电脑功能得以不断扩展。 Palm OS是一套专门为掌上电脑开发的OS。在编写程序时,Palm OS充分考虑了掌上电脑内存相对较小的情况,因此它只占有非常小的内存。由于基干Palm OS编写的应用程序占用的空间也非常小(通常只有几十KB),所以,基于Palm OS的掌上电脑(虽然只有几MB的RAM)可以运行众多应用程序。 由于Palm产品的最大特点是使用简便、机体轻巧;因此决定了Palm OS应具有以下特点。 (1)操作系统的节能功能。由于掌上电脑要求使用电源尽可能小,因此在Palm OS的应用程序中,如果没有事件运行,则系统设备进人半休眠(doze)的状态;如果应用程序停止活动一段时间,则系统自动进人休眠(sleep)状态。 (2)合理的内存管理。Palm的存储器全部是可读写的快速RAM,动态RAM(Dynamic RAM)类似于PC机上的RAM,它为全局变量和其它不需永久保存的数据提供临时的存储空间;存储RAM(Storage RAM)类似于PC机上的硬盘,可以永久保存应用程序和数据。 (3)Palm OS的数据是以数据库(database)的格式来存储的。数据库是由一组记录(records)和一些数据库头信息组成的。为保证程序处理速度和存储器空间,在处理数据的时候,Palm OS不是把数据从存储堆(Storage Heap)拷贝到动态堆(Dynamic Heap)后再进行处理,而是在存储堆中直接处理。为避免错误地调用存储器地址,Palm OS规定,这一切都必须调用其内存管理器里的API来实现。 Palm OS与同步软件(Hotsync)结合可以使掌上电脑与PC机上的信息实现同步,把台式机的功能扩展到了掌上电脑。Palm应用范围相当广泛,如:联络及工作表管理、电子邮件及互联网通信。 销售人员及组别自动化等等。Palm外围硬件也十分丰富,有数码相机、GPS接收器、调制解调器、GSM无线电话、数码音频播放设备、便携键盘、语言记录器、条码扫描、无线寻呼接收器、探测仪。 其中Palm与GPS结合的应用,不但可以作导航定位,还可以结合GPS作气候的监测、地名调查等。 2. Windows CE

嵌入式软件自动化测试系统研究

嵌入式软件自动化测试系统研究 摘要:在软件测试过程中,有许多重复的、非创造性的工作。在此背景下,自 动测试系统(ATS)以其节省人力、缩短测试时间、提高测试效率和提高测试稳 定性等优点,在软件测试中越来越突出。本文对嵌入式软件自动测试系统进行了 深入的研究,并对促进我国自动化测试系统的发展和进步提出了建议。 关键字:软件;自动化;测试系统 引言 目前,嵌入式软件自动化测试系统在军用和民用领域的应用越来越广泛,其 作用也越来越重要。推动嵌入式软件自动化测试系统的发展,对推动军用和民用 领域软件发展进步,具有非常重要的作用。所以,必须要加强对嵌入式软件自动 化测试系统的研究,为我国社会经济发展建设提供重要的推动力量。 1、嵌入式软件自动化测试系统简析 嵌入式软件自动化测试系统的应用原理是利用测试脚本,对嵌入式软件的运 行进行自动化控制,同时对数据进行收集和分析并最终形成相关测试报告,得出 科学准确的测试结果。分布式架构的嵌入式软件自动化测试平台,这种结构便于 对系统进行扩展和升级。该系统结构主要包括两部分,即测试开发管理主机和目 标仿真机,两者之间的通讯方式采用的是以太网通信,而目标机与目标机之间的 通信方式则采用1394B通信。 2、测试硬件系统的通用性 2.1测试总线 在嵌入式软件自动化测试系统中,测试总线是非常重要的组成部分,担负着 至关重要的作用。测试总线的主要功能是对测试数据进行传送,同时还能够传送 控制指令,是嵌入式软件自动化测试系统中的中枢神经。随着计算机技术的不断 发展以及对各个领域的深入渗透,自动化测试领域的总线技术也取得了极大的进步。其主要发展历程经历了通用接口总线、VXI、PXI以及基于LAN接口面向仪器 的扩展等几个阶段。通用接口总线简称为GPIB,其主要组成部分包括标准接口、 母线、计算机和仪器仪表等等。这种总线技术的优点是能够利用计算机对仪器进 行有效的操作和控制,代替传统人工操作,初步实现了自动化测试。但缺点是对 装置的数量具有严格的限制,不能够过15台,而且电缆长度也不能超过20米。VXI总线是VME和GPIB两种总线系统融合后产生的新型技术,其优点是体积小,功耗低,组建更灵活,而且具有较高的传输速率。此外,还便于维修。但缺点是 总线速度明显落后于PC机总线速度。PXI的优点是能够即插即用,但缺点是功耗大,转换板的密度也较大,具有空间局限性,主要应用于紧凑型CPI仪器领域扩 展和开放式工业领域。基于LAN接口面向仪器的扩展简称为LXI,是基于局域网 发展起来的新一代模块化平台标准,优点是融合了前面三种总线技术的优点,如GPIB的高性能、VXI和PXI的小体积以及LAN的高吞吐率,缺点是没有经过确切 的验证,是否适合实时嵌入式软件自动化测试系统还是个未知数。 2.2硬件接口 在嵌入式软件自动化测试系统中,包括多种硬件平台,用于连接各硬件平台 的硬件接口具有重要的作用。目前,测试领域一直在致力于建立一种标准化接口,使硬件接口实现规范化和标准化发展。美国国防部对自动测试系统已制定了相关 标准,在该标准中,对硬件接口标准也做出了相应的规定和规范。在1999年, 适配品与测试夹具接口联盟对测试系统信号接口制定了标准IEEEP1505,从而使

《嵌入式系统与开发》测试题 - 答案

测试题0及参考答案 (1)ARM汇编程序由指令、指令和指令构成。 (2)ARM C____(A.0X12 B.0X34 C.0X56 D.0X78)(采用小端模式进行存储) (4)一般情况下,ARM微处理器异常处理模式共有___7___种,机器启动后第一条指令执行的是__A___(A.复位异常处理函数指令 B.中断异常处理指令 C.IRQ 异常处理指令 D.指令预取终止异常)。 (5)调用函数FUN(X,Y,Z),则实参值分别通过__r0__、_r1___、_r2__寄存器来进行传递,如果参数超过4个,则参数传递规则为____通过栈进行传递________。 (6)举例列出一款ARM7TDMI微内核的嵌入式微处理器_S3C44B0X_,ARM920T微内核的嵌入式微处理器_S3C2410_,ARM11内核的嵌入式微处理器__S3C6410____,并列举2款64位ARM微内核_Cortex-A53 __、__Cortex-A57________。 (7)利用汇编和C混合编程,设计代码完成求a,b,c中最大值功能,要求写出汇编启动代码和C代码。 (略)此知识点不需要掌握 测试题1及参考答案 1.嵌入式Linux操作系统包括 bootloader 、内核、文件系统三部分组成。 2.在PC机上Linux系统编译使用的编译器名为 gcc ,ARM处理器嵌入式编译器名为 arm-linux-gcc 。 3.bootloader的功能:①引导操作系统内核启动②提供辅助命令工具。 4.列出最常用的bootloader:、、、、、。 5.在uboot中,打印开发板上环境变量值的命令为 printenv setenv ,假如嵌入式内核名为vmlinux,通过tftp加载内核的命令为

嵌入式终端设备的一种自动化测试技术

-1 -嵌入式终端设备的一种自动化测试技术 广州海格通信集团有限公司 韦 卉 吕金华 【摘要】本文主要探讨一类嵌入式终端设备的自动化测试技术。鉴于嵌入式软件依赖硬件运行的特殊性,本文提出一种自动化测试的模型——U模型,本模型提供了嵌入式系统自动控制和自动测试的一种解决方案。 【关键词】嵌入式系统;自动化测试;U模型 1.自动化测试概况 1.1 趋势 自动化测试实际上是软件测试的一种,以往的测试工作都是通过测试工程师手工执行测试用例完成的,而自动化测试则是通过执行测试程序自行完成并自动检验测试结果。随着当前测试技术的发展,自动化测试越来越多的出现在人们的视野里,越来越多的吸引更多的科技人员的目光。由于自动化测试可以大大节省测试劳动力,节约测试时间,大量缩短项目周期,为公司节约很多研发成本,对企业经营带来极大的效益。因此,越来越多的企业开始重视和发展自己的自动化测试技术。 1.2 现状 我们工作中接触的嵌入式终端为无线通信领域终端,具备语音通信、数据通信等业务功能。该种设备对于极限距离的业务测试要求非常严苛,需要经过成百上千甚至成千上万次的测试和长时间(往往是连续七天以上)连续不间断的运行,来验证产品的可靠性和稳定性,如果仅依靠人工操作,将会非常消耗人力,而且几乎是不可能完成的任务。因此探求一种自动化测试方法迫在眉睫。我们所研发的通信设备属于嵌入式终端设备,对于嵌入式系统的自动化测试,在业界也是非常少见。在此,我们提出一种自动化测试模型——U模型,来实现嵌入式终端设备的自动化测试。 2.自动化测试模型 2.1 U模型提出 图1 U模型 根据我们的研究,提出了一种命名为U模型的自动化测试技术。如图1所示,左边框图属于控制系统,控制PC为一台工作中使用的个人电脑,上面安装着windows操作系统。处于顶层的业务测试程序是根据测试被测系统功能、性能、各种质量属性等测试用例编写的测试脚本。处于第二层的控制台软件自行开发编写的软件。右边框图属于被测系统,处于顶层是被测业务是我们将要测试软件特性,处于第二层的是被测软件的应用程序,处于第三层的是被测系统所使用的操作系统。再往底层一点则是控制系统和被测系统都支持的通信接口驱动和通信硬件接口。 2.2 U模型原理 接下来我们来介绍一下U模型的工作原理: (1)业务测试程序负责下发测试指令以及检验被测系统的表现是否符合预期,相当于软件测试中的测试用例的一样。 (2)控制台软件是一款在PC上自行开发的软件,它包括对业务测试程序的解释执行功能、脚本工程的管理功能和脚本编辑等功能。 另外,还负责把测试程序下发的指令通过调用 成windows操作系统API的方式,封装成底层通 信接口能使用的数据帧。 (3)Windows操作系统,控制台软件运行 在其之上,使用它提供的各种操作系统服务, 特别是I/O管理服务。 (4)通信接口驱动实现通信接口硬件初 始化、数据存储、数据发送、数据传输和数据 接收等。 (5)通信硬件接口是PC机上的通信接口 支持类型,一般为串口、网口、USB口等。被 测系统上也需要有同样的接口类型。 (6)在被测系统中,各层软件的作用其 实与PC控制系统上差不多,在此就不再赘述。 值得注意的是,被测系统的业务应用处理程序 或者被测功能模块,在接收到控制系统下发的 命令后,会给予一定响应(比如某些设备状 态、参数的改变,或者返回指定的数值给控制 系统)。这些响应的信息通过被测系统的通信 接口返回给控制系统。这样就完成了控制系统 和被测系统的交互。 另外,还需要事先定义好一个命令集以及 各条命令所带来的所有可能的预期结果。这个 命令集和它们所返回的预期结果是业务测试程 序需要使用和检验的,正是这些命令集和结果 集构成了自动化测试用例集。 通过以上的系统建模,我们就可以通过测 试脚本与被测系统完成交互、监控和测试了。 由此,可以达到测试被测系统的目的。 基于以上的讨论我们可以看到,U模型中 各层完成的功能各自不同,缺一不可,每个系 统中都是高层使用底层提供的服务完成本层的 工作。控制系统和被测系统上运行着两个不一 样的操作系统,实际上也完成了不同操作系统 之间的数据通信。 3.项目应用 根据上面提出的U模型,我们搭建了一个 自动化测试平台,硬件上包括个人工作电脑PC 机和待测终端设备A,两者通过通信接口—— 串口来完成通信及数据交换。如图2所示: 工作PC 图2 应用组网图 同时,我们开发了一个控制台软件,其操 作界面如图3所示。 从图3中可以看到,左边红色框中的“业 务测试脚本列表”是一系列测试脚本文件的树 状图,实现的是脚本工程的管理,在脚本执行 完成后,到底是成功还是失败,会有结果状态 显示在被执行脚本的后面。中间红色框为“脚 本编辑和查看区”,实现的是脚本编辑和查看 功能。最右边的框是“脚本输出区”,是调试 脚本的输出和执行结果输出显示的地方,这里 也有一个结果统计功能,比如本次测试执行了 多少个脚本,成功了多少个,失败了多少个, 都会在这里有所体现。在这个控制台软件界面 上,我们开发了语音业务测试脚本,实现了语 音通话的各种业务的自动化测试。 图3 控制台软件界面 另外,在被测的终端设备上,我们定义 好一套命令集以及返回值列表,命令集比如重 启命令、读取工作模式命令、设置音量大小等 等,约100多条命令。返回值列表是对一系列 命令的返回值定义了特殊的含义,比如0表示 操作失败,1表示操作成功等。这样一个命令 集以及返回值列表来自于测试工程师,由测试 工程师提供所需要使用的测试命令及返回值, 由控制台软件开发工程师和终端软件开发工程 师来共同实现。 完成以上的工作,一个嵌入式终端设备的 自动化测试平台就搭建完成了。在这个测试平 台上,我们的测试工程师开发了语音业务测试 脚本,实现了语音通话的各种业务的自动化测 试。在完成业务测试脚本编写和调试之后,就 可以根据测试任务勾选上所需要执行的脚本, 直接执行就可以了。 4.推广意义 U模型这种测试技术,具有通用性,可以 广泛应用到各种嵌入式系统终端设备的自动化 测试中去。把自动化测试引入的项目中去,既 可以大大节省人力成本,又可以完成手工无法 完成的穷尽测试,对产品的质量把控可以更严 格,对于提升产品质量具有伟大的意义。 参考文献 [1]黄鹏,廖红华,嵌入式系统综述[J].电工技术,2006. [2](美)DanielJ.Mosley,(美)BruceA.Posey.软件测试自动化 [M].邓波等,译.机械工业出版社,2003. 作者简介: 韦卉(1981—),女,广西梧州人,大学本科,软件 测试师,现供职于广州海格通信集团股份有限公司, 研究方向:嵌入式软件测试。 吕金华(1982—),女,广东江门人,大学本科,软 件设计师,现供职于广州海格通信集团股份有限公 司,研究方向:嵌入式软件设计。

嵌入式软件测试(参考答案)

一、填空题:(10题,每题2分,共20分)1、嵌入式系统是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术,甚至传感器等先进技术和具体应用对象相结合后的更新换代产品。 2、ARM 处理器当前主要有6个系列产品:ARM7、ARM9、ARM9E、 ARM10E SecurCore及最新的ARM11 系列。 3 、实时是嵌入式系统的主要特征, 根据截止时间的要求,可将实时分为硬实时和软实时。 4、嵌入式应用软件典型的开发方式是宿主机/ 目标机方式。 5、MISRA C已经被越来越多的企业接受,成为用于嵌入式系统的C语言标准, 特别是对安全性要求极高的嵌入式系统,其软件应完全符合MISRA标准。 6、插桩也称为打点,是在程序中插入额外的代码来获得程序在执行时有关行为信息的一种重要手段,属于动态测试的一种常用技术。 7、等价类划分的目的就是为了在有限的测试资源的情况下,用少量有代表性 的数据得到比较好的测试效果。 8、测试报告是把测试的过程和结果写成文档,并对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础。 9、TEmb作为一种全新的嵌入式软件结构化测试方法,覆盖了测试过程中的一些关键步骤,回答了“做什么、什么时候做、如何做、用什么方法做和谁去做”的问题。10、嵌入式软件测试自动化就是希望能够通过嵌入式软件测试自动化工具或其他的实现手段,按照测试人员预订的计划进行自动地嵌入式软件测试工 作。 二、选择题:(10题,每题2分,共20分) 1、嵌入式系统是集软硬件于一体的可独立工作的“器件”主,要包括 ___ A___、__ B___、__C _ 、___D___。 A 嵌入式微处理器

嵌入式软件测试工程师

嵌入式软件测试工程师 一、嵌入式软件测试工程师任职条件 1、自动化、计算机、电子通信以及相关学科,硕士以上学历; 2、熟悉嵌入式Linux、Android、Windows CE或其它嵌入式操作系统下的开发和调试; 3、具有良好汇编语言和C语言的编程能力; 4、了解流行的处理器架构ARM/MIPS/POWERPC/ColdFire等;熟悉嵌入式系统的体系结构,熟悉嵌入式操作系统下的应用程序编写;熟练使用1种以上脚本开发,Lua。 5、3年以上嵌入式操作系统开发或测试经验; 有良好的编码习惯,能够按照代码规范进行编码及文档工作; 具有吃苦精神,能够承受较大的工作压力,自学能力强; 富于团队合作精神,工作责任心强;较强的英语阅读 5、熟悉测试基本理论、包括黑盒、白盒测试技术;熟悉功能测试和性能测试方法,熟悉软件测试流程和质量保证体系优先; 能力; 6、熟悉大型数据库,SQLSERVER、Oracle等。 .根据系统需求与设计能够编制测试方案,制定测试计划与测试用例;

7、具备系统测试环境的搭建与维护能力; 具备较强的设计文档的理解能力,口头和文字表达能力强; 8、熟悉C、C++ 编程,掌握gcc/make等相关开发工具;能够熟练掌握ADS、KeilC等嵌入式软件设计调试工具;熟悉TCP/IP网络协议,熟悉socket编程;掌握多种软件测试工具。 9、掌握常用的linux命令,熟悉数据库(SQL和Oracle)的基本操作; 10、.要有良好的组织沟通能力,具有团队协助精神; 二、嵌入式软件测试工程师职责 1、组建软件测试团队,制定相关测试流程及技术管理体系; 2、带领测试团队展开测试工作,负责产品的质量保证体系的建立; 3、规划测试策略,制定测试方案和计划,并负责计划的管理;负责按照测试计划组织实施软件测试;包括测试需求文档编写,测试用例设计,测试脚本执行;完整地记录测试结果,编写完整的测试报告等相关的技术文档; 4.对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案。 5.提出对产品的进一步改进的建议,并评估改进方案是否合理,对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见。 6.为业务部门提供相应技术支持,确保软件质量指标。 7、制定和实行测试相关的培训计划,提高测试团队的整体工作能; 8、做好测试和软硬件部门的沟通和协调工作。

基于软件工程化的嵌入式软件自动化测试系统的制作技术

图片简介: 本技术介绍了一种基于软件工程化的嵌入式软件自动化测试系统,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,通过软件工程化将需求开发与管理、设计开发与管理、测试管理集成到一个统一平台进行管理。平台集成独立的三方软件,实现需求、设计、编码、测试、执行不分离。通过驱动脚本,实现测试自动化执行;同时,该方法实现了文档的自动生成、自动统计功能,实现了追踪矩阵的自动建立,能够快速实现影响域分析,避免遗漏,从而提高软件质量。 技术要求 1.一种基于软件工程化的嵌入式软件自动化测试系统,其特征在于,包括需求开发与管理模块、设计开发与管理模块以及测试管理模块,其中: 所述需求开发与管理模块包括需求分解单元、需求追踪管理单元;其中: 需求分解单元用于根据用户提出的用户需求建立系统需求以及软件需求,将系统需求、软件需求作为输入,按照所述系统需求、软件需求所要实现的功能,对系统需求、软件需求进行分解处理,并将分解后的需求进行原子化处理,从而建立需求数据元; 需求追踪管理单元用于根据软件需求追踪系统需求,建立软件需求和系统需求之间需求的映射关系;

所述设计开发与管理模块包括软件详细设计单元、软件接口设计单元、软件编码实现单元、设计追踪管理单元,其中: 软件详细设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的功能设计,形成详细设计数据元; 软件接口设计单元用于根据所述的软件需求的需求数据元逐项展开对应于所述需求数据元的接口设计,形成接口设计数据元; 软件编码实现单元用于根据所述详细设计数据元、接口设计数据元通过编码进行软件详细设计和软件接口设计,从而形成软件源码数据元; 设计追踪管理单元用于建立详细设计数据元到软件需求的需求数据元之间的映射关系、软件源码数据元到所述详细设计数据元之间的映射关系;软件源码数据元到接口设计数据元之间的映射关系; 测试管理模块包括测试策划单元、测试用例编制单元、测试追踪管理单元、测试执行单元、测试结果记录单元、缺陷管理单元、回归测试单元,其中: 测试策划单元用于根据软件需求的需求数据元建立软件系统测试项数据元和软件配置项测试项数据元;依据所述详细设计数据元、接口设计数据元建立软件集成测试项数据元和软件单元测试项数据元; 测试用例编制单元用于根据系统测试项数据元编制系统测试用例数据元;依据配置项测试项数据元编制配置项测试用例数据元;依据集成测试项数据元编制集成测试用例数据元,依据单元测试项数据元编制单元测试用例数据元; 测试追踪管理单元用于建立软件单元测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件集成测试项数据元到详细设计数据元和接口设计数据元之间的映射关系,建立软件配置项测试项数据元到软件需求的需求数据元之间的映射关系,建立软件系统测试项数据元到系统需求的需求数据元之间的映射关系,并建立各测试用例数据元到对应的测试项数据元之间的映射关系; 测试执行单元用于按照各测试用例数据元规定的执行步骤,执行对应的测试用例; 测试结果记录单元用于记录各测试用例数据元执行后的结果,并与预期结果比较,根据比较结果的不同执行对应的处理方式; 缺陷管理单元用于针对执行失败的测试用例数据元,确定存在的软件缺陷,形成缺陷数据元并按照模板生成问题报告单,以使软件设计开发人员根据所述问题报告单进行问题的修复;

【免费下载】嵌入式软件动态测试工具Tessy

嵌入式软件动态测试工具Tessy Tessy是一个专门针对嵌入式软件的C/C++代码进行单元、集成测试的工具,它可以自动化地执行测试、评估测试结果并生成测试报告。Tessy的目标就是:通过自动化整个测试周期,在所有测试阶段完美支持针对C语言的单元测试,当然,Tessy也同样关注测试组织和测试管理。 Tessy软件源自戴姆勒-奔驰公司的软件技术实验室。从1997年,Tessy就在戴姆勒-奔驰公司得到广 泛的使用,之后独立成为专业的软件测试工具公司Razorcat,由德国Hitex负责全球销售及技术支持服务。北汇信息作为Hitex/Razorcat公司的中国合作伙伴,将为中国汽车客户提供Tessy软件及优秀的软件测 试服务。 Tessy的应用 在以V模型为例的开发模式中,Tessy主要处理右半部分验证和确认中单元/模块测试,集成/组件测试 以及系统测试的内容。在V模型的开发模式中,单元测试是第一个测试活动。它阻止了每一类错误,比 如算法错误,在V模式的右边向上蔓延,这样可以尽可能早得发现Bug,防止直到后面的测试过程或者 直到最终用户那里才被发现,单元测试有经济效益,越早发现bug越好。 另外,Tessy也可以满足各类标准(ISO26262、IEC 61508、EN 50128/50129、DO-178B、汽车SPiCE或FDA的软件验证通用原则)对测试的需求,比如ISO26262中各个测试等级中对模块测试的要 求可以使用Tessy来满足,当然Tessy本身也通过了TUeV的认证,被证明是安全可靠的,可以在安全

相关性的软件研发过程中被使用。 Tessy的特性 自动生成测试环境: Tessy可以自动生成测试环境驱动,选择自动或者手动打桩以及自动生成测试用例模板,帮助客户提高测试用例设计效率。 多种测试用例确定方式: 除了从Excel中导入测试用例,手动地设计测试用例外,Tessy里集成了CTE软件,根据分类树的方法通过Tessy自动化地关联测试用例。

嵌入式软件测试基础知识

嵌入式软件测试基础知识 测试是传统软件开发的最后一步。整个软件开发过程,需要收集要求、进行高层次的设计、详细设计、创建代码、进行部分单元测试,然后集成,最后才开始最终测试。最佳的开发实践应包含代码检查这个步骤。然而代码检查一般只能找出70%的系统错误,因此完美的测试环节绝对必不可少。测试就像个复式记帐系统,可以确保将缺陷扼杀在最终推出的产品之前。在所有其它的工程实践中,测试都被视为基本环节。比如,在美国,每一座联邦政府出资修建的桥都必须经过大量的风洞测试。而在软件领域,测试并没有很受重视。尽管测试是所有工程实践准则的关键部分,但编写测试程序却感觉是在浪费时间。好在嵌入式系统设计界内的许多领域已经将测试作为其工作的核心部分,他们认识到将这个关键步骤放在项目末期极不明智,因而主张同步地编写测试程序和应用程序。嵌入式系统软件测试在诸多方面都与应用软件测试一样。不过,应用测试与嵌入式系统测试之间还是存在一些重要差异。嵌入式开发人员一般会用到基于硬件的测试工具,而这类工具通常不会用于应用开发过程中。此外,嵌入式系统一般都有些独一无二的特性,这些特性应该在测试计划中得以体现。本文将介绍测试和测试案例开发的基础知识,并指出整个嵌入式系统测试工作的特有细节。何时测试以及如何测试从图1可以看出,在可行的条件下,测试应尽早展开。一般来讲,最早的测试是由最初的开发人员进行的模块或单元测试。遗憾的是,开发人员大多对如何建构一整套测试例程以进行测试所知不足。由于精心设计的测试例程通常直到集成测试时才能使用,因此许多在单元测试过程中就能找出的缺陷直到集成测试时才会被发现。比如,硅谷的一家大型网络设备厂商为找出其软件集成问题的关键原因,进行了一项研究。这家厂商发现,在项目集成阶段找出的缺陷中,有70%是由在集成之前从没被执行过的程序所产生的。 2012-3-16 11:05:05 上传 下载附件 (9.94 KB) 图1:改正问题的成本。单元测试:开发人员在单独进行模块级测试时一般是编写存根代码(stub code)取代余下的系统软硬件。在开发周期的这个环节,测试主要侧重于代码的逻辑性能。通常,开发人员会分别使用某些平均值、高值或低值、以及某些超出范围的值(以测试代码的异常处理功能)进行测试。但这些基于“黑匣子”的测试仅能对模块中整个代码的一部分进行测试。回归测试:测试不应是一劳永逸的。每次修改程序后都应该重新进行测试,以确保这些更改不会无意中“误伤”某些不相关的行为。称为回归测试的这类测试,一般是通过测试脚本自动进行的。比如,如果你设计了一组100个输入/输出(I/O)测试,回归测试脚本会自动执行这100个测试,然后将输出与一组“黄金标准”输出进行对比。每次对代码的任何部分进行修改时,都要对包含被修改代码的整个程序运行整套回归测试程序包,以确保修改过程中不会“误伤”其余代码。测试什么因为没有一个实际的测试集可以证明一个程序是正确的,因此关键问题变成了哪个测试子集最有可能检测到最多的错误。选择合适的测试例程的问题被称为测试例程设计。虽然存在数十种测试案例的设计方法,但它们通常可归为两种截然不同的方法:功能测试和覆盖测试。功能测试(也称为黑匣子测试)选择可评估实现与需求规格符合程度的测试。覆盖测试(也称为白匣子测试)选择可执行代码某些部分的测试例程。(过后,将详细讨论这两种方法。)这两种测试都是对嵌入式设计进行严格测试所必需的。其中,覆盖测试表示代码的稳定性,所以这种测试是用于已经完成或将近完成的产品的。另一方面,可在编写要求文档时,同时编写功能测试。事实上,从功能测试开始入手,可以最大限度地降低重复劳动和重写测试案例的工作。因此,在我看来,要先考虑功能测试。每个人都同意先编写功能测试这个观点,有人认为,功能测试在系统集成阶段(而不是在单元测试时)最有用。以下是整合功能测试和覆盖测试方

嵌入式软件的自动化测试框架、测试流程与功能研究分析

嵌入式软件的自动化测试框架、测试流程与功能研究分析 引言 进入二十一世纪之后,硬件元器件得到了飞速发展,从而也是的嵌入式软件的功能更加强大和复杂.随之而来的也是嵌入式软件测试工作的加重,传统的软件测试技术已经难以满足嵌入式软件越来越复杂的需求.而目前,市场上已经有较多的传统软件自动化测试技术,如何在这些技术的基础上进行改进,从而能够适应嵌入式软件环境,从而实现嵌入式软件的自动化测试,是嵌入式软件发展的重要方向. 1.嵌入式软件自动化测试平台分析 嵌入式软件的自动化测试即利用脚本来自动化驱动嵌入式软件的运行,并且自动收集相关数据进行分析,最终生成相应的测试报告.虽然,嵌入式软件的自动化测试流程与一般PC 机应用软件的自动化测试流程相同.但是,由于嵌入式软件软件对电子设备的高度依赖性,以及电子设备收周围环境影响较重,从而导致嵌入式软件的自动化测试平台存在如下的问题. (1)由于电子元器件受到周围环境的影响,无论在宿主机上所进行的动态测试多充分,也无法保证嵌入式软件在实际的硬件环境中通过. (2)硬件系统非常复杂,难以对测试过程中所发现的问题进行排查. (3)植入桩点会影响系统的实时性. (4)上位机的测试环境中,由于上位机与下位机的通信量较大,测试结果数据较多,容易导致通信的堵塞. 2.嵌入式软件自动化测试平台概要设计 通过对嵌入式自动化测试框架的分析,本文提出一种由脚本驱动器.接口映射表.数据驱动器和支持函数库所组成的,针对嵌入式自动化软件测试的组合型测试框架. 如图1所示,高层脚本调用执行下层脚本;底层运行脚本通过查询接口映射表调用待测试系统接口进行驱动和通信;测试脚本从数据文件调用数据执行测试.

相关文档
最新文档