e language trainning slid
《E语言培训幻灯片——执行流程与测试阶段详解》 E语言,作为一种特定的编程或脚本语言,被广泛应用于测试和验证领域。本文档是基础的E语言培训资料,主要关注的是测试过程的执行流程及其方法。下面将详细阐述E语言在测试中的生命周期,包括初始化、配置、模拟运行、后运行检查以及最终化等阶段。 **执行流程图** 执行流程图展示了测试的各个阶段及其相互关系。流程始于初始化,然后进入配置阶段,接着进行预运行生成、模拟运行、后运行检查,最后是最终化清理和报告。 1. **初始化** - `global.init()`:这是全局的初始化操作,通常涉及交互式工作,如环境设置和资源准备。 - `global.setup_test()`:配置阶段,用于设定测试的环境和参数,为模拟运行做准备。 2. **配置** - 在结构体(struct)层面上,`struct.init()`是通过`new`表达式实例化结构体时的初始化操作。 3. **预运行生成** - `global.generate_test()`:内存分配和数据元素的生成,这在模拟运行之前进行。 - `struct.pre_generate()`:预生成阶段,为生成操作做准备。 - `struct.post_generate()`:在预生成之后,生成操作完成并需要结构体生成的数据时调用。 4. **模拟运行** - `global.start_test()`:模拟运行开始,此阶段可能需要所有已生成的数据,激活测试案例管理和事件。 - `struct.run()`:调用测试案例管理器(TCMs),并显式触发事件。 5. **后运行检查** - `global.extract_test()`:模拟运行后,全局数据的准备工作,为检查阶段做准备。 - `struct.extract()`:结构体特定的数据提取,用于结构体内部的检查前处理。 6. **检查** - `struct.check()`:执行后的检查,评估测试结果是否符合预期。 7. **最终化** - `global.finalize_test()`:清理操作,包括覆盖度计算和报告生成。 **执行流程注意事项** - `run()`, `quit()`, 和 `check()` 的递归调用对树形结构中的每一个struct采用深度优先策略,从sys开始,父结构体的函数先于子结构体调用(前序遍历)。 - `generate_test()` 阶段的方法按照 `init()`, `pre_generate()`, `post_generate()` 的顺序递归调用,`pre_generate()` 和 `post_generate()` 之间的调用只针对需要生成的struct。 - 如果一个struct标记为不生成,则不会调用以上任何方法,除了可显式调用的 `stop_run()` 和 `quit()`。 E语言的测试框架设计为可扩展,允许用户自定义每个阶段的方法以满足特定的测试需求。例如,`global.init()` 可以包含用户特定的交互性设置,而 `struct.check()` 可以定制特定的检查逻辑。这种灵活性使得E语言在复杂的测试环境中能够适应各种需求,提高了测试的效率和准确性。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助