我们的.NET应用程序基于Winforms。该应用程序控制不同的仪器,并且大部分行为都很好地存根以实现单元测试。我们多次遇到的一件事是由(错误地使用)GUI引起的问题。错误地处理控件事件或意外选择列表框中不存在的项目。这将是我希望得到一些帮助的例子:
我们有一个用户用来选择项目的gridcontrol。当用户选择某个项目时,这应该更新我们模型中的“activeItem”。现在我们发现这里有一个错误,因为当用户使用快捷方式选择gridcontrol中的最后一项时,它没有更新控件。当然这是由我们在编程中犯的错误引起的,但我怎么能测试这个GUI行为。因此,我们确信,如果有人更改了网格控制,它仍然可以按预期工作。这可以通过正常的单元测试完成,还是我完全错了?
谢谢,
埃里克
答案 0 :(得分:4)
在我们的软件中,我们有一些单元测试,它们实例化表单并对它们执行操作,然后检查模型的状态是否符合预期。所以在这方面 - 是的,你可以用单元测试来做。然而,我们还发现通过更改UI来破坏这些测试很容易,并且可能涉及相当多的维护。周围有自动化测试框架,可以让您的生活更轻松。我简要介绍了White和NUnitForms但尚未对它们做过多少工作。随意分享您的经验。
答案 1 :(得分:0)
据我所见,这部分测试通常由自动测试软件处理,例如TestComplete或QTP。大多数自动化软件允许您记录应该完成的一组操作,然后指定在重放操作时将检查的期望。
但是,学习这样一个软件通常是一个单独的技能,而不是开发生产代码或手动软件测试,所以在我们公司,例如我们有自动化QA工程师的单独职位。