TTCN - 3 测试系统全解析
1. TTCN - 3 基础与编译
TTCN - 3 是一种抽象表示法,用它编写的代码通常被称为 ATS(抽象测试规范)。编译器会将 ATS 转换为 ETS(可执行测试规范),ETS 可以是任何已知的语言,如 Java、C、C++ 等。这个转换过程由 TTCN - 3 编译器提供商完成,用户无需关注具体的转换细节。ETS 会被部署到执行环境中,其架构和设计将在后续详细介绍。
示例代码展示了部分 TTCN - 3 的逻辑:
alt {
[] httpPort.receive (BrachiosaurusAck) {
localTimer.stop;
setverdict (pass);
}
}
每个测试组件都有一个相关的判定结果,称为本地判定。在执行过程中,通过判定操作来处理本地判定。此外,还有一个全局判定,当 PTC 终止执行时会更新全局判定。全局判定不能通过 getverdict
或 setverdict
操作访问,当测试用例执行终止时,总是会返回全局判定。这个判定结果可以分配给控制部分的判定变量。
verdicttype v;
v := execute(SeparateSearchFunctionalTest(serviceId), 1.0);
if(v == fail){
v := execute(SeparateAddFunctionalTest(serviceId), 2.0);
}