8

我想学习如何构建旨在自我测试的“强大”软件。换句话说,我如何在我的软件中实现自动化测试(使用 java 或 groovy 或 c++ )。

所以我想知道在哪里学习这个(书籍或网站)以及我需要哪些工具和图书馆?

4

7 回答 7

5
  • 面向初学者的通用 TDD:Kent Beck:通过示例进行测试驱动开发
  • 通用单元测试参考:Gerard Meszaros:xUnit 测试模式:重构测试代码
  • 用于新建项目的 TDD:Steve Freeman,Nat Pryce:不断发展的面向对象软件,以测试为指导
  • 用于棕地项目的 TDD:Micheal Feathers:有效地使用旧代码
  • 测试问题问答:http: //www.stackoverflow.com
  • 软件列表(向下滚动)
于 2010-01-17T17:19:41.493 回答
2

除了前面提到的测试驱动开发 (TDD) 技术之外,您还可以看一下按合同设计,这是另一种技术,基本上,在生产代码中添加断言以在运行时验证合同条款(输入、输出和组件之间的不变量)得到尊重。在交付软件时,可以删除或保留这些断言。

我想补充我的答案,以明确 TDD 不会导致“旨在测试自身的软件”,而是一些软件 - 单元测试套件,与生产代码一起发展,可以测试另一款软件.

于 2010-01-18T07:50:43.347 回答
1

一个好的起点是http://www.codeproject.com/KB/cs/autp1.aspx

于 2011-11-13T09:02:44.993 回答
0

查看 xUnit 测试框架(用于 C++ 的cppUnit ,用于 Java 的JUnit)并查看精彩的书xUnit 测试模式:重构测试代码

如果您真的想深入了解它,请查看测试驱动开发。一个很好的介绍是鲍勃叔叔的 TDD 的三定律保龄球游戏 kata(另请参阅保龄球游戏插曲)。一本关于这个主题的好书是测试驱动开发:通过示例

于 2010-01-17T17:15:49.557 回答
0

JUnit,Java 的自动化测试工具,是真正启动的工具。 JUnit 站点是一个很好的起点。它收集了许多文章和测试工具的链接。

于 2010-01-17T17:17:42.573 回答
0

我不知道“测试自己”部分,但我的第一个想法是阅读测试驱动开发(http://en.wikipedia.org/wiki/Test-driven_development)并查看 JUnit。

于 2010-01-17T17:18:34.693 回答
0

我发现Roy Osherove 的 The Art of Unit Testing对理解单元测试、整数测试、TDD 等基础知识非常有帮助。它有点为 .Net 语言量身定制,但它也提供了关于自动化测试背后想法的非常好的信息。

于 2010-01-18T07:59:13.437 回答