随着嵌入式软件规模、复杂度的持续增长,基于构件的设计技术已在大规模嵌入式系统开发中得到广泛应用.嵌入式构件测试是保证构件质量以及构件间集成构造的重要手段.基于模型的测试是嵌入式软件测试的重要方法,通过基础模型描述系统预期的行为特性,以提供用例生成的基础.文中针对嵌入式软件构件,提出建立构件扩展语义接口自动机模型(Extended Semantic Interface Automata,ESIA),通过对接口自动机模型进行变量、约束条件等扩展,支持构件行为特性的描述与理解.以ESIA为基础模型,提出了基于符号执行的ESIA-Symbolic测试用例生成方法,通过搜索有效的事件/数据序列,设计相关测试用例与测试场景.实验以高速列车车载通信系统软件为例进行建模与测试生成,并在测试覆盖率、效率、有效性等方面与相关测试生成方法进行了对比.
With the increasing size and complexity of embedded systems,Component-Based Design(CBD)has been widely applied in large-scale embedded system development.Embedded component testing is important to ensure the quality of individual components and component integrations.Modeling is an effective technique in embedded system testing.It abstracts the expected system behavior and provides the basis for test case design.The paper proposes an ESIA(Extended Semantic Interface Automata)model which extends IA(Interface Automata)with variables and constraints for better understanding of component interface behavior.Based on ESIA,algorithms are designed following symbolic execution method to search for effective events/data sequences as test cases and test scenarios.Experiments are exercised on a communication software of high-speed railway.It evaluates the test coverage and effectiveness of the proposed approach in comparison with others.