我有一个使用 VS2008 Pro 创建的用 C# 编写的桌面应用程序,并使用 Nunit 框架和用于 VS2008 的 Testdriven.net 插件进行了单元测试。我需要对应用程序进行系统测试。
我之前使用 Bad Boy 和 Selenium 插件为 Firefox 完成了基于 Web 的系统测试,但我是 Visual Studio 和 C# 的新手。
如果有人可以分享他们对此的建议,我将不胜感激。
我有一个使用 VS2008 Pro 创建的用 C# 编写的桌面应用程序,并使用 Nunit 框架和用于 VS2008 的 Testdriven.net 插件进行了单元测试。我需要对应用程序进行系统测试。
我之前使用 Bad Boy 和 Selenium 插件为 Firefox 完成了基于 Web 的系统测试,但我是 Visual Studio 和 C# 的新手。
如果有人可以分享他们对此的建议,我将不胜感激。
系统测试可能需要通过 UI 完成。这为您提供了两种选择:
1)您可以通过单击元素手动执行测试用例。2)您可以通过针对 UI 进行编程来自动化测试用例。有很多商业工具可以做到这一点,或者您可以使用像Microsoft UI 自动化框架这样的编程框架。这些倾向于使用 Windows 中内置的可访问性 API 来访问您的 UI。
您是走手动还是自动路线取决于您将运行测试的次数。如果您只打算运行一次或两次,请不要花时间自动化。你永远不会赚回来。如果您要经常运行它们,自动化会非常方便。
提醒一句:自动化 UI 并不难,但非常脆弱。如果应用程序发生很大变化,则测试将需要大量维护。
正如 Thomas Owens 对您的问题所评论的那样,首先您必须决定要进行哪种系统测试。但是假设您想从功能系统测试开始。准备要自动化的用例。比你必须找到合适的工具。
刚刚开始:
AtoIT——不是测试原子化工具,但它可以让一些任务自动化。所以你可以记录/编写用例。不是很推荐,但可以做到。
HP QuickTestPro – 可以通过录制/脚本轻松使用此工具完成,但价格昂贵,因此可能不值得个人使用。
IBM 机器人 – 作为 HP QTP。
Powershell – 您可以在 powershell 中编写脚本并执行它们。如果您对 powershell 使用类似 ide 的专用工具,您也可以记录测试。我通过 powershell 做了一些网络自动化,它工作了。通过一些工作,您可能可以围绕您的桌面应用程序编写脚本。
如果你愿意把钱放下,你可以看看TestComplete 之类的东西。
虽然我还没有真正使用过(我们公司刚买的),但看起来还不错。您可以记录点击和按键等内容,定义成功标准,稍后它将为您重播测试。它似乎对 UI 更改非常聪明 - 它记住您单击了哪个按钮,而不仅仅是每次单击的 (x,y)。
它是可编写脚本的,或拖放可编程的。
我没有任何隶属关系,这也不是一种认可,因为我还没有真正形成对它的看法。
系统测试通常具有用例、端到端场景和其他由真人执行的脚本功能。这些测试不适合自动化,因为它们要求您的单元测试齿轮相互配合。您可能对您的“螺母”和“扳手”进行了很好的单元测试,但只有全面的系统测试才能让您知道您手头的螺母是否有合适尺寸的扳手,如何从抽屉中选择/返回它, ETC。
简而言之 - 手动测试。
也许NUnitForms对您有用?