如果你快速浏览互联网,你会很快发现有100多种不同类型的测试可以在你的嵌入式设备上执行。一个健壮的嵌入式系统将被持续测试。让我们仔细看看其中的一些测试,看看哪五项测试对于每个嵌入式设备都是绝对必要的。
必备测试1:单元测试
单元测试是任何测试策略的基础。它们旨在测试应用程序的最小构建块。它们通常针对单个的功能,并验证被测试的功能是否做了它应该做的事情。
嵌入式设备的单元测试可能有点棘手。嵌入式软件不仅有应用程序代码,还有与硬件相关的代码。作为一个团队,你必须决定你的单元测试进行到什么程度。例如,你有如下几种选择:
l 仅对你的应用程序代码进行单元测试。
l 单元测试一切,但使用硬件交互模拟。
l 甚至在目标硬件上进行单元测试。
嵌入式开发人员需要对应用程序代码进行单元测试。一个好的硬件抽象层将有助于确定应用程序与硬件的结合点。
必备测试2:集成测试
一旦你通过了单元测试,并且知道你的基础工作正常,你就可以在这些组件协同工作时开始测试它们了。集成测试将两个或多个组件结合在一起,以确保它们能够正确地协同工作。
集成测试帮助你找出组件之间是否有任何奇怪的交互。你可能会发现它们在单独工作时工作得很好,但是当它们试图一起工作时就会出现缺陷。通常,这是由记录不良的需求或无法预见的复杂交互引起的。
不幸的是,嵌入式系统行业缺乏集成测试。团队在单元测试方面做得越来越好,但是他们经常跳过集成,直接进入系统测试。集成测试为你提供了一种中间机制,以确保在你开始系统级测试之前软件能够正常工作。
必备测试3:系统测试
系统级测试包括将嵌入式设备作为完全集成的系统运行,以评估其是否符合特定要求。系统测试包括功能测试和非功能测试,旨在验证系统的行为、性能等。
值得注意的是,这些测试通常侧重于在真实场景和环境中证明可靠性。你不一定要证明系统在所有条件下都能工作,只要证明设备在预期的条件下工作即可。
在系统级别,有几种方法可以测试系统:
l 透明盒测试
l 不透明盒测试
透明盒测试包括测试应用程序的内部工作,而不是它的功能。测试人员通过代码选择执行路径的输入,并确定适当的输出。这种类型的测试需要了解系统的内部逻辑。可以想象,它需要来自设计者和开发者的输入来使系统测试成功。
不透明盒测试是一种软件测试方法,它检查应用程序的功能,而不检查其内部结构或工作方式。这种类型的测试关注软件系统的输入和输出,并且基于需求和规范。开发人员不需要做这种类型的测试。相反,质量保证团队可以根据所提供的需求来设计和运行测试。
最终目标是证明系统在期望的环境和用户条件下正常工作。
必备测试4:性能测试
如果你正在设计嵌入式产品,实时性能总是很重要。你的系统能按时完成吗?如果将来添加功能,是否有足够的CPU周期来处理它们?你的CPU是不是刷爆了?
性能测试是为了确定系统在特定工作负载下的速度、响应能力和稳定性。虽然它不像单元测试那样具有基础性,但确保客户对你的产品有良好的体验仍然是至关重要的。
建议嵌入式开发团队在整个开发周期中描述他们系统的性能,以确保他们在正确的轨道上。如果添加了一个比预期使用更多CPU的特性,它可以被快速优化,而不是在周期结束时。
必备测试5:用户验收测试
最后一个必须进行的测试,也许是最重要的一个,是用户接受度测试。用户验收测试确定系统是否满足业务需求和要求,通常由最终用户或客户在系统上线前执行。
如果客户不接受该设备,那么你的工程团队没有问题,整个公司都有问题!出于这个原因,包含用户验收测试是一个好主意。事实上,建议你尽早并经常让你的客户参与进来!
是的,客户确实会改变他们的想法,并导致一些需求变动和波动,但最终,他们是我们试图让他们高兴的人。如果你能在整个开发周期中得到他们的反馈,产品成功上市的机会将会大大增加。
结语
测试并不简单,但是如果你从这些简单的步骤开始,你将走在正确的方向上。