硬件限制

  硬件资源的局限性会给嵌入式软件带来一定的约束,比如内存使用和电力消耗。有时候特定的硬件也依赖于软件中计时的解决方法。对软件方面的这些约束并不会影响到需求的系统功能,但它们却是系统运行的首要条件,需要对此进行大量深入而技术性又很强的测试。

  硬实时行为

  “实时”的本质是输入或输出在发生的瞬间能够影响到系统的行为。

  控制系统

  控制系统通过连续的反馈机制和环境相互作用:系统的输出会影响环境,而环境反过来会影响到控制的行为。

  强调安全系统

  在嵌入式系统中当嵌入式系统的故障会导致对人体健康的严重伤害(或更为可怕的后果)时,则称该系统是“强调安全”的。大量的嵌入式系统都和人体有直接的物理接触,故障会直接导致身体的损伤,例如航空电子设备、医疗设备及核反应堆等。对这样的系统进行风险分析是极其重要的,需要采用严格的技术来分析并提高系统的可靠性。

  极端的环境条件

  有些系统需要在极端的环境条件下进行连续的操作,比如极热或极冷、机械震动、化学物质或放射性等环境条件。测试这些系统需要有特殊的设备来提供极端条件。当真实环境中的测试太危险时,需要用设备来模拟环境。

  嵌入式软件集成测试注意事项

  嵌入式软件集成测试不仅要求软件行为的正确性,而且它要与其被控制的硬件设备实现正确的交互。在具体测试过程中可包含以下几个方面的测试工作

  任务测试:首先独立测试系统中的每个任务,对每个任务设计白盒测试和黑盒测试用例。任务测试可以发现任务中的逻辑错误和功能错误,不能发现实时性错误和行为错误;行为测试:通过使用CASE工具创建的软件模型来仿真实时系统,按照外部事件(如中断、控制信号和数据)的序列检查其行为的正确性,可以先对每个事件进行独立测试,然后随机的把事件输入给系统来检查系统行为的正确性;

  任务间测试:独立的任务测试完成后,可以多个任务一起来测试时间相关的错误,错误用不同的数据率和处理负载来测试任务间的通信,来确定任务间的同步是否会产生;另外,测试通过消息队列和数据存储进行通信的任务以发现这些数据存储区域大小方面的错误。

  集成测试:集成软件和硬件一起测试,来发现软硬件之间接口错误,同时测试是否存在中断处理方面的错误,包括中断优先级的分配是否正确、中断的处理是否正确、中断处理是否满足时间要求、多个中断出现的情况下系统的功能和性能是否存在问题。