测试基础的简单讨论与单元测试相关。
首先,假设任何软件开发项目的另外两个重要部分已经到位:
- 一个源码控制系统,如 CVS、SVN、Git、Mercurial 等。
- 一个 bug 跟踪系统,比如 Bugzilla、FogBugz 等。
微软提供了这些部分与可视化源代码安全、SharePoint 和其他产品的集成。
如果你没有这些零件的和两个,现在停止。这些是一个好的可靠的单元测试过程的重要组成部分。
如果通过使用应用或失败的单元测试发现错误:
- 在 bug 跟踪器中报告 bug,并将其分配给某个人。
如果单元测试没有报告错误,但是通过使用代码(另一个开发人员或用户)发现了错误:
- 编写单元测试,验证如何创建问题(参见前面描述的“阴性测试”)。
使用您的源代码管理系统:
- 考虑专门为这个 bug 修复创建一个分支。
然后:
- 编写描述方法应该如何正确运行的单元测试。
- 修复错误并重新测试。
使用您的源代码管理系统:
- 参照 bug 跟踪器分配的 bug 编号,签入更改。
- 如果您添加了新的单元测试,请检查这些测试,再次参考错误号。
- 如果您分支了代码,请决定何时将更改合并到主分支中。
通过使用错误跟踪和版本控制系统,任何人(从经理到初级程序员)都可以轻松地查看:
- 对代码库所做的更改。
- 产生问题的单元测试。
- 解决问题的单元测试。
如果您的项目被设置为最终用户对这个级别的细节感兴趣,这将使开发团队、管理层甚至最终用户的生活变得更加容易。(例如,如果软件是为另一个部门内部开发的,其他人可能会有兴趣知道 bug 何时被修复。)
与其他技术(如 SharePoint)的集成可以促进团队成员、经理和其他部门之间的沟通。此外,使用复杂的源代码管理工具(如 Perforce)和持续集成工具(如 CruiseControl.NET)将进一步将源代码管理的使用与单元测试、集成测试、报告工具等进行集成和自动化。