【发布时间】:2013-09-13 14:37:13
【问题描述】:
我公司的软件开发团队使用 TDD 和 BDD 实践进行开发。因此,我们有大量的单元、集成和验收测试来让我们知道我们的代码库是否按预期工作。不用说,如果没有这些测试给我们不断的反馈,我们现在就活不下去了。
我们团队的开发 DBA 编写具有复杂逻辑的表视图。他在没有单元测试的情况下开发这些,并且在他进行后续开发时总是会中断,从而导致软件开发团队感到沮丧。
我的问题是,是否鼓励 DBA 在敏捷环境中工作时使用 TDD 实践? DBA 是否有测试框架允许他们以这种方式工作?我们使用 IBM 的 DB2 数据库;该数据库是否有任何测试框架允许以 TDD 方式开发数据库视图?
【问题讨论】:
-
据我所知,没有用于数据库测试的框架,但我想您的 DAO(或您正在使用的任何数据库抽象方法)单元测试应该很好地涵盖数据库更改。跨度>
-
有用于数据库的单元测试框架,例如tSQLt 并在SQL Server 2012 中引入了一个框架。然而,我最近交谈过的大多数 DBA 似乎没有像软件开发人员那样使用尽可能多的敏捷实践(也许我没有与正确的 DBA 交谈!)。至于测试我们的 DAO/DAL,我们使用集成测试来实现这一点,但正如我所说,这篇文章旨在了解 DBA 是否也使用单元测试在 Scrum Sprint 的开发人员(例如)之前发现错误。
-
我想知道如何测试视图?你打算在执行时“断言”什么定义或值?
-
@AngocA 我使用的 DBA 创建视图,其中一些列保存通过处理其他相关表中的数据计算的值。因此,对视图的测试可能是断言某些视图列值符合预期。
-
@Fresh 据我了解您的评论,您真正想要断言的是查询视图的结果集,而不是视图本身,因为它没有数据。我说的对吗?
标签: unit-testing view db2 tdd agile