如何测试WinForms应用程序

3
我们的.NET应用程序基于Winforms。该应用程序控制不同的仪器,并且大部分行为都被很好地存根以实现单元测试。我们经常遇到的一个问题是由于(错误使用)GUI而引起的问题。错误处理控件事件或意外选择列表框中不存在的项目。以下是我需要帮助的示例:
我们有一个网格控件供用户选择项目。当用户选择特定项目时,这应该会更新我们模型中的'activeItem'。现在我们发现这里有一个错误,因为当用户使用快捷键选择网格控件中的最后一个项目时,它没有更新控件。当然,这是由我们在编程中犯的错误导致的,但是我该如何测试此GUI行为呢?以便我们确定,如果有人更改了网格控件,它仍按预期工作。这可以通过普通的单元测试来完成吗,还是我完全错了?
谢谢, Erik
2个回答

4
在我们的软件中,我们有一些单元测试用例,它们实例化表单并对其执行操作,然后检查模型的状态是否符合预期。因此,在这方面上,是的,你可以通过单元测试来完成。然而,我们也发现更改UI界面会很容易破坏这些测试,并且需要进行相当多的维护工作。有自动化测试框架可以使您的生活更轻松,我已经简要地了解了WhiteNUnitForms,但还没有深入使用过它们。欢迎分享你的经验。

2
据我所见,这部分测试通常由自动化测试软件处理,例如TestCompleteQTP。大多数自动化软件允许您记录一组应执行的操作,然后指定在重放操作时将检查的期望结果。
但是,学习此类软件通常是与开发生产代码或手动软件测试不同的技能,因此在我们公司中,我们有专门的职位招聘自动化QA工程师。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接