使用VisualStudio2005TeamSystem进行单元测试[2] 软件测试
UI:
“您使用 XML 文档了吗?”
中间层:
“在构造函数中,但许多方法都不使用。”
UI:
“显示如何创建、执行并删除对象的示例代码,怎么样?”
中间层:
“我已经附加了一个示例 WinForms 应用程序(从我的工作区),它应该能够提供一些您所需的内容……,虽然它不在 Microsoft Visual SourceSafe 中。”
在考虑如何进行这样有趣的 项目之后,您打定了主意,决定检验中间层的单元测试套件。在深入钻研该代码之后,您注意到该窗体有两个未标记的文本框,以及三个标记为 button1、button2 和 button3 的按钮(幸运的话,它们将排列在窗体上)。接下来,在查看与这些按钮相关的事件之后,您认识到这些代码都未经注释,并且数据变量都被命名为 x、y、z。如果幸运,您还会注意到 button1 和 button2 执行该对象的 Save() 方法,而 button3 执行 Delete() 方法。执行时,您会接收到很多 System.Exception 错误,这是因为遗漏了很多配置设置。
这显然是一个特例,我希望多数开发团队不要进行这一试验,下面让我们看一下该方案中“单元测试”遇到的问题:
"
这种形式的单元测试代码不是结构化的:代码充斥到按钮单击事件中并且难以编译。
"
这种形式的单元测试代码记录得不太好。
"
这种形式的单元测试并不基于“已知”为好或坏的数据 — 它完全依赖于输入到那些未标记的文本框的内容。
"
单元测试代码不能自动重复,它基于输入的代码。