如何进行桌面Java应用程序的自动验收测试?

时间:2014-01-17 20:40:10

标签: java unit-testing testing junit acceptance

我一直在考虑验收测试,并希望更清楚地了解它是如何自动化的(例如,适用于持续交付管道)。我有一个用 Java 编写的桌面应用程序,一个messenger应用程序。如果我想自动进行验收测试,我该如何解决?以下是一个示例手动测试:"当服务器崩溃时,用户A是消息传递用户B.切换到故障转移服务器,验证聊天是否可以从停止的位置恢复,并且所有聊天功能仍然可以在客户端中按预期工作"

可以 JUnit 用于这样的自动验收和系统测试吗?我也听说过 Selenium ,但我收集它只适用于网络应用程序?

我理解使用JUnit进行单元测试的概念,但我对如何自动化对桌面应用程序功能的更高级别测试感到失望。一些测试可能涉及与GUI的交互,比如向其他客户端发送消息,但其他测试涉及服务器崩溃等服务器端的事情。我一直在想,使用JUnit和应用程序的代码可能会做到这一点,可能需要一些脚本(Perl,Ruby等)来启动测试?

1 个答案:

答案 0 :(得分:2)

有几种软件解决方案需要付出代价。一些严重的是QTP(现在的UFT),TestComplete,Ranorex,SilkTest。他们都应该有试用软件。如果Java应用程序是用Swing / AWT编写的,那么Jemmy可能值得一试。正如托尼·霍普金森所提到的,AutoIt可能适合,并且使用起来非常快。 Selenium很棒,但据我所知,它只适用于网络测试。自动化UI对于自动化测试非常重要,并且由于其与最终用户的交互而补充了验收测试。单元测试重叠很多,并且可能涵盖功能集成,具体取决于您如何组织它们并拥有足够的它们,但它们是两种不同的方法,有两种不同的用途。

此外,如果您使用的是Swing,请找到可能有用的帖子:http://www.coderanch.com/t/96035/Testing/Automated-Swing-Testing