软硬件集成测试应该在嵌入式软件集成测试完成的基础上进行。此时软件已按照功能模块组装成子系统,为了有效验证该子系统软件与硬件功能的协调性,保证软件在特定的硬件平台上能够按照设计的要求进行工作,完成其要求的功能、性能指标,就必须进行嵌入式软件的软硬件集成测试。
2.1 嵌入式软件测试过程
软件开发人员在开发过程中,一般遵循如下步骤:
① 系统软硬件功能划分,形成软、硬件研制任务书。
② 系统软件需求分析。
③ 系统软件概要设计。
④ 系统软件详细设计。
⑤ 软件编码。
测试人员恰恰以相反的步骤实现测试过程:
① 单元测试。软件单元测试的目的是检测程序模块是否符合《详细设计说明书》的要求。通常会采用白盒测试技术,如基于路径覆盖原理等。
② 集成测试(配置项测试)。软件集成测试的目的是检测程序是否符合《概要设计说明书》的要求。通常采用黑盒测试技术,但有时为了确保主要控制路径的覆盖测试,也会采用一定的白盒测试技术。
③ 软硬件集成测试。软硬件集成测试的目的是为了检测系统划分软硬件功能后,在软件集成测试完成的基础上,测试模块软件在硬件平台上的运行情况,主要是对嵌入式软件的实时性、嵌入性及功能性能指标的测试。
④ 系统测试。关注所设计的系统,在模块与模块集成之后构成完整系统时所表现出的质量指标,包括正确性、可扩性等。
⑤ 确认测试。针对确认标准的测试。确认标准由需求分析产生,所以实际上就是指规格化的需求,通常采用黑盒测试技术。
2.2 软硬件集成测试过程
由图1可以看到,软硬件集成测试主要是在软件集成测试完成后,形成独立的配置项,加载到相应的硬件平台上进行测试,以确定软硬件是否能够协同工作,实现系统既定的功能。
具体分为以下几个步骤:
① 系统测试组负责与系统工程组共同完成制定《软硬件集成测试计划》和《软硬件集成测试计划测试说明》的编写。
② 按软件*审管理办法,对《软硬件集成测试计划》和《软硬件集成测试说明》进行同行*审。
③ 根据*审意见,对《软硬件集成测试计划》和《软硬件集成测试说明》修改完善,履行审批手续后归档、入库。
④ 系统测试组按《软硬件集成测试计划》、《软硬件集成测试说明》,实施软硬件集成测试。
⑤ 系统工程组组织软件、硬件项目组协助确定和定位软件中存在的缺陷和错误。
⑥ 软件工程组对发现的软件缺陷和错误进行确认和更改。
⑦ 测试人员对更改后的软件配置项进行回归测试。
⑧ 软件设计人员将通过回归测试的软件入库。
⑨ 测试人员编制测试报告。
2.3 软硬件集成测试模型
综上所述,嵌入式软件的软硬件集成测试过程主要是在需求规格说明完成的情况下,结合通用的标准、规范以及接口控制文件,与软件设计同步,编写软硬件集成测试的《测试的计划》和《测试的说明》,经过*审后,把被测试软件加载到目标机上运行,以检测嵌入式软件与硬件配合完成系统功能、性能的质量。软硬件集成测试模型如图2所示。
图2软硬件集成测试模型
3、过程的可行性验证
为验证上述过程的可行性及测试模型的有效性,某嵌入式软件开发项目组在开发过程中按照此过程及模型进行了软硬件集成测试。
3.1 软硬件集成测试硬件平台
① 目标机处理器:ARM核LPC2294单片机
② 目标机外围接口:ARINC429,RS422,离散量、模拟量等。
③ 目标机调试接口:JTAGH并口,RS232串口
④ 宿主机调试环境:ADS1。2开发平台。
⑤ 宿主机平台:PC机(WindowsXP系统)、并口、RS232串口
3.2 软硬件集成测试过程
① 目标机上电、宿主机打开调试环境。
② 加载经过集成测试的嵌入式软件到目标机,并启动运行软件。
③ 根据*审完成的测试说明及测试计划进行软硬件集成测试。
原文转自:http://www.uml.org.cn/Test/201202133.asp