自动化编码规范及脚本设计
5、如果遇到某些用例在本地运行通过,但是在服务器运行是fail的,针对这种情况,需要持续观 察,找出问题根本原因
练习
1、安装自动化运行环境 2、企业版http://10.10.178.72:8080/spEnterprise,交易管理的分账查询功能,实现自动化
或者自行实现自动化
设计适于自动化的测试用例
语义清晰,设计完善,数据具体,逻辑合理 有一定的独立性,或相对的独立性 运用数据随机性,降低运行测试用例相互冲突,使编写 和运行更加顺畅 有明确的运行结果和期望,并可验证 尽量提高产品功能的覆盖 易读易理解,便于维护,便于实施。
Umf-web项目CI持续集成
Web自动化脚本结构
原则:文件夹或者类名称要突出测试的模块的业务意义
命名规则
函数命名
函数名和内容一致,函数名为动宾结构
// 进入交易管理的申请退款 public void openApplyRefund() { }
函数传参的个数不要太多,最好不超过5个,如果参数过多,要使用hash、数组等类型的参数 如果定义的函数方法需要参数,请在定义方法时用()把参数名声明在内 public List<String> UIClickApplyRefundQuery(String startDate, String endDate) { } 如果函数方法不需要参数,请在定义方法时紧跟(){} public void clickLaw(){ } 在做判断验证时,采用check开头 public void checkQueryRechargExcelAndPageIsSame(){ }
常用语言知识
一、常用的java基础
条件判断 循环
字符串切割,拼接,转换数组
数组的基本操作 类的引用与实例化 一般方法的编写与参数传递
二、Selenium常用定位方式
作业点评
1、操作步骤罗列,无断言验证点---实现无意义
2、自动化用例实现的是用户的操作行为,在设置验证点的时候,充分站在用户角度考虑问题 3、清晰的注释更加便于理解 4、用例验证场景单一
通用测试框架
测试框架:一个能够为用户测试目标系统提供各种工具来构建测试用 例的系统,这些工具包括:日志工具、错误检查、数据生成等等。
通用测试框架特征:
分层结构 数据脚本分离 执行监听 容错机源可积累传递 统一规范 可持续发展
分层测试开发流程
测试框架之用例结构
说明:
1. 原来定义在setup中的操作 ,为整个class公用,只要这个 class的test个数超过1,就需要将数据抽提出来。 2. 不删除新增数据,所以teardown不作数据环境的还原数据 3.Setup中有对环境的特殊操作,在teardown都需要恢复初始 环境 4. 通过阅读testcase层是可以看出业务逻辑 5. 所有操作必须有注释
--API级的公共方法 --所有的业务数据
--对象层
--用例层
--工具类
命名规则
基本结构
--common层:用于放置基于webdriver的基本方法、一些基本方法的二次封装,比如table --Page层:可以调用common层提供的方法和Page本层的方法,在保证脚本可读性的基础上提升代码的 复用性 --Data层:用于存放数据 --TestCase层:当模块或者业务较多,可以按实际情况增加具有业务意义的下级文件夹;测试用例层只能 调用Page层提供的方法,执行测试任务的步骤。
Test设计
Setup:执行测试准备工作,在setup中可以构造当前class中使 用的基础数据。为了避免数据之间的干扰,新建的数据需要有 一个唯一标识符,这个标识符一般是随机的而且是不容易重复 的,推荐使用“当前时间+随机数”方式生成唯一标识符。 Test:一个用例可以测试多个功能点。用例之间要避免有逻辑关 联。 Teardown:做清理环境和退出系统等操作
用科技创造人人乐享的生活方式
To create a happy lifestyle enjoyed by all people through technology
谢谢
任何一个问题,都不是别人的问题」
命名规则
命名方式
--TestCase层,命名以逻辑名称大写开头,如HomePageBasicDisplay.java
case的名称采用“test01_本类模块名_中文业务意义的概括描述”的方式,易读易懂,以增强代码的可读性。
--Page层命名以逻辑名称大写开头,Page为结尾,逻辑名称与TestCase相同,如HomePageBasicDisplayPage.java --Data层命名与TestCase相同,如HomePageBasicDisplayData.java
测试框架之分层结构
分层结构,增加复用性和可读性;使脚本易读易查。
分层写脚本,维护时减少代码修改;编写脚本时减少冲突。 脚本框架不宜过于复杂,降低测试代码的编写难度 三层设计为:对象层、数据层、测试用例层 对象层:执行单步的控制逻辑(注意控件识别问题及方法) 和为一项任务执行一系列的操作(注意合理设计任务);检 验断言的数据; 数据层:独立的数据机制,便于维护和管理; 用例层:调用一系列的任务,编写测试用例(调试用例);
用科技创造人人乐享的生活方式
To create a happy lifestyle enjoyed by all people through technology
目录
一、自动化脚本开发规范
二、自动化分层测试结构
三、umf-web自动化项目介绍
四、作业问题汇总
五、如何分析自动化报告
自动化测试编码规范。 基本原则: 具有业务意义,要见名知意 遵守基本的规则、注释
自动化报告分析
1、针对自动化报告的错误case,首先进行功能验证,其次再做其他分析---功能
2、分析错误产生原因,如果是脚本问题,需要修改后提交svn,如果是功能问题录bug 3、分析报告要严格按照用例场景验证,如在case非末尾验证的地方fail,并不代表本case之后的 验证点没有问题,需要验证的是整条用例 4、明确业务变更、脚本健壮性差、功能问题的处理方式