博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笔记:Automated Journey Testing with Cascade
阅读量:7223 次
发布时间:2019-06-29

本文共 2171 字,大约阅读时间需要 7 分钟。

感觉是一个很好的介绍Cascade的文章。

Key Takeaways

The problem of testing a system is becoming harder as we have larger teams, as we have more processes and as we adopt microservices architecture.(是的,微服务要背锅)
The testing problem is fundamentally different moving forward. We have less capability for testing specific functional points that we do in the unit test environment.
We are cursed by very costly network calls. And we can't escape this issue, unless you homogenise your tech stack and abstract out the network calls.
We need new tools for dealing with these state machines.The state machine is intrinsically beautiful.
We should take advantage of it.

然后用了很大篇幅分析测试中的问题,最后聚焦在下面两个原因:

Too many developers trying to access the same codebase.(过多的开发人员试图去访问同一代码块。)
The code takes too long to validate, so the semaphore doesn't clear quickly enough.(代码验证需要过长的时间,信号灯不能尽快地清空。)
提出:如果能缓解其中任一子问题,那么该问题就会迎刃而解。

解决方案:

1,将开发人员分为团队
2,优化测试案例的编排(我的理解),引入Cascade框架
Cascade主要面对的问题

What do we call these tests? They no longer focus on a particular requirement, but rather meet multiple requirements in one go.How do we identify gaps? How do we know what we have missed?How do we identify what scripts are redundant? If we have a new requirement, how can we know where to insert these new assertions?

Cascade特点:

我们将构成一个过程的每个步骤分别定义为独立的类。进而Cascade框架将可从中管理并生成测试。在Cascade框架中,广泛地使用了标注。步骤是维护在不同的文件中的,每个步骤文件用@Step标注。数据采用一种IoC形式在步骤间共享,使用了@Supplies和@Demands标注。生命周期方法标注为@Given、@When和@Then方法。状态机的建模,可以在测试报告中生成图Cascase可以选择性地运行特定的测试或组测试Cascade可以使用算法最小化测试集Cascade可以命名过程测试Cascade可使用多种方法最小化测试集Cascade可以关注测试的覆盖情况

总结:

The problem of testing a system is becoming harder as we have larger teams, as we have more processes and as we adopt microservices architecture.
The testing problem is fundamentally different moving forward. We have less capability for testing specific functional points that we do in the unit test environment.
We are cursed by very costly network calls. And we can't escape this issue, unless you homogenise your tech stack and abstract out the network calls.
We need new tools for dealing with these state machines.
The state machine is intrinsically beautiful. We should take advantage of it.

原文地址:

转载地址:http://bkufm.baihongyu.com/

你可能感兴趣的文章
Mysql,SqlServer,Oracle主键自动增长的设置
查看>>
开源 java CMS - FreeCMS2.3会员登录
查看>>
malloc(0)的返回值
查看>>
析构方法、克隆对象
查看>>
Python字符编码详解
查看>>
Android开发 Firebase动态链接打开APP
查看>>
基于 HTML5 Canvas 的 3D 模型贴图问题
查看>>
让技术不要成为“背锅侠”!
查看>>
dubbo源码分析系列——dubbo的SPI机制源码分析
查看>>
表格单元格td设置宽度无效的解决办法
查看>>
防止视频资源被下载
查看>>
都是并发惹的祸
查看>>
eclipse实现JavaWeb项目 增量打包
查看>>
面试题系列一之 程序生命周期
查看>>
设计模式——观察者模式:气象监测应用
查看>>
NSUserDefaults简介及如何使用 NSUserDefaults 存储自定义对象
查看>>
IntelliJ IDEA搭建SpringBoot
查看>>
深入浅出iOS事件机制
查看>>
hadoop理解
查看>>
Oracle——18用户、角色和权限信息的视图总结
查看>>