论文标题
优先考虑有限状态机的可变长度测试用例生成
Prioritized Variable-length Test Cases Generation for Finite State Machines
论文作者
论文摘要
基于模型的测试(MBT)是一种有效的测试特征(FSM)的特征时,是测试的有效方法。尽管文献中有关该主题的各种策略,但很少有处理特殊测试情况的工作。更具体地说,当同时同时:(1)测试路径只能以FSM的定义状态启动和结束,(2)仅需要仅需要定义的状态和FSM的过渡来访问测试用例的优先级机制,并且(3)测试路径必须在给定的长度范围内,不一定是明确统一的长度。本文提出了满足所有这些要求的测试生成策略。这些要求的同时组合对于实际的工业测试非常实用。描述了实施此策略的六种可能算法的变体。使用来自实际汽车和国防项目以及人为生成的FSM的180个问题实例的混合,将所有变体与基于已建立的N-Switch覆盖概念修改的基线策略进行了比较。评估了生成的测试路径的各种特性及其激活FSM中定义的虚构缺陷的潜力。在大多数问题配置中,提出的策略优于基线。在六个分析的变体中,即使很难识别出通用的表现最好,但三个给出了最佳结果。根据FSM的应用,本文提出的策略和评估既适用于测试功能和非功能性软件要求。
Model-based Testing (MBT) is an effective approach for testing when parts of a system-under-test have the characteristics of a finite state machine (FSM). Despite various strategies in the literature on this topic, little work exists to handle special testing situations. More specifically, when concurrently: (1) the test paths can start and end only in defined states of the FSM, (2) a prioritization mechanism that requires only defined states and transitions of the FSM to be visited by test cases is required, and (3) the test paths must be in a given length range, not necessarily of explicit uniform length. This paper presents a test generation strategy that satisfies all these requirements. A concurrent combination of these requirements is highly practical for real industrial testing. Six variants of possible algorithms to implement this strategy are described. Using a mixture of 180 problem instances from real automotive and defense projects and artificially generated FSMs, all variants are compared with a baseline strategy based on an established N-switch coverage concept modification. Various properties of the generated test paths and their potential to activate fictional defects defined in FSMs are evaluated. The presented strategy outperforms the baseline in most problem configurations. Out of the six analyzed variants, three give the best results even though a universal best performer is hard to identify. Depending on the application of the FSM, the strategy and evaluation presented in this paper are applicable both in testing functional and non-functional software requirements.