Skip to main content
QUICK REVIEW

[论文解读] Automated System-Level Software Testing of Industrial Networked Embedded Systems

Per Erik Strandberg|arXiv (Cornell University)|Nov 16, 2021
Software Testing and Debugging Techniques被引用 8
一句话总结

本论文提出了一种面向工业网络化嵌入式系统的自动化系统级测试集成方法,解决了测试流程管理、约束条件下的测试/硬件选择、间歇性故障分析以及测试结果可视化等挑战。该研究引入了基于数据的方法进行测试优先级排序、覆盖率优化和故障分类,通过实证验证表明,借助可视化工具和间歇性故障的度量指标,测试效率、覆盖率及可操作洞察力均得到提升。

ABSTRACT

Embedded systems are ubiquitous and play critical roles in management systems for industry and transport. Software failures in these domains may lead to loss of production or even loss of life, so the software in these systems needs to be reliable. Software testing is a standard approach for quality assurance of embedded software, and many software development processes strive for test automation. Out of the many challenges for successful software test automation, this thesis addresses five: (i) understanding how updated software reaches a test environment, how testing is conducted in the test environment, and how test results reach the developers that updated the software in the first place; (ii) selecting which test cases to execute in a test suite given constraints on available time and test systems; (iii) given that the test cases are run on different configurations of connected devices, selecting which hardware to use for each test case to be executed; (iv) analyzing test cases that, when executed over time on evolving software, testware or hardware revisions, appear to randomly fail; and (v) making test results information actionable with test results exploration and visualization. The challenges are tackled in several ways. [Abstract truncated.]

研究动机与目标

  • 为提升工业网络化嵌入式系统的可靠性与质量保障水平,因软件故障可能导致生产损失或安全风险。
  • 解决自动化系统级测试中的关键挑战:信息流、时间与资源约束下的测试/硬件选择、间歇性测试失败以及测试结果的可用性。
  • 开发实用的、基于数据的解决方案,通过可视化和诊断度量指标提升测试效率、覆盖率及开发人员信任度。
  • 通过基于多年夜间测试所积累的真实工业数据,弥合工业测试实践与学术研究之间的差距。
  • 通过将测试建模为反馈回路系统,支持反馈驱动的开发,从而提升软件开发生命周期(SDLC)中的决策能力。

提出的方法

  • 对五名工业实践者开展访谈,梳理嵌入式系统测试中的端到端信息流,识别关键瓶颈与反馈节点。
  • 利用夜间回归测试运行的真实工业数据,开发并评估自动化测试选择与硬件分配算法,以时间与覆盖率为目标进行优化。
  • 提出一种新型度量指标,用于将测试用例分类为间歇性或一致性失败,基于历史执行数据检测失败行为的模式。
  • 构建并评估了一款测试结果可视化与探索工具,与CI/CD流水线集成,以支持可操作的洞察与开发人员决策。
  • 应用组合测试与基于搜索的技术,建模测试系统拓扑结构,并优化跨硬件配置的测试映射。
  • 对长期测试日志进行统计与模式分析,识别间歇性故障的根本原因,并与一致性故障进行对比。

实验结果

研究问题

  • RQ1工业嵌入式系统的软件测试过程中信息流如何运作?如何通过可视化手段提升决策能力?
  • RQ2在时间与资源约束下,如何自动选择测试用例与硬件设备,以最大化测试覆盖率与效率?
  • RQ3哪些因素导致嵌入式系统中的间歇性测试失败?如何系统性地对其进行分类与诊断?
  • RQ4如何通过CI/CD环境中的可视化与交互式探索,使测试结果更具可操作性?
  • RQ5测试中的自动化反馈回路在多大程度上能提升嵌入式软件系统的可靠性与可维护性?

主要发现

  • 研究发现,测试结果与反馈回路对决策至关重要,集中式测试结果数据库显著提升了可追溯性与响应速度。
  • 自动化测试选择与硬件分配方法通过在测试迭代中动态调整设备配置,有效缩短了测试套件运行时间并提升了硬件覆盖率。
  • 所提出的间歇性故障分类度量指标成功识别出显著模式,表明此类故障通常由环境或配置因素引起,而不仅仅是代码缺陷。
  • 根本原因分析显示,间歇性失败更可能由时序、网络抖动或硬件差异引发,而一致性失败则多源于逻辑错误。
  • 可视化工具使开发人员能够高效探索测试结果,使用日志显示特定视图与模式被反复调用,表明其具有强大的实际应用价值。
  • 将测试结果整合进反馈回路被证明可增强对测试的信任度,并减少误报,尤其在结合对故障模式的诊断洞察时效果更显著。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。