如何设计自动化测试的代码结构
2015-01-26 21:51
375 查看
做了一段时间的自动化测试,遇到了一些问题,有了一些思考,主要是关于该如何设计自动化测试代码结构。
首先,针对一个特定的项目,该如何设计自动化测试?
我认为,需要考虑一下三点:
1、核心价值有哪些?
2、核心价值中,有哪些重要的检查点?
3、操作如何进行分割,以便于控制测试用例中操作链的长度?操作链过长,一旦某个点出现故障,所有自动化操作就此停止,不利于充分利用无人值守的时间;操作链过短,重复启动和关闭,增加数据准备的开销,降低了自动化运行的效率。
4、测试用例代码如何划分结构,以便最小化解决方案的变更带来的影响?
而合理的框架,主要用来解决第4个问题,同时,又需要能方便的用于不同的项目。
目前的思路如下:
1、自动化测试代码结构分为:公用api、操作、组织、模型、数据
2、公用api,对一些基层操作进行封装,以隔离解决方案与测试代码。例如将所有类型控件的输入抽取成一个input方法,测试中,只需给出控件的id和输入值。
3、操作,以业务场景中的操作节点为一个操作,每一个操作都应该有一个检查点,且需要考虑如何自动根据测试数据判断应有的预期结果。
4、组织,将操作进行组装,形成测试用例。
5、模型,根据业务,将其中的各个业务实体封装,以便传递测试数据和获得操作结果。
5、数据。包括测试数据和环境参数。
首先,针对一个特定的项目,该如何设计自动化测试?
我认为,需要考虑一下三点:
1、核心价值有哪些?
2、核心价值中,有哪些重要的检查点?
3、操作如何进行分割,以便于控制测试用例中操作链的长度?操作链过长,一旦某个点出现故障,所有自动化操作就此停止,不利于充分利用无人值守的时间;操作链过短,重复启动和关闭,增加数据准备的开销,降低了自动化运行的效率。
4、测试用例代码如何划分结构,以便最小化解决方案的变更带来的影响?
而合理的框架,主要用来解决第4个问题,同时,又需要能方便的用于不同的项目。
目前的思路如下:
1、自动化测试代码结构分为:公用api、操作、组织、模型、数据
2、公用api,对一些基层操作进行封装,以隔离解决方案与测试代码。例如将所有类型控件的输入抽取成一个input方法,测试中,只需给出控件的id和输入值。
3、操作,以业务场景中的操作节点为一个操作,每一个操作都应该有一个检查点,且需要考虑如何自动根据测试数据判断应有的预期结果。
4、组织,将操作进行组装,形成测试用例。
5、模型,根据业务,将其中的各个业务实体封装,以便传递测试数据和获得操作结果。
5、数据。包括测试数据和环境参数。
相关文章推荐
- 通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界
- [置顶] 我眼中的自动化测试框架设计要点-要让QA不必去写代码
- 简单分享一个轻量级自动化测试框架目录结构设计
- 简单分享一个轻量级自动化测试框架目录结构设计
- 【软件自动化测试-QTP实战技能 5】== QTP中一些基础性代码结构
- 简单分享一个轻量级自动化测试框架目录结构设计
- 简单分享一个轻量级自动化测试框架目录结构设计
- 浅谈如何设计自动化测试框架
- 应用框架的设计与实现——.NET平台4.2代码测试
- 如何设计编制软件测试用例
- [转贴]如何把设计时代码从运行时代码中分离出去
- 应用框架的设计与实现——.NET平台4.2代码测试问题解决
- 由成幻OnlineJudge学习如何做自己的Acm-Icpc在线评判系统-5.在线编译与测试系统代码粗解
- 谈谈如何保证测试代码的正确性
- 如何让.Net控件在设计时InitializeComponent()中不生成相关代码
- 如何设计更健壮和优美的代码
- 测试概念进行代码设计时的七条基本原则
- [转]如何让.Net控件在设计时InitializeComponent()中不生成相关代码
- 如何让设计器不生成自定义控件属性的代码
- 基于TTCN的TD终端RRM一致性测试结构设计