笔记:Automated Journey Testing with Cascade

简介:

感觉是一个很好的介绍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.

原文地址:https://www.infoq.com/articles/Cascade-Automated-Journey-Testing?utm_campaign=rightbar_v2&utm_source=infoq&utm_medium=articles_link&utm_content=link_text

相关文章
|
3月前
|
算法 数据挖掘 数据处理
文献解读-Sentieon DNAscope LongRead – A highly Accurate, Fast, and Efficient Pipeline for Germline Variant Calling from PacBio HiFi reads
PacBio® HiFi 测序是第一种提供经济、高精度长读数测序的技术,其平均读数长度超过 10kb,平均碱基准确率达到 99.8% 。在该研究中,研究者介绍了一种准确、高效的 DNAscope LongRead 管道,用于从 PacBio® HiFi 读数中调用胚系变异。DNAscope LongRead 是对 Sentieon 的 DNAscope 工具的修改和扩展,该工具曾获美国食品药品管理局(FDA)精密变异调用奖。
35 2
文献解读-Sentieon DNAscope LongRead – A highly Accurate, Fast, and Efficient Pipeline for Germline Variant Calling from PacBio HiFi reads
|
3月前
|
数据采集 人工智能 编解码
《Sora: A Review on Background, Technology, Limitations...》--Science and Technology - Reading Notes
《Sora: A Review on Background, Technology, Limitations...》--Science and Technology - Reading Notes
43 0
《How Customers Are Using the IBM Data Science Experience-Expected Cases and Not So Expected Ones》电子版地
How Customers Are Using the IBM Data Science Experience-Expected Cases and Not So Expected Ones
《How Customers Are Using the IBM Data Science Experience-Expected Cases and Not So Expected Ones》电子版地
|
机器学习/深度学习 数据采集 人工智能
Re10:读论文 Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous gr
Re10:读论文 Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous gr
Re10:读论文 Are we really making much progress? Revisiting, benchmarking, and refining heterogeneous gr
|
SQL 编译器 API
Efficiently Compiling Efficient Query Plans for Modern Hardware 论文解读
这应该是SQL查询编译的一篇经典文章了,作者是著名的Thomas Neumann,主要讲解了TUM的HyPer数据库中对于CodeGen的应用。 在morsel-driven那篇paper 中,介绍了HyPer的整个执行框架,会以task为单位处理一个morsel的数据,而执行的处理逻辑(一个pipeline job)就被编译为一个函数。这篇paper则具体讲如何实现动态编译。
465 0
Efficiently Compiling Efficient Query Plans for Modern Hardware 论文解读
|
Linux Windows
6 Effective Methods to Learn New Technologies Faster
Technology is always evolving, and developers need to learn new products and languages faster to cope with these changes.
6292 0
6 Effective Methods to Learn New Technologies Faster
|
数据库
When Tech Meets Love – Smarter Ways to NOT be Single
It’s that time of year again. Single’s Day (a.k.a Double 11) is just around the corner, people buying gifts for loved ones.
1642 0
When Tech Meets Love – Smarter Ways to NOT be Single
|
算法
Reading《Practical lessons from predicting clicks on Ads at Facebook》(1)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_32502811/article/details/80794980 因为在做京东的算法大赛,小白选手,看了一些别人的入门级程序,胡乱改了一通,也没有什么大的进展,而且感觉比赛的问题和点击率预估还是有点像的,所以搜了个论文来读,看看牛人们的思路。
2279 0