嵌入式设备已经在工业市场、消费电子市场以及国防建设等多个领域得到了广泛的应用,随着数字化产品时代的到来,大量硬件结构日趋复杂、功能日益强大的嵌入式系统不断进入人们的日常生活。在嵌入式系统中软件占有举足轻重的地位,影响着整个系统的正常运行,本文对嵌入式软件的开发过程及开发过程中所进行的测试进行了简要的描述。
嵌入式软件开发主要分为需求分析、设计、编码、测试、验收五个阶段,每个阶段主要完成如下工作及测试:
1. 需求分析
需求分析阶段主要确定设计任务、设计目标以及设计系统的体系结构。主要对处理器、操作系统,开发平台以及其他外部设备进行选择,并确定需求规格说明书。需求分析阶段可以聘请相关领域的专家、用户、开发人员、测试人员通过需求评审的方法发现需求中不符合用户要求的方面。
2. 设计
设计阶段主要完成系统的概要和详细设计,描述系统如何实现所确定的功能和非功能
性需求。与应用软件设计不同,嵌入式软件设计阶段在对软件架构进行设计的同时还需要考虑硬件架构,考虑使用的处理器并配置存储器、I/O设备、通信模块等必要的外围设备。对于设计阶段的测试采用与需求分析相同的方法,通过设计评审来找出设计中的缺点和不足。
3. 编码
编码阶段主要完成程序编写,程序编写一般在主机平台完成,并可下载的目标机进行测试。程序分为底层驱动程序、上层应用程序,以下主要针对上层应用程序进行描述。
1)各开发人员负责功能模块完成阶段---单元测试
单元测试一般由开发人员通过编写测试脚本或通过自行开发的辅助测试工具进
行,关键业务单元测试可由测试部门或第三方测试机构进行。测试通过设计好的测试用例对模块进行功能验证、边界值验证,检查每个软件单元是否与设计说明中功能相一致、是否满足其他设计要求。
2)模块组装阶段---集成测试
集成测试一般由公司开发人员、测试人员完成,在单元测试基础上按照模块要求
将程序组装为子系统并对子系统功能进行验证,检查各个模块间接口数据传递是否正确、子系统功能是否达到预先要求、模块间是否存在相互影响等问题。
3)程序编码完成阶段---代码审查、代码质量度量
代码审查、代码质量度量一般由质量保证人员利用专业的代码测试工具进行。
代码审查主要依据企业编码规范或通用C/C++编程规范进行,对代码进行变量命名、程序逻辑结构、程序语法等方面的审查,找出程序中不符合企业编码规范的代码,确保代码和设计相一致,确保代码逻辑表达的正确,确保代码结构的合理性,提高编码的规范性、易读性。
代码质量度量依据ISO/IEC 9126质量度量模型对系统维护性进行度量,找出
代码中存在的嵌套层数过多、递归调用、复杂度过高等问题,检查系统是否与设计相一致,是否存在递归调用关系。
4. 测试
测试阶段主要进行系统测试,测试采用黑盒测试的方法进行。与应用软件测试不同,嵌入式软件测试需要将被测程序下载到目标机进行功能、性能等方面的测试。测试一般由测试人员或第三方评测机构利用专业的测试工具进行。测试在最终产品进行,验证系统软件在真实工作环境下功能、性能能否满足需求要求,系统是否可靠。
5. 验收
验收阶段主要进行产品验收测试。验收测试一般由用户委托在开发方参与下由第三方测试机构进行。第三方测试机构依据委托方和开发方所签订的技术合同等文件中规定的验收标准和方法验证开发方所提供的软件产品或技术服务是否满足合同规定要求。
通过以上五个阶段的测试,可从代码规范、代码质量、系统功能、性能等多个方面对软件进行测试,找出嵌入式软件中存在的代码编写、接口、未正确实现的功能等错误,从而全面提高嵌入式软件的质量,为企业的产品质量提供有利的保障。