4006-998-758
3000+课程任你选择
基于Cucumber新形势下的框架定制
研发学院 HP中国金牌讲师 开课时间:2021-08-17
汪珺

HP中国金牌讲师

HP美国敏捷咨询师、资深咨询师、资深培训

凤凰项目沙盘认证授权教练

挑战埃及沙盘认证权限讲师

敏捷和DevOps落地转型专家

Exin DevOps Master TTT首批认证授权讲师


查看老师详情
课程内容

课程大纲


通过实例看框架

框架构建的整体思路:第一步,基础封装

  1.统一对象处理

  2. 定位的逻辑封装(Xpath、Jquery的统一处理)

  3. 封装辅助性方法(日志、截图、报告等)

  4. 统一的错误处理,应对不同错误类型

  5. 动态对象的动态定位与关联性定位

  6. 数据的统一来源处理,抽象层

问题:数据驱动的维护性代价,是否仍然很庞大

解析:1-2-3-∞,与需求的匹配度问题,Cucumber基础框架无法解决

解析:多个不同地址、不同版本,脚本无法复用的原因


框架构建的整体思路:第二部,所有转化为数据流

  1. 句柄匹配不同对象,封装为统一的方法,降低认知学习时间

  2. 操作流在后端转化为数据流,让脚本复用

  3. 让验证结果变为多重验证的正则模式,让验证结果正则化

  4. 统一到数据流,定义各种数据源


问题:仍然是多个用例匹配一个需求,现在降低了操作与验证的维护下代价,但跟不上需求的迭代


框架构建的整体思路:第三部,需求规则矩阵

  1. 认知到1-2-3-∞,TDD绑定为“3“,BDD绑定为”∞“

  2. 如何考虑让BDD的前端用例自我生成

  3. 介绍需求规则矩阵:自动通过规则生成用例(独家)

  4. 后端实现的统一化处理:应对通用规则和业务范围规则的定义(独家)

  5. 测试的思维匹配到需求的跟踪,应对变化


问题:仅仅解决单个模块内的维护下代价,和需求跟踪的问题,场景间仍存在问题


框架构建的整体思路:第四部,拓扑映射的测试端自动生成(Cucumber本身无关,与自动化整体有关)

  1. 解决测试数据在多个交易间流转准备的难题

  2. 思路的转化:学习PACT的考虑,与数据库外键的关联性,来自动发现数据在多个组件/系统之家的流转(拓扑关系)

  3. 消灭场景:构建拓扑自我映射,自动找寻前置与后置关系

  4. 如何落地在框架或平台中


问题:解决了场景间的问题,没有解决数据前置准备的问题


框架构建的整体思路:第五部,数据缓存机制的生成

  1. 构建中央缓存数据库

  2. 拓扑和数据统计的结合,发现前置多少次被调用

  3. 选取交易进行前置批跑,自动构建数据

  4.   Docker的使用,等到前置数据批次稳定后


问题:与开发端、需求端的集成问题

  1. 与需求的映射,与研发代码的对应关系,如何绑定

  2. 与Git,Jenkins之间如何调用


问题:与运维端,如何适应并集成到DevOps中

  1. 工具的调研:Puppet、Chef、Ansiable

  2. 流水线运行到测试时,调用工具进行自动部署构建,触发分级测试

  3. 分级测试的进行与策略

BDD+Cucmber   适应场景,与其他模式的比较


TDD、BDD、SBE和ATDD的关系

适合ATDD的条件

     测试自动化

     敏捷开发

ATDD规范性

各种模型的适应场景与要求

     1国外的业务发展模式与国内的区别

     2 BDD的适应场景,团队与人员要求

     3 TDD的适应场景,团队与人员要求

     4 ATDD的适应场景,团队与人员要求

     5 关键字的适应场景,团队与人员要求

     6 敏捷测试的适应性与发展限制

     7 分级测试的提出与互联网应对

其他工具的参考介绍

     1 框架原理与解决的问题

     2 Selenide介绍+C21

     3 Pickle、Capybara、Factory girl、Spork、Guard spork、webkit

     4 Mock工具介绍

     5 胶水层思考(如Calabash)


返回上一级