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

相关文章
|
2月前
|
数据采集 人工智能 编解码
《Sora: A Review on Background, Technology, Limitations...》--Science and Technology - Reading Notes
《Sora: A Review on Background, Technology, Limitations...》--Science and Technology - Reading Notes
34 0
|
机器学习/深度学习 数据采集 人工智能
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
|
数据库
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.
1634 0
When Tech Meets Love – Smarter Ways to NOT be Single
|
SQL 安全
Protecting Websites through Semantics-Based Malware Detection
Malware detection is a fundamental feature of web security and serves as the first line of defense for most websites.
1373 0
SAP SD Material Determination - Substitution Reasons (替换原因)
SAP SD Material Determination - Substitution Reasons (替换原因)   ...
2149 0
|
自然语言处理 Go 消息中间件
(转)Three challenges you’re going to face when building a chatbot
    转自:https://blog.infermedica.com/three-challenges-youre-going-to-face-when-building-a-chatbot/   Three challenges you’re going to face when building a chatbot Adam Radziszewski on Dec.