笔记: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

相关文章
|
9月前
|
算法 Linux Shell
SGAT丨Single Gene Analysis Tool
SGAT丨Single Gene Analysis Tool
|
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则具体讲如何实现动态编译。
374 0
Efficiently Compiling Efficient Query Plans for Modern Hardware 论文解读
|
算法
Reading《Practical lessons from predicting clicks on Ads at Facebook》(1)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_32502811/article/details/80794980 因为在做京东的算法大赛,小白选手,看了一些别人的入门级程序,胡乱改了一通,也没有什么大的进展,而且感觉比赛的问题和点击率预估还是有点像的,所以搜了个论文来读,看看牛人们的思路。
2240 0
|
人工智能 自然语言处理 搜索推荐
|
CDN
Building an Industry Information Website
Object Storage Server (OSS) is a massive, secure, low-cost and highly reliable distributed storage service offered by Alibaba Cloud.
1529 0
Building an Industry Information Website