持续测试
-
测试的频率发生变化
1.以前瀑布模式会根据日期,比如按月进行测试。现在需要根据需求变更以后按照天来进行测试变更
2.测试类型发生变化,根据发布时间的变化,需要对所有小版本进行测试
3.提测版本的发布以后,可以根据需求进行测试,不需要对所有的版本进行测试
4.所有的版本指的是能够测试所有的测试,对测试内容也会对所有功能进行测试
5.DevOps下面会在生产环境进行测试,因为有时候发版本的时候有可能来不及在测试环境进行测试
高速测试
- 提高执行速度
1.分布式执行,比如Selenium Grid进行分布自动化脚本测试
2.提高执行机性能,比如在执行机增加硬件配置,增加执行机的数量等
分布式测试的难点
如何动态管理负载机
1.将机器使用云服务管理
2.使用Docker进行布置如何动态分配测试脚本
1.并行执行 (不同配置)
2.并行执行(不同用例)
3.如果要并行执行的话,就需要将用例独立性,数据脚本前后依赖性
做到分层自动化
- UI的成本最高
- Unit测试一般是有开发人员完成
改良服务架构
- 做接口测试,在API, HTTP 层级
- 在客户端做Clinet测试,比如Selenium
-
在移动端做appium测试
微服务架构是如何做的
- 在函数级别做到调用测试
- 微服务基于RPC,拆分成各个单元
-
基于RPC层的接口测试,又可以拆分成方法级别,又可以基于协议级别
如何做到分层
交互层
1.页面的交互逻辑组合
1.接口-
逻辑实现
1.单元逻辑
2.数据库查询
深入分层测试
-
UI自动化的目标是在JS交互跟用户操作上面
如何有效测试
- 解决分布式测试
- 解决分层测试
- 解决数据依赖关系
- 测试影响的部分,需要规范化,比如代码上传,比如说明文档,比如提示信息
- 精准测试,构建覆盖率染色体系,一句不懂的语句。关键字:Jacoco
端到端自动化
- ATDD
- BDD
-
TDD
什么是BDD(行为驱动开发)
行为驱动开发(BDD)是测试驱动开发的延伸,开发使用简单的,特定于领域的脚本语言。这些DSL将结构化自然语言语句转换为可执行测试。结果是与给定功能的验收标准以及用于验证该功能的测试之间的关系更密切。因此,它一般是测试驱动开发(TDD)测试的自然延伸
- 最有名的框架是Cucumber
什么是ATDD(验收测试驱动开发)
微服务下的测试分层
- DecOps下的灰度测试
- 如果没有多层次的测试环境,将分层测试中只做单元测试及接口测试
-
生产环境也可以做测试
生产化测试
- 比如在生产环境下面测试,类似发优惠券,更改商品价格,数量
- 比如不同权限发放一些优惠活动
生产测试的内容
生产环境下的QA就是利用系统在生产环境的不可预测性,通过监控预警等方式手机生产环境的信息,总结分析以指导软件开发和测试过程,从而提高软件系统的健壮性,优化业务价值。
总结
分层自动化
1.认识被测对象的分层
2.如何做好分层自动化
3.确定并定义好分层标准
4.分层自动化的测试阶段应该使用什么测试方法端到端的自动化
1.BDD,TDD,ATDD概念及业务场景生产化测试
1.测试环境及测试数据
2.生产测试的难度
3.生产测试的意义及优势