1.一种基于变异的测试用例自动生成系统,其特征在于,包括用例解析模块、用例结构分析模块、内容集合构建模块以及用例生成模块;
2.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例生成模块用于在不改变测试用例树的非叶子节点的基础上,依次基于各测试用例树生成新测试用例具体为:根据当前测试用例树对应的组成结构和字段类型信息所符合的特征,选取对应的变异策略来对当前测试用例树的叶子节点、当前测试用例树的叶子节点值进行变异,其中,值的变异以叶子节点的值为基准进行变异,或者以各内容集合中的随机选取的值为基准进行变异。
3.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例解析模块对种子测试用例解析生成测试用例树。当种子测试用例为xml格式时,测试用例树的每一个节点映射的信息包括xml种子测试用例中各节点的节点名、节点值以及属性值;当种子测试用例为json格式时,测试用例树的每一个节点映射的信息包括json种子测试用例中各节点的键、值,其中,键为属性名字符串,值为属性值。
4.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例结构分析模块的工作流程分为字段类型分析和组成结构分析两个步骤;
5.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述内容集合构建模块读取测试用例树构建用例内容集合,其中,内容集合构建模块的工作流程分为用例内容收集、用例内容集合创建和更新两个步骤;
6.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例生成模块的工作流程分为变异策略构建和变异操作执行两个步骤,且所述变异策略构建包括基于随机化的变异策略构建,具体的,基于随机化的变异策略构建在遍历测试用例树过程中有随机的概率执行随机选取的变异策略,且基于随机化的变异策略构建中所使用的变异策略包括节点插入和替换、拼接、添加;
7.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例生成模块的工作流程分为变异策略构建和变异操作执行两个步骤,且所述变异策略构建包括基于类型推断的变异策略构建;
8.如权利要求1所述的一种基于变异的测试用例自动生成系统,其特征在于,所述用例生成模块通过采用随机化和基于语义的变异,将类型信息和变异结合起来,同时通过随机化变异策略增强通用性。
9.如权利要求1~8任一权利要求所述的一种基于变异的测试用例自动生成系统,其特征在于,系统采用的变异策略在测试用例树节点层次和测试用例树节点值层次进行变异,且变异策略构建方法构建的变异策略符合原有语义,不会损坏测试用例的主结构,也即具有子节点的节点在树形结构中的连接关系不会发生变化,改变的只是叶子节点的值。