敏捷开发自动化测试框架之用户故事

自动化测试框架搭建及开发,我是按照敏捷开发的用户故事模式,把每个阶段都拆成一个大故事,再拆分成一个个小的故事,一一实现。

用户故事是描述对用户有价值的功能,好的用户故事应该包括角色、功能和商业价值三个要素:

1.角色:谁要使用这个功能。

2.功能:需要完成什么样的功能。

3.价值:为什么需要这个功能,这个功能带来什么样的价值。

使用这种模式的目的:用户故事越细,越能更好的统计每个阶段的目标,完成的时间,所需要的人力,越容易控制测试开发的周期,及阶段性的工作成果,若测试开发期出各种问题可以及时弥补。

以公司移动端自动化项目来介绍,如何以敏捷开发之用户故事模式来完成测试框架搭建及开发:

一.选择合适的框架

1.罗列出对框架的要求

1)测试对像为移动端客户端,平台为Android与IOS;

2)App应用类型:原生+web,其中支付会调用第三方App;

3)你会用什么语言开发,例:JAVA;

注:这个框架要满足跨平台,跨进程,支付混合模式,支持JAVA编程语言;

2. 要满足1)的条件都列出,选择最适合的框架:

如上图最满足条件得只有Appium了;

二.配置环境

1.安装Appium开发环境;

2.下载找到系统,软件,硬件都兼容的版本,否则会在版本兼容上浪费很多时间;

3.下载一个实例,调试,运行。

三.框架结构整改

下载的实例都是比简单流程操作,易用性较差,需要改进:

1.我使用的JAVA工厂模式 ;元素定位,操作,用例,场景都是按最小单元划分;

1)定位元素封装为一个公共的方法;用到调用及可;

2)元素操作为最小单元:例:点击登录按钮为一个方法:

3)多个方法组为一个CASE,一个方法可以被多个CASE调用;

4)一个或者多个CASE可以组合为一个场景;可也可被多个场景调用;

5)像截图,滑屏,...公共方法都封装起来调用执行。

2.关键字驱动;

1)参数属性存放在一方法里

2)操作元素的ID,Name,Xpath,...都放在一个指定文件,在写方法操作时在指定文件读取,修改即可,例:元素定位变 了,修改一处可以实现多处被修改,不用一处理去修改。

3.部份数据初始或者销毁会用到数据库;

4.代码结构

四.用例是否可自动化

把可以需要自动化的用例加以标识,并标识需要自动化用例的优先级,按照优先级别开发自动化CASE。

五.自动化功能分块,以公司产品为O2O模式

 1.可以先大至分为三大块:用户,商户,流程(用户与商户交互);

 2.在将大类按模块拆分成小类;

六.CASE颗粒度设计

越细越好,方便组合与拆分。

七.场景设计

1.每一个模块,或者一个流程组合成一个场景;

2.再按大类组合一个用例集

用户主页:只覆盖用户主页的CASE;

用户侧边栏:用户侧边栏CASE;

商户功能:用户所有CASE;

流程功能:订单部份,用户与商户交互订单流程CASE;

支付功能:所有与支付相关的CASE;

BVT脚本:覆盖所有功能,是将以上功能组合实现;

按用户故事划分的好处是分开执行,也可以组合执行,各功能也可以分不同人去编写,然后组合再一起,也利于分配和过程控制。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,218评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 心情好,高兴开心的时候,喜欢红色。 心情差,抑郁的时候,喜欢紫色。 淡漠的时候喜欢淡蓝色。 平和的时候喜欢淡绿色。
    bf61d3966470阅读 1,850评论 0 1
  • 接受自己 接受自己的外貌 接受自己的不漂亮 无论如何 它是上帝送给你独特的礼物 显示自己的独一无二 正视自己 正视...
    一只不吃青草的羊阅读 1,837评论 2 3
  • 当下这一刻,你是完满的,好幸福,有同事在周围,我在做着自己想做的事,好享受,好滋养,我爱你们。我能不能一直这样爱自...
    佳肴宝宝阅读 3,800评论 0 0

友情链接更多精彩内容