如果没有UI,我知道验收测试驱动的开发仍然可以针对API等执行(如果你愿意的话,这是一种无头的垂直切片开发和测试),但是我们在哪里划定我们正在测试的事物的界限(我知道,我know...it依赖!)
我们应该采用端到端测试还是组件式测试?或者两者兼而有之(如果是后者,我们如何处理测试中出现的问题?)
给定一个REST,该API创建要异步使用的命令,消息传递端点基于命令执行某些操作,这些操作都驻留在同一个Microservice中。在我看来,边界位于REST的输入和消息端点的输出。
从Microservice的角度来看,我可以推送一个请求并从后面获取一条消息(模拟与最近的邻居的交互),使我在端到端的样式测试中处于结束状态,并且已经这样做了。但是这个缺点是我们开始创建一个小时的玻璃而不是一个测试三角形,如果我要ATDD所有这样的特性。这是一种公平的批评
对于不执行昂贵的HTTP调用、消息传递或数据库(这是非常公平的)已经出现了一点争论,这更像是端到端的测试风格(例如GOOS中最喜欢的),而是使用组件风格的测试,但是这样做会忽略消息传递方面,除非消息传递的测试双执行非常聪明。
有没有人有任何方法的经验,或考虑。
发布于 2017-11-05 15:50:33
根据我的经验,对于测试驾驶的每个用例,您可以通过以下ATDD方法实现良好的平衡:
https://sqa.stackexchange.com/questions/24795
复制相似问题