浅谈嵌入式软件测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 208

ELECTRONICS WORLD ・技术交流

引言:目前,我国嵌入式系统市场处于快速增长时期,嵌入式系统的应用涉及到各行各业;本文围绕嵌入式软件测试的概念、分类及软件测试设计进行了阐述。

随着嵌入式系统应用的日益广泛,嵌入式系统在社会生活中发挥越来越重要的作用,嵌入式系统的质量和可靠性也越来越多的被重视。为了保证嵌入式系统的质量和可靠性,嵌入式软件测试必不可少的重要工作。软件测试不仅是发现并消除软件缺陷,还是提高软件对产品质量的一种手段。嵌入式软件测试是软件执行实际输出与软件设定预期输出之间的结果对比,是鉴定嵌入式软件系统的正确性、完整性和可靠性的过程,是嵌入式软件系统质量的保障依据。

嵌入式软件测试是保证嵌入式软件系统质量乃至嵌入式系统可靠运行的重要手段,对其进行研究非常有现实意义。本文仅对本人嵌入式软件测试工作进行阐述。

1.概述

嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,其软件至少包含一个微控制器、微处理器或数字信号处理器单元。嵌入式系统通常执行的是带有特定要求的预先定义的任务。嵌入式系统是由预先编程好的程序、以用来执行任务的微处理器或者单片机组成,配以外围硬件电路,以实现预期设定好的功能性能。

软件测试已有了行业标准(IEEE/ANSI ),将测试定义为,一个或多个测试用例构成的集合,一个或多个测试规程构成的集合,一个或多个用例和规程构成的集合。软件测试的目的在于检验本软件系统是否满足软件规格需求,并与整个软件系统或开发项目流程融合成一体。软件测试已成为一个专业,需要运用专门的方法和手段,需要专门测试人才和专家来承担。

软件测试是按照预定的测试用例和流程对软件的性能和功能进行测试的一种技术方法。通常软件测试主要负责测试软件的正确性和可靠性,发现缺陷并进行优化,提高软件系统或产品的整体质量指标。

2.嵌入式软件测试设计2.1 软件测试分类

软件测试技术为各阶段软件测试的进行提供了具体的方法支持。对于软件测试技术,可以从不同的角度加以分类。

根据测试阶段不同,分为单元测试、集成测试、系统测试。

图1 测试分类

单元测试、集成测试、系统测试的目的也是不同的。

图2 测试目的

单元测试是对软件中的最小可验证单元进行检查和验证。

浅谈嵌入式软件测试

河南驼人医疗器械研究院有限公司 董金艳 鲍胜文 肖小兵 赵 飞

张承武 牛占云 刘冠超 周轩伊

(下转封三)

单元测试一般从程序内部结构出发设计测试用例,多个模块可以平行地独立进行单元测试。单元测试主要是白盒测试。

集成测试是在单元测试之后,按照软件系统概要设计规格说明的规格要求,把软件单元组装成各子模块、模块、子系统或系统的过程中进行测试,确认各部分软件设计是否达到或实现相应软件技术指标及规格要求。集成测试主要是针对程序内部逻辑结构设计进行测试,特别是对各子程序之间的接口设计进行测试。另外,集成测试对测试人员的脚本编写设计能力要求比较高。集成测试质量是否合格,主要再于集成测试设计的制定是否合理,完整、准确等,对集成测试设计人员的要求比较高。集成测试方法一般选用黑盒测试和白盒测试相结合。

将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的系统测试,以发现软件系统潜在的问题,保证本系统的正常运行。系统测试一般选用黑盒测试。

2.2 软件测试设计

根据软件概要设计说明书、用户或产品需求说明书、行业标准进行本嵌入式软件测试设计。嵌入式软件测试的关键是测试用例的设计、测试数据的分析、测试环境的搭建等。测试用例的设计比较灵活,需要有软件测试基础的专业人员进行设计。嵌入式软件测试设计时要考虑测试计划的完整性、测试用例的覆盖性、测试数据分析的准确性、测试报告的可靠性和输出文档的规范性。测试设计一定要按照软件概要设计规格说明书和产品需求说明书进行,不能偏离此嵌入

式软件设计的要求和产品需求。

图3 测试流程设计

2.2.1 测试计划制定

根据产品需求说明书,规定本嵌入式软件系统测试的内容、测试项目、方法、资源和时间要求。明确测试的项目、测试的特性、测试的任务、测试项目通过或失败的判断依据,测试人员的职责和与本计划有关的风险。

2.2.2 测试用例设计

根据测试计划、软件概要设计说明书、产品需求说明书,规定详细的测试方法及测试操作步骤。明确测试用例名称、测试项目、测试工具、测试环境、测试步骤方法、测试预期结果、测评标准、测试人员、测试用例版本号、测试用例制订时间等。

若测试预期结果与实际软件测试输出结果存在数据转换,本测试用例制订时,需一并制订数据转换算法,便于后期对测试数据进行分析计算。

2.2.3 执行测试

测试人员按照测试用例执行测试,即对按照测试用例对嵌入式软件系统进行操作;

2.2.4 测试记录

对测试过程的数据及现象进行记录,包括测试时间、测试项目、测试数据、过程描述、现象描述等;

2.2.5 测试结果分析

测试结果分析内容,包含测试项目、测试原始数据、测试数据转换算法、转换后数据、预期结果、测试分析时间、异常数据分析结果、本次测试数据成功占比等。

根据测试用例中测评标准和预期结果,及测试数据转换算法;对测试数据进行分析转换;转换后的数据,与预期结果进行对比分析;若无异常,直接进行测试报告的制订;若有异常,进一步分析异常原因。

2.2.6 测试报告制定

测试报告是对本次测试的总结,包含测试目的、测试依据、测试人员及其职责、测试用例、测试实际记录、测试结果分析、测试时间、测试结论、测试差异分析及优化建议等。

根据测试计划中测试项目通过或失败的判断依据,及测试数据的分析结果,进行测试报告的编写,得出测试结论。

若测试过程发现异常现象,需要及时反馈本次测试设计负责人。一般性的异常,可以直接联系开发人员变更程序;严重的异常,需要与此系统项目开发团队一起开会讨论,形成会议纪要,按照会议决议进行修订,并回归测试。

3.结束语

软件测试是保证软件质量的一种重要手段。软件测试工作,要注重软件测试的各个环节,深刻理解测试理论。本文主要研究嵌入式软件测试的设计,包含嵌入式软件测试的定义、测试计划、测试用例、测试结果分析、测试报告的撰写进行研究。

(上接第208页)

相关文档
最新文档