有没有人致力于测试作为 NOSQL 分布式数据库的 Cassandra DB?执行此操作时需要考虑哪些重要事项?
像分布式 Cassandra 一样测试 NOSQL DB
软件测试
测试管理
测试创建
2022-01-15 17:36:32
2个回答
您真正需要感兴趣的是单独测试每个组件。
集成级别及以上的测试变得更具挑战性。如果您使用的是自动化测试,那么这些测试不能依赖于将数据放入数据库并期望它立即存在。您需要等待一个复制时间,这可能会显着减慢测试速度。虽然不太可能,但如果数据库之间的连接中断,这可能会超过 30 秒左右。
我会采用的一种方法是重点关注对每个组件进行单元测试,并模拟数据层。这将允许您确保应用程序的其余部分正常运行。
这使您可以确定数据访问层是否正常运行。为此,从 UI 驱动它的一次性应用程序将帮助您确定应用程序是否正在从 NOSQL 数据库写入和读取数据。您可能还想编写一小组集成测试来自动为您检查。
本质上,您将遇到的主要问题是数据库之间的数据复制。您还需要记住,在某些情况下,有人可以删除一个节点上的记录,而其他人可以在删除事件未复制的情况下在另一个节点上编辑它。你的应用程序处理这个吗?
刚开始玩no-sql的一种实现,所以我只能给你建议是我的猜测+实际上我不是QA工程师,所以建议不是正式的。但是,希望它会有所帮助。
那么,需要注意什么:
- 最终一致性(使数据在写入时保持一致所需的时间是可接受的);
- 故障安全(如果其中一个,比如说 5,节点下降,数据将保持活动状态);
- 具有传递循环引用的方案(例如,db 如何与A -> B、B -> C和C -> A 之类的东西一起使用。当我尝试检索此类数据时,使用的 Db 有时会失败);
也许以后我会记得更多要检查的东西......
其它你可能感兴趣的问题