TTCN - 3 中结合关系数据库模式的数据流测试
在 TTCN - 3 测试中,数据处理和测试用例的管理至关重要。本文将介绍 TTCN - 3 数据和测试用例的表示方法,以及如何将它们映射到关系数据库模式中,同时还会阐述随机模板生成的 SQL 实现。
1. TTCN - 3 数据和测试用例表示
1.1 TTCN - 3 数据表示
我们使用 Gecse 定义的类型结构图概念,用有向图森林来建模数据类型。不过,我们主要关注 TTCN - 3 基本类型和记录类型,TTCN - 3 的 record of、set of、set 和 union 类型暂不考虑。
数据类型集合表示为 (D = (N, E, L)),其中 (E : N × L × N)。节点 (n \in N) 代表一个数据类型,边 (e = (n_i, l, n_j))((e \in E),(n_i, n_j \in N),(l \in N))表示数据类型 (n_i) 有一个类型为目标节点 (n_j) 所代表的字段,标签 (l \in L) 定义了字段名和边的顺序约束。需要注意的是,(D) 不一定是树,数据类型定义可能包含递归关联,从而形成强连通分量。
函数 (walk : N → W) 返回的路径集合(在 Gecse 的工作中称为子图模板)是一个无界的有限树集合,它通过从节点 (n \in N) 开始,递归遍历每个访问节点的所有出边,直到到达代表基本类型的节点 (n_i \in N)((N_{primitive} \subseteq N))。路径 (w \in W)((W = walk(n)),(n \in N))对应一个 TTCN - 3 参数化模板。通过递归地将函数 (va