系统测试桌面应用程序

时间:2009-11-16 20:40:50

标签: c# visual-studio-2008 testing system-testing

我有一个用C#编写的桌面应用程序,使用VS2008 Pro创建,并使用Nunit框架和VS2008的Testdriven.net插件进行单元测试。我需要对应用程序进行系统测试。

我以前使用Bad Boy和Selenium插件为Firefox做过网络系统测试,但我是Visual Studio和C#的新手。

如果有人可以就此分享他们的建议,我将不胜感激。

5 个答案:

答案 0 :(得分:2)

系统测试可能需要通过UI完成。这为您提供了两个选项:

1)您可以通过单击元素手动执行测试用例。 2)您可以通过针对UI进行编程来自动化测试用例。有很多商业工具可以做到这一点,或者您可以使用像Microsoft UI Automation Framework这样的编程框架。这些往往使用Windows内置的辅助功能API来访问您的UI。

无论您使用手动还是自动路线,都取决于您运行测试的次数。如果您只是要运行一次或两次,请不要花时间自动化。你永远不会赚回来。如果你要经常运行它们,自动化可以非常方便。

提醒一句:自动化UI并不难,但它非常脆弱。如果应用程序发生了很大变化,那么测试将需要大量维护。

答案 1 :(得分:1)

正如Thomas Owens对您的问题发表评论,首先您必须决定要进行哪种系统测试。但假设您想要从功能系统测试开始。准备要自动化的用例。比你必须找到合适的工具。

刚开始:
AtoIT - 不是测试雾化工具,但它可以自动执行某些任务。所以你可以记录/编写用例。不是真的推荐,但可以做到。
HP QuickTestPro - 可以通过录制/脚本轻松完成此工具,但价格昂贵,因此可能不值得个人使用。
IBM Robot - 作为HP QTP Powershell - 您可以在PowerShell中编写脚本并执行它们。如果您将使用专用的类似ide的工具进行powershell,您也可以记录测试。我通过PowerShell做了一些网络自动化,但它确实有效。通过一些工作,您可以在桌面应用程序周围编写脚本。

最好是尝试不同的工具,并使用最适合您的工具。试试this linkthis link

答案 2 :(得分:0)

系统测试通常包含用例,端到端场景和真人执行的其他脚本函数。这些测试不适合自动化,因为他们要求您的单元测试齿轮相互协作。您可能对“螺母”和“扳手”进行了很好的单元测试,但只有全面的系统测试才会告诉您是否有适合当前螺母的尺寸扳手,如何从/向抽屉选择/返回等等。

简而言之 - 手动测试。

答案 3 :(得分:0)

如果你愿意放钱,你可以看一下像TestComplete这样的东西。

虽然我还没有真正使用它(我们公司只是买了它),但似乎相当不错。您可以记录点击次数和按键和内容,定义成功标准,并在以后重播测试。 UI更改似乎很聪明 - 它会记住您点击的按钮,而不仅仅是每次点击的(x,y)。

它是可编写脚本的,或可拖放编程。

我不以任何方式加入,这不是认可,因为我还没有真正形成对此的意见。

答案 4 :(得分:0)

也许NUnitForms可能对你有用吗?