• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

浅析数据库程序的单元测试[4]

发布: 2008-7-01 11:14 | 作者: 不详 | 来源: 不详 | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网 关键字:4.一个发布数据库,或称集成数据库,用来在正式发布前进行一系列测试,从而确保对所有本地数据库的修改都得到确认。如果你一个人开发,你可以省略这个数据库,但你必须确保所有对数据结构和存储过程的修改都在实际使用数据库中得到确认。

  在有多个数据库的情况下,你要确保不同数据库间结构的同步:如果你在测试数据库中改变表的定义或存储过程,你必须记得在实际使用的服务器上进行同样的修改。发布数据库的作用就是提醒你进行这些修改。另外,我发现如果代码控制系统能将提交时的注释用邮件形式自动发给整个开发组,那将给团队开发带来较大帮助。CVS就能做到这一点,我希望你能利用这一功能。

  在合适的数据库中进行测试

  在这种情况下,你必须连接正确的数据库。在实际使用数据库中进行测试有可能删除所有的有用数据,这点令我十分害怕。

  有几种办法能避免此类悲剧的发生。例如,比较普遍的做法是将数据库连接设置记录在初始文件中,从而明确哪一个是测试数据库。你也可以通过初始文件进行本地数据库的测试,而用其他指定方法连接实际使用数据库。

  在java代码中,初始文件可能如下所示;

  myapp.db.url=jdbc:mysql://127.0.0.1/mydatabase

  这一连接字符串用来连接数据库。你可以添加第二个连接字符串来区分测试数据库:

  myapp.db.url=jdbc:mysql://127.0.0.1/mydatabase

  myapp.db.testurl=jdbc:mysql://127.0.0.1/my_test_database

  在测试代码中,你可以检查并确保在连接到测试数据库后应用程序才能继续运行:

  public void dbSetUp()

  {

  String test_db = InitProperties.get("myapp.db.testurl");

  String db = InitProperties.get("myapp.db.url");

  if (test_db == null)

  abort("No test database configured");

  if (test_db.equals(db))

  {

  // All is well: the database we're connecting to is the

  // same as the database identified as "for testing"

  }

  else

  {

  abort("Will not run tests against a non-test database");

  }

  }

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 程序 单元 浅析 数据库


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网