利用遗传算法生成基于扩展有限状态机的测试序列

时间:2016-01-18 08:51:11

标签: genetic-algorithm

我想使用遗传算法生成基于扩展有限状态机(EFSM)的测试序列。基于EFSM的测试通过遗传算法面临可行路径的问题。我的覆盖标准是过渡覆盖率。我有一个系统的EFSM模型,它具有输入参数和从一个状态到另一个状态的转换的保护。因此,通过使用此EFSM模型,我想生成测试序列。但我对如何开始感到困惑。我是指如何产生初始人口。 实际上,我的研究是基于EFSM的测试用例生成。我有一台ATM机模型。这个模型由状态和转换组成。转换具有输入参数的保护和操作。现在我想为这台机器生成测试用例。我是指基于模型的测试。对于这项任务,必须没有可行的路径。我的意思是每个过渡都应该包含在测试用例中。所以为此,我需要生成测试序列。遗传算法有利于路径优化。但我不知道如何在遗传算法中使用我的模型规范并生成测试序列。

1 个答案:

答案 0 :(得分:0)

考虑到分支,我会通过在FSM图中使用随机游走来简化随机创建种群部分(现在不考虑布尔约束) - 这就像生成正则表达式(或转换)中的示例一样你的FSM进入传感器,在输出端产生输入并通过它走过去)。生成许多​​足够长度的随机示例后,您将使用_E_FSM部分进行验证它们的过程。鉴于其中许多可能无效,您可以考虑一些“修复”策略 - 修复那些不验证但距离不正确的人(一种启发式,你必须自己提出)。然后,您的人口实际上是一组个体(因此您进化了一组集合),您的评估指标将是设定级别的覆盖范围。另外,我要么不使用交叉运算符,要么只确保有效点和个体交叉。变异将是在图中选择一个点并随机地走另一条路径。这就是解决方案的草图(我成功解决了与GA类似的问题)。