如何设计自动化测试的代码结构

做了一段时间的自动化测试,遇到了一些问题,有了一些思考,主要是关于该如何设计自动化测试代码结构。

首先,针对一个特定的项目,该如何设计自动化测试?

我认为,需要考虑一下三点:

1、核心价值有哪些?

2、核心价值中,有哪些重要的检查点?

3、操作如何进行分割,以便于控制测试用例中操作链的长度?操作链过长,一旦某个点出现故障,所有自动化操作就此停止,不利于充分利用无人值守的时间;操作链过短,重复启动和关闭,又降低了自动化运行的效率。

4、测试用例代码如何划分结构,以便最小化解决方案的变更带来的影响?

而自动化测试框架,主要用来解决第4个问题,同时,又需要能方便的用于不同的项目。

目前的思路如下:

1、自动化测试代码结构分为:公用api、操作、组织、模型、数据

2、公用api,对一些基层操作进行封装,以隔离解决方案与测试代码。例如将所有类型控件的输入抽取成一个input方法,测试中,只需给出控件的id和输入值。

3、操作,以业务场景中的操作节点为一个操作,每一个操作都应该有一个检查点,且需要考虑如何自动根据测试数据判断应有的预期结果。

4、组织,将操作进行组装,形成测试用例。

5、模型,根据业务,将其中的各个业务实体封装,以便传递测试数据和获得操作结果。

5、数据。包括测试数据和环境参数。

时间: 2024-10-28 16:16:07

如何设计自动化测试的代码结构的相关文章

CSS基础(1) - 设计代码结构

本章内容: 设计代码结构 有意义的文档的重要性 命名约定 什么时候使用ID和类名 微格式 HTML CSS的不同版本 文档类型 DOCTYPE切换和浏览器模式 1.类名区分大小写 2.类名的过度依赖 3.DIV和SPAN DIV是有语义的代表division.他可以将文档分为几个有意义的区域. SPAN 可以将行内元素分组 4.微格式 概念:源自网络 微格式按照某种已有的被广泛应用的标准,通过对内容块的语义标记,可以让外部应用程序.聚合程序和搜索引擎能够做以 下事情: 在爬取Web内容时,能够更

storm源码之storm代码结构【译】【转】

[原]storm源码之storm代码结构[译] 说明:本文翻译自Storm在GitHub上的官方Wiki中提供的Storm代码结构描述一节Structure of the codebase,希望对正在基于Storm进行源码级学习和研究的朋友有所帮助. Storm的源码共分为三个不同的层次. 首先,Storm在设计之初就考虑到了兼容多语言开发.Nimbus是一个thrift服务,topologies被定义为Thrift结构体.Thrift的运用使得Storm可以被任意开发语言使用. 其次,Stor

(三)整合spring cloud云服务架构 - particle云架构代码结构构建

上一篇介绍了spring cloud云服务架构的基本架构图,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud本身的服务发现.治理.配置化管理.分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化.服务化.原子化封装,也为后期的热插拔.持续集成做一些准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关异常问题的处理. particle云架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核

Quick-Cocos2d-x初学者游戏教程(二) -------------------- Quick内部的代码结构及相应的原理

Quick-Cocos2d-x初学者游戏教程(二) 上一章我们已经了解了Quick的一些基础知识,所以本章我们将开始深入到Quick内部,了解它内部的代码结构,同时在解析的过程中学到相应的原理,并学会如何修改.添加相应的代码文件,比如实现屏幕的分辨率适配. 前面我们创建了一个叫做parkour的游戏项目,其意思就是本人本来打算要做一个跑酷游戏的,但是因为这几天玩了一款叫做<el>的飞行游戏,非常有意境,并且几乎零差评,所以请允许我任性一下,善变的我不想做跑酷游戏了,而是想要挑战下这种类型的游戏

CEF3开发者系列之工程和代码结构

CEF支持一系列的编程语言和操作系统,并且能很容易地整合到新的或已有的工程中去. 它的设计思想就是易用且兼顾性能.CEF基本的框架包含C/C++程序接口,通过本地库的接口来实现,而这个库则会隔离宿主程序和 Chromium&Webkit的操作细节.它在浏览器控件和宿主程序之间提供紧密的整合,它支持用户插件,协议,javascript对象以及 javascript扩展,宿主程序可以随意地控件资源下载,导航,上下文内容和打印等,并且可以跟Google Chrome浏览器一起,支持高性能和Html5

To IOC,代码结构演变

代码结构演变 需求描述: 需求: 提供一个系统,可以在新春佳节之际以邮件的形式给员工发送新春祝福. 源自: [调侃]IOC前世今生@家住腊树下 版本一 string message = "新年快乐!过节费5000."; Console.Write("Frome email: " + message); 版本二 业务逻辑控制代码 string message = "新年快乐!过节费5000."; EmailHelper emailHelper =

解读eXtremeComponents代码结构--转载

原文地址:http://blog.csdn.net/lark3/article/details/1937466 大致整理了去年写的东西,罗列如下: ec是一系列提供高级显示的开源JSP定制标签,当前的包含的组件为eXtremeTable,用于以表形式显示数据.ec现在的版本是1.0.1,由Jeff Johnston开发的,网址:http://www.extremecomponents.org.应该说eXtremeComponents已经实现了一些较为完善的功能,包括排序.过滤等,现在还支持Aja

(三)整个架构的代码结构简单描述

上一篇介绍了spring cloud云服务架构的基本架构图,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud本身的服务发现.治理.配置化管理.分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化.服务化.原子化封装,也为后期的热插拔.持续集成做一些准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关异常问题的处理.particle云架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核心

(三)整合 particle云架构代码结构构建

上一篇介绍了spring cloud云服务架构的基本架构图,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud本身的服务发现.治理.配置化管理.分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化.服务化.原子化封装,也为后期的热插拔.持续集成做一些准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关异常问题的处理.particle云架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核心